├── .gitattributes ├── .gitignore ├── README.md ├── accounts ├── __init__.py ├── admin.py ├── decorators.py ├── migrations │ ├── 0001_initial.py │ ├── 0002_remove_user_password.py │ ├── 0003_user_password.py │ ├── 0004_auto_20161118_1341.py │ └── __init__.py ├── models.py ├── tests.py ├── urls.py └── views.py ├── assetmanage ├── __init__.py ├── admin.py ├── migrations │ ├── 0001_initial.py │ ├── 0002_auto_20160819_1345.py │ ├── 0003_auto_20160821_1302.py │ ├── 0004_auto_20161011_1831.py │ ├── 0005_auto_20161011_1837.py │ ├── 0006_auto_20161011_1850.py │ ├── 0007_auto_20161011_1854.py │ ├── 0008_auto_20161011_1901.py │ ├── 0009_auto_20161011_1905.py │ ├── 0010_auto_20161011_1915.py │ ├── 0011_auto_20161104_1116.py │ ├── 0012_networkinfo.py │ ├── 0013_auto_20170213_1528.py │ ├── 0014_auto_20170213_1528.py │ └── __init__.py ├── models.py ├── tests.py ├── urls.py └── views.py ├── autodeploy ├── __init__.py ├── admin.py ├── migrations │ └── __init__.py ├── models.py ├── tests.py ├── urls.py └── views.py ├── collected_static └── text.txt ├── file.py ├── fourthgen ├── __init__.py ├── settings.py ├── urls.py └── wsgi.py ├── manage.py ├── reload ├── requirements.txt ├── saltstack ├── __init__.py ├── admin.py ├── migrations │ └── __init__.py ├── models.py ├── saltapi.py ├── tests.py ├── urls.py └── views.py ├── screenshots ├── ._Associated_virtual_host.jpg ├── ._Associated_virtual_host_con.jpg ├── ._autodeploy_app.jpg ├── ._autodeploy_compute.jpg ├── ._login.jpg ├── ._minion_auth_man.jpg ├── ._out_minion_arg.jpg ├── ._physical_server_add_result.jpg ├── ._physical_server_details_info.jpg ├── ._physical_server_info.jpg ├── ._remote_execute_shell.jpg ├── ._remote_execute_state.jpg ├── ._server_info_add.jpg ├── ._virtual_host_info.jpg ├── Associated_virtual_host.jpg ├── Associated_virtual_host_con.jpg ├── autodeploy_app.jpg ├── autodeploy_compute.jpg ├── login.jpg ├── minion_auth_man.jpg ├── out_minion_arg.jpg ├── physical_server_add_result.jpg ├── physical_server_details_info.jpg ├── physical_server_info.jpg ├── remote_execute_shell.jpg ├── remote_execute_state.jpg ├── server_info_add.jpg └── virtual_host_info.jpg ├── static ├── LICENSE ├── README.md ├── bower.json ├── bower_components │ ├── bootstrap-social │ │ ├── .bower.json │ │ ├── .editorconfig │ │ ├── .gitignore │ │ ├── README.md │ │ ├── bootstrap-social.css │ │ ├── bootstrap-social.less │ │ ├── bootstrap-social.scss │ │ └── bower.json │ ├── bootstrap │ │ ├── .bower.json │ │ ├── CHANGELOG.md │ │ ├── Gruntfile.js │ │ ├── LICENSE │ │ ├── README.md │ │ ├── bower.json │ │ ├── dist │ │ │ ├── css │ │ │ │ ├── bootstrap-theme.css │ │ │ │ ├── bootstrap-theme.css.map │ │ │ │ ├── bootstrap-theme.min.css │ │ │ │ ├── bootstrap-theme.min.css.map │ │ │ │ ├── bootstrap.css │ │ │ │ ├── bootstrap.css.map │ │ │ │ ├── bootstrap.min.css │ │ │ │ └── bootstrap.min.css.map │ │ │ ├── fonts │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ │ └── glyphicons-halflings-regular.woff2 │ │ │ └── js │ │ │ │ ├── bootstrap.js │ │ │ │ ├── bootstrap.min.js │ │ │ │ └── npm.js │ │ ├── fonts │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ └── glyphicons-halflings-regular.woff2 │ │ ├── grunt │ │ │ ├── .jshintrc │ │ │ ├── bs-commonjs-generator.js │ │ │ ├── bs-glyphicons-data-generator.js │ │ │ ├── bs-lessdoc-parser.js │ │ │ ├── bs-raw-files-generator.js │ │ │ ├── configBridge.json │ │ │ └── sauce_browsers.yml │ │ ├── js │ │ │ ├── .jscsrc │ │ │ ├── .jshintrc │ │ │ ├── affix.js │ │ │ ├── alert.js │ │ │ ├── button.js │ │ │ ├── carousel.js │ │ │ ├── collapse.js │ │ │ ├── dropdown.js │ │ │ ├── modal.js │ │ │ ├── popover.js │ │ │ ├── scrollspy.js │ │ │ ├── tab.js │ │ │ ├── tooltip.js │ │ │ └── transition.js │ │ ├── less │ │ │ ├── .csscomb.json │ │ │ ├── .csslintrc │ │ │ ├── alerts.less │ │ │ ├── badges.less │ │ │ ├── bootstrap.less │ │ │ ├── breadcrumbs.less │ │ │ ├── button-groups.less │ │ │ ├── buttons.less │ │ │ ├── carousel.less │ │ │ ├── close.less │ │ │ ├── code.less │ │ │ ├── component-animations.less │ │ │ ├── dropdowns.less │ │ │ ├── forms.less │ │ │ ├── glyphicons.less │ │ │ ├── grid.less │ │ │ ├── input-groups.less │ │ │ ├── jumbotron.less │ │ │ ├── labels.less │ │ │ ├── list-group.less │ │ │ ├── media.less │ │ │ ├── mixins.less │ │ │ ├── mixins │ │ │ │ ├── alerts.less │ │ │ │ ├── background-variant.less │ │ │ │ ├── border-radius.less │ │ │ │ ├── buttons.less │ │ │ │ ├── center-block.less │ │ │ │ ├── clearfix.less │ │ │ │ ├── forms.less │ │ │ │ ├── gradients.less │ │ │ │ ├── grid-framework.less │ │ │ │ ├── grid.less │ │ │ │ ├── hide-text.less │ │ │ │ ├── image.less │ │ │ │ ├── labels.less │ │ │ │ ├── list-group.less │ │ │ │ ├── nav-divider.less │ │ │ │ ├── nav-vertical-align.less │ │ │ │ ├── opacity.less │ │ │ │ ├── pagination.less │ │ │ │ ├── panels.less │ │ │ │ ├── progress-bar.less │ │ │ │ ├── reset-filter.less │ │ │ │ ├── reset-text.less │ │ │ │ ├── resize.less │ │ │ │ ├── responsive-visibility.less │ │ │ │ ├── size.less │ │ │ │ ├── tab-focus.less │ │ │ │ ├── table-row.less │ │ │ │ ├── text-emphasis.less │ │ │ │ ├── text-overflow.less │ │ │ │ └── vendor-prefixes.less │ │ │ ├── modals.less │ │ │ ├── navbar.less │ │ │ ├── navs.less │ │ │ ├── normalize.less │ │ │ ├── pager.less │ │ │ ├── pagination.less │ │ │ ├── panels.less │ │ │ ├── popovers.less │ │ │ ├── print.less │ │ │ ├── progress-bars.less │ │ │ ├── responsive-embed.less │ │ │ ├── responsive-utilities.less │ │ │ ├── scaffolding.less │ │ │ ├── tables.less │ │ │ ├── theme.less │ │ │ ├── thumbnails.less │ │ │ ├── tooltip.less │ │ │ ├── type.less │ │ │ ├── utilities.less │ │ │ ├── variables.less │ │ │ └── wells.less │ │ ├── nuget │ │ │ ├── MyGet.ps1 │ │ │ ├── bootstrap.less.nuspec │ │ │ └── bootstrap.nuspec │ │ ├── package.js │ │ └── package.json │ ├── datatables-plugins │ │ ├── .bower.json │ │ ├── README.md │ │ ├── api │ │ │ ├── average().js │ │ │ ├── column().title().js │ │ │ ├── columns().order().js │ │ │ ├── fnAddDataAndDisplay.js │ │ │ ├── fnAddTr.js │ │ │ ├── fnColumnIndexToVisible.js │ │ │ ├── fnDataUpdate.js │ │ │ ├── fnDisplayRow.js │ │ │ ├── fnDisplayStart.js │ │ │ ├── fnFakeRowspan.js │ │ │ ├── fnFilterAll.js │ │ │ ├── fnFilterClear.js │ │ │ ├── fnFilterOnReturn.js │ │ │ ├── fnFindCellRowIndexes.js │ │ │ ├── fnFindCellRowNodes.js │ │ │ ├── fnGetAdjacentTr.js │ │ │ ├── fnGetColumnData.js │ │ │ ├── fnGetColumnIndex.js │ │ │ ├── fnGetHiddenNodes.js │ │ │ ├── fnGetTd.js │ │ │ ├── fnGetTds.js │ │ │ ├── fnLengthChange.js │ │ │ ├── fnMultiFilter.js │ │ │ ├── fnPagingInfo.js │ │ │ ├── fnProcessingIndicator.js │ │ │ ├── fnReloadAjax.js │ │ │ ├── fnSetFilteringDelay.js │ │ │ ├── fnSortNeutral.js │ │ │ ├── fnStandingRedraw.js │ │ │ ├── fnVisibleToColumnIndex.js │ │ │ ├── index.html │ │ │ ├── page.jumpToData().js │ │ │ └── sum().js │ │ ├── features │ │ │ ├── alphabetSearch │ │ │ │ ├── dataTables.alphabetSearch.css │ │ │ │ ├── dataTables.alphabetSearch.js │ │ │ │ └── dataTables.alphabetSearch.min.js │ │ │ ├── lengthLinks │ │ │ │ ├── dataTables.lengthLinks.css │ │ │ │ ├── dataTables.lengthLinks.js │ │ │ │ └── dataTables.lengthLinks.min.js │ │ │ └── searchHighlight │ │ │ │ ├── dataTables.searchHighlight.css │ │ │ │ ├── dataTables.searchHighlight.js │ │ │ │ └── dataTables.searchHighlight.min.js │ │ ├── filtering │ │ │ ├── index.html │ │ │ ├── row-based │ │ │ │ ├── TableTools.ShowSelectedOnly.js │ │ │ │ ├── range_dates.js │ │ │ │ └── range_numbers.js │ │ │ └── type-based │ │ │ │ ├── accent-neutralise.js │ │ │ │ ├── html.js │ │ │ │ └── phoneNumber.js │ │ ├── i18n │ │ │ ├── Afrikaans.lang │ │ │ ├── Albanian.lang │ │ │ ├── Arabic.lang │ │ │ ├── Azerbaijan.lang │ │ │ ├── Bangla.lang │ │ │ ├── Belarusian.lang │ │ │ ├── Bulgarian.lang │ │ │ ├── Catalan.lang │ │ │ ├── Chinese-traditional.lang │ │ │ ├── Chinese.lang │ │ │ ├── Croatian.lang │ │ │ ├── Czech.lang │ │ │ ├── Danish.lang │ │ │ ├── Dutch.lang │ │ │ ├── English.lang │ │ │ ├── Estonian.lang │ │ │ ├── Filipino.lang │ │ │ ├── Finnish.lang │ │ │ ├── French.lang │ │ │ ├── Galician.lang │ │ │ ├── Georgian.lang │ │ │ ├── German.lang │ │ │ ├── Greek.lang │ │ │ ├── Gujarati.lang │ │ │ ├── Hebrew.lang │ │ │ ├── Hindi.lang │ │ │ ├── Hungarian.lang │ │ │ ├── Icelandic.lang │ │ │ ├── Indonesian-Alternative.lang │ │ │ ├── Indonesian.lang │ │ │ ├── Irish.lang │ │ │ ├── Italian.lang │ │ │ ├── Japanese.lang │ │ │ ├── Korean.lang │ │ │ ├── Latvian.lang │ │ │ ├── Lithuanian.lang │ │ │ ├── Macedonian.lang │ │ │ ├── Malay.lang │ │ │ ├── Norwegian.lang │ │ │ ├── Persian.lang │ │ │ ├── Polish.lang │ │ │ ├── Portuguese-Brasil.lang │ │ │ ├── Portuguese.lang │ │ │ ├── Romanian.lang │ │ │ ├── Russian.lang │ │ │ ├── Serbian.lang │ │ │ ├── Slovak.lang │ │ │ ├── Slovenian.lang │ │ │ ├── Spanish.lang │ │ │ ├── Swahili.lang │ │ │ ├── Swedish.lang │ │ │ ├── Tamil.lang │ │ │ ├── Thai.lang │ │ │ ├── Turkish.lang │ │ │ ├── Ukranian.lang │ │ │ ├── Urdu.lang │ │ │ ├── Uzbek.lang │ │ │ ├── Vietnamese.lang │ │ │ └── index.html │ │ ├── integration │ │ │ ├── bootstrap │ │ │ │ ├── 1 │ │ │ │ │ ├── dataTables.bootstrap.css │ │ │ │ │ └── dataTables.bootstrap.js │ │ │ │ ├── 2 │ │ │ │ │ ├── dataTables.bootstrap.css │ │ │ │ │ ├── dataTables.bootstrap.js │ │ │ │ │ ├── dataTables.bootstrap.min.js │ │ │ │ │ └── index.html │ │ │ │ ├── 3 │ │ │ │ │ ├── dataTables.bootstrap.css │ │ │ │ │ ├── dataTables.bootstrap.js │ │ │ │ │ ├── dataTables.bootstrap.min.js │ │ │ │ │ └── index.html │ │ │ │ └── images │ │ │ │ │ ├── sort_asc.png │ │ │ │ │ ├── sort_asc_disabled.png │ │ │ │ │ ├── sort_both.png │ │ │ │ │ ├── sort_desc.png │ │ │ │ │ └── sort_desc_disabled.png │ │ │ ├── font-awesome │ │ │ │ ├── bootstrap.html │ │ │ │ ├── dataTables.fontAwesome.css │ │ │ │ ├── datatables.html │ │ │ │ └── foundation.html │ │ │ ├── foundation │ │ │ │ ├── dataTables.foundation.css │ │ │ │ ├── dataTables.foundation.js │ │ │ │ ├── dataTables.foundation.min.js │ │ │ │ ├── images │ │ │ │ │ ├── sort_asc.png │ │ │ │ │ ├── sort_asc_disabled.png │ │ │ │ │ ├── sort_both.png │ │ │ │ │ ├── sort_desc.png │ │ │ │ │ └── sort_desc_disabled.png │ │ │ │ └── index.html │ │ │ └── jqueryui │ │ │ │ ├── dataTables.jqueryui.css │ │ │ │ ├── dataTables.jqueryui.js │ │ │ │ ├── dataTables.jqueryui.min.js │ │ │ │ ├── dataTables.jqueryui.scss │ │ │ │ └── index.html │ │ ├── make.sh │ │ ├── pagination │ │ │ ├── ellipses.js │ │ │ ├── extjs.js │ │ │ ├── four_button.js │ │ │ ├── index.html │ │ │ ├── input.js │ │ │ ├── jPaginator │ │ │ │ └── dataTables.jPaginator.js │ │ │ ├── scrolling.js │ │ │ └── select.js │ │ ├── sorting │ │ │ ├── .DS_Store │ │ │ ├── alt-string.js │ │ │ ├── anti-the.js │ │ │ ├── chinese-string.js │ │ │ ├── currency.js │ │ │ ├── custom-data-source │ │ │ │ ├── dom-checkbox.js │ │ │ │ ├── dom-select.js │ │ │ │ └── dom-text.js │ │ │ ├── date-dd-MMM-yyyy.js │ │ │ ├── date-de.js │ │ │ ├── date-eu.js │ │ │ ├── date-euro.js │ │ │ ├── date-uk.js │ │ │ ├── datetime-moment.js │ │ │ ├── datetime-us.js │ │ │ ├── enum.js │ │ │ ├── file-size.js │ │ │ ├── formatted-numbers.js │ │ │ ├── index.html │ │ │ ├── ip-address.js │ │ │ ├── monthYear.js │ │ │ ├── natural.js │ │ │ ├── num-html.js │ │ │ ├── numeric-comma.js │ │ │ ├── percent.js │ │ │ ├── persian.js │ │ │ ├── scientific.js │ │ │ ├── signed-num.js │ │ │ ├── stringMonthYear.js │ │ │ ├── time.js │ │ │ ├── title-numeric.js │ │ │ ├── title-string.js │ │ │ └── turkish-string.js │ │ └── type-detection │ │ │ ├── currency.js │ │ │ ├── date-uk.js │ │ │ ├── file-size.js │ │ │ ├── formatted-num.js │ │ │ ├── index.html │ │ │ ├── ip-address.js │ │ │ ├── num-html.js │ │ │ └── numeric-comma.js │ ├── datatables-responsive │ │ ├── .bower.json │ │ ├── .gitignore │ │ ├── License.txt │ │ ├── Readme.md │ │ ├── bower.json │ │ ├── css │ │ │ ├── responsive.bootstrap.scss │ │ │ ├── responsive.dataTables.scss │ │ │ ├── responsive.foundation.scss │ │ │ └── responsive.jqueryui.scss │ │ ├── docs │ │ │ ├── api │ │ │ │ ├── responsive.index().xml │ │ │ │ ├── responsive.rebuild().xml │ │ │ │ └── responsive.recalc().xml │ │ │ └── option │ │ │ │ ├── responsive.breakpoints.xml │ │ │ │ ├── responsive.details.renderer.xml │ │ │ │ ├── responsive.details.target.xml │ │ │ │ ├── responsive.details.type.xml │ │ │ │ ├── responsive.details.xml │ │ │ │ └── responsive.xml │ │ ├── examples │ │ │ ├── .DS_Store │ │ │ ├── child-rows │ │ │ │ ├── column-control.xml │ │ │ │ ├── custom-renderer.xml │ │ │ │ ├── disable-child-rows.xml │ │ │ │ ├── index.xml │ │ │ │ ├── right-column.xml │ │ │ │ └── whole-row-control.xml │ │ │ ├── display-control │ │ │ │ ├── auto.xml │ │ │ │ ├── classes.xml │ │ │ │ ├── complexHeader.xml │ │ │ │ ├── fixedHeader.xml │ │ │ │ ├── index.xml │ │ │ │ └── init-classes.xml │ │ │ ├── index.xml │ │ │ ├── initialisation │ │ │ │ ├── .DS_Store │ │ │ │ ├── ajax.xml │ │ │ │ ├── className.xml │ │ │ │ ├── default.xml │ │ │ │ ├── index.xml │ │ │ │ ├── new.xml │ │ │ │ └── option.xml │ │ │ └── styling │ │ │ │ ├── bootstrap.xml │ │ │ │ ├── compact.xml │ │ │ │ ├── foundation.xml │ │ │ │ ├── index.xml │ │ │ │ ├── jqueryui.xml │ │ │ │ └── scrolling.xml │ │ ├── js │ │ │ └── dataTables.responsive.js │ │ └── make.sh │ ├── datatables │ │ ├── .bower.json │ │ ├── Contributing.md │ │ ├── Readme.md │ │ ├── bower.json │ │ ├── license.txt │ │ └── media │ │ │ ├── css │ │ │ ├── dataTables.bootstrap.css │ │ │ ├── dataTables.bootstrap.min.css │ │ │ ├── dataTables.foundation.css │ │ │ ├── dataTables.foundation.min.css │ │ │ ├── dataTables.jqueryui.css │ │ │ ├── dataTables.jqueryui.min.css │ │ │ ├── jquery.dataTables.css │ │ │ ├── jquery.dataTables.min.css │ │ │ └── jquery.dataTables_themeroller.css │ │ │ ├── images │ │ │ ├── Sorting icons.psd │ │ │ ├── favicon.ico │ │ │ ├── sort_asc.png │ │ │ ├── sort_asc_disabled.png │ │ │ ├── sort_both.png │ │ │ ├── sort_desc.png │ │ │ └── sort_desc_disabled.png │ │ │ └── js │ │ │ ├── dataTables.bootstrap.js │ │ │ ├── dataTables.bootstrap.min.js │ │ │ ├── dataTables.foundation.js │ │ │ ├── dataTables.foundation.min.js │ │ │ ├── dataTables.jqueryui.js │ │ │ ├── dataTables.jqueryui.min.js │ │ │ ├── jquery.dataTables.js │ │ │ ├── jquery.dataTables.min.js │ │ │ └── jquery.js │ ├── flot.tooltip │ │ ├── .bower.json │ │ ├── bower.json │ │ └── js │ │ │ ├── excanvas.min.js │ │ │ ├── jquery.flot.js │ │ │ ├── jquery.flot.tooltip.js │ │ │ ├── jquery.flot.tooltip.min.js │ │ │ └── jquery.flot.tooltip.source.js │ ├── flot │ │ ├── .bower.json │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── API.md │ │ ├── CONTRIBUTING.md │ │ ├── FAQ.md │ │ ├── LICENSE.txt │ │ ├── Makefile │ │ ├── NEWS.md │ │ ├── PLUGINS.md │ │ ├── README.md │ │ ├── component.json │ │ ├── examples │ │ │ ├── ajax │ │ │ │ ├── data-eu-gdp-growth-1.json │ │ │ │ ├── data-eu-gdp-growth-2.json │ │ │ │ ├── data-eu-gdp-growth-3.json │ │ │ │ ├── data-eu-gdp-growth-4.json │ │ │ │ ├── data-eu-gdp-growth-5.json │ │ │ │ ├── data-eu-gdp-growth.json │ │ │ │ ├── data-japan-gdp-growth.json │ │ │ │ ├── data-usa-gdp-growth.json │ │ │ │ └── index.html │ │ │ ├── annotating │ │ │ │ └── index.html │ │ │ ├── axes-interacting │ │ │ │ └── index.html │ │ │ ├── axes-multiple │ │ │ │ └── index.html │ │ │ ├── axes-time-zones │ │ │ │ ├── date.js │ │ │ │ ├── index.html │ │ │ │ └── tz │ │ │ │ │ ├── africa │ │ │ │ │ ├── antarctica │ │ │ │ │ ├── asia │ │ │ │ │ ├── australasia │ │ │ │ │ ├── backward │ │ │ │ │ ├── etcetera │ │ │ │ │ ├── europe │ │ │ │ │ ├── factory │ │ │ │ │ ├── iso3166.tab │ │ │ │ │ ├── leapseconds │ │ │ │ │ ├── northamerica │ │ │ │ │ ├── pacificnew │ │ │ │ │ ├── solar87 │ │ │ │ │ ├── solar88 │ │ │ │ │ ├── solar89 │ │ │ │ │ ├── southamerica │ │ │ │ │ ├── systemv │ │ │ │ │ ├── yearistype.sh │ │ │ │ │ └── zone.tab │ │ │ ├── axes-time │ │ │ │ └── index.html │ │ │ ├── background.png │ │ │ ├── basic-options │ │ │ │ └── index.html │ │ │ ├── basic-usage │ │ │ │ └── index.html │ │ │ ├── canvas │ │ │ │ └── index.html │ │ │ ├── categories │ │ │ │ └── index.html │ │ │ ├── examples.css │ │ │ ├── image │ │ │ │ ├── hs-2004-27-a-large-web.jpg │ │ │ │ └── index.html │ │ │ ├── index.html │ │ │ ├── interacting │ │ │ │ └── index.html │ │ │ ├── navigate │ │ │ │ ├── arrow-down.gif │ │ │ │ ├── arrow-left.gif │ │ │ │ ├── arrow-right.gif │ │ │ │ ├── arrow-up.gif │ │ │ │ └── index.html │ │ │ ├── percentiles │ │ │ │ └── index.html │ │ │ ├── realtime │ │ │ │ └── index.html │ │ │ ├── resize │ │ │ │ └── index.html │ │ │ ├── selection │ │ │ │ └── index.html │ │ │ ├── series-errorbars │ │ │ │ └── index.html │ │ │ ├── series-pie │ │ │ │ └── index.html │ │ │ ├── series-toggle │ │ │ │ └── index.html │ │ │ ├── series-types │ │ │ │ └── index.html │ │ │ ├── shared │ │ │ │ └── jquery-ui │ │ │ │ │ └── jquery-ui.min.css │ │ │ ├── stacking │ │ │ │ └── index.html │ │ │ ├── symbols │ │ │ │ └── index.html │ │ │ ├── threshold │ │ │ │ └── index.html │ │ │ ├── tracking │ │ │ │ └── index.html │ │ │ ├── visitors │ │ │ │ └── index.html │ │ │ └── zooming │ │ │ │ └── index.html │ │ ├── excanvas.js │ │ ├── excanvas.min.js │ │ ├── flot.jquery.json │ │ ├── jquery.colorhelpers.js │ │ ├── jquery.flot.canvas.js │ │ ├── jquery.flot.categories.js │ │ ├── jquery.flot.crosshair.js │ │ ├── jquery.flot.errorbars.js │ │ ├── jquery.flot.fillbetween.js │ │ ├── jquery.flot.image.js │ │ ├── jquery.flot.js │ │ ├── jquery.flot.navigate.js │ │ ├── jquery.flot.pie.js │ │ ├── jquery.flot.resize.js │ │ ├── jquery.flot.selection.js │ │ ├── jquery.flot.stack.js │ │ ├── jquery.flot.symbol.js │ │ ├── jquery.flot.threshold.js │ │ ├── jquery.flot.time.js │ │ ├── jquery.js │ │ └── package.json │ ├── font-awesome │ │ ├── .bower.json │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── bower.json │ │ ├── css │ │ │ ├── font-awesome.css │ │ │ └── font-awesome.min.css │ │ ├── fonts │ │ │ ├── FontAwesome.otf │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.svg │ │ │ ├── fontawesome-webfont.ttf │ │ │ └── fontawesome-webfont.woff │ │ ├── less │ │ │ ├── bordered-pulled.less │ │ │ ├── core.less │ │ │ ├── extras.less │ │ │ ├── fixed-width.less │ │ │ ├── font-awesome.less │ │ │ ├── icons.less │ │ │ ├── larger.less │ │ │ ├── list.less │ │ │ ├── mixins.less │ │ │ ├── path.less │ │ │ ├── rotated-flipped.less │ │ │ ├── spinning.less │ │ │ ├── stacked.less │ │ │ └── variables.less │ │ └── scss │ │ │ ├── _bordered-pulled.scss │ │ │ ├── _core.scss │ │ │ ├── _extras.scss │ │ │ ├── _fixed-width.scss │ │ │ ├── _icons.scss │ │ │ ├── _larger.scss │ │ │ ├── _list.scss │ │ │ ├── _mixins.scss │ │ │ ├── _path.scss │ │ │ ├── _rotated-flipped.scss │ │ │ ├── _spinning.scss │ │ │ ├── _stacked.scss │ │ │ ├── _variables.scss │ │ │ └── font-awesome.scss │ ├── holderjs │ │ ├── .bower.json │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── .jshintrc │ │ ├── README.md │ │ ├── bower.json │ │ ├── composer.json │ │ ├── gulpfile.js │ │ ├── holder.js │ │ ├── package.json │ │ ├── src │ │ │ ├── augment.js │ │ │ ├── holder.js │ │ │ ├── ondomready.js │ │ │ └── polyfills.js │ │ └── test │ │ │ ├── .gitignore │ │ │ ├── image.jpg │ │ │ └── index.html │ ├── jquery │ │ ├── .bower.json │ │ ├── MIT-LICENSE.txt │ │ ├── bower.json │ │ ├── dist │ │ │ ├── jquery.js │ │ │ ├── jquery.min.js │ │ │ └── jquery.min.map │ │ └── src │ │ │ ├── ajax.js │ │ │ ├── ajax │ │ │ ├── jsonp.js │ │ │ ├── load.js │ │ │ ├── parseJSON.js │ │ │ ├── parseXML.js │ │ │ ├── script.js │ │ │ ├── var │ │ │ │ ├── nonce.js │ │ │ │ └── rquery.js │ │ │ └── xhr.js │ │ │ ├── attributes.js │ │ │ ├── attributes │ │ │ ├── attr.js │ │ │ ├── classes.js │ │ │ ├── prop.js │ │ │ ├── support.js │ │ │ └── val.js │ │ │ ├── callbacks.js │ │ │ ├── core.js │ │ │ ├── core │ │ │ ├── access.js │ │ │ ├── init.js │ │ │ ├── parseHTML.js │ │ │ ├── ready.js │ │ │ └── var │ │ │ │ └── rsingleTag.js │ │ │ ├── css.js │ │ │ ├── css │ │ │ ├── addGetHookIf.js │ │ │ ├── curCSS.js │ │ │ ├── defaultDisplay.js │ │ │ ├── hiddenVisibleSelectors.js │ │ │ ├── support.js │ │ │ ├── swap.js │ │ │ └── var │ │ │ │ ├── cssExpand.js │ │ │ │ ├── getStyles.js │ │ │ │ ├── isHidden.js │ │ │ │ ├── rmargin.js │ │ │ │ └── rnumnonpx.js │ │ │ ├── data.js │ │ │ ├── data │ │ │ ├── Data.js │ │ │ ├── accepts.js │ │ │ └── var │ │ │ │ ├── data_priv.js │ │ │ │ └── data_user.js │ │ │ ├── deferred.js │ │ │ ├── deprecated.js │ │ │ ├── dimensions.js │ │ │ ├── effects.js │ │ │ ├── effects │ │ │ ├── Tween.js │ │ │ └── animatedSelector.js │ │ │ ├── event.js │ │ │ ├── event │ │ │ ├── ajax.js │ │ │ ├── alias.js │ │ │ └── support.js │ │ │ ├── exports │ │ │ ├── amd.js │ │ │ └── global.js │ │ │ ├── intro.js │ │ │ ├── jquery.js │ │ │ ├── manipulation.js │ │ │ ├── manipulation │ │ │ ├── _evalUrl.js │ │ │ ├── support.js │ │ │ └── var │ │ │ │ └── rcheckableType.js │ │ │ ├── offset.js │ │ │ ├── outro.js │ │ │ ├── queue.js │ │ │ ├── queue │ │ │ └── delay.js │ │ │ ├── selector-native.js │ │ │ ├── selector-sizzle.js │ │ │ ├── selector.js │ │ │ ├── serialize.js │ │ │ ├── sizzle │ │ │ └── dist │ │ │ │ ├── sizzle.js │ │ │ │ ├── sizzle.min.js │ │ │ │ └── sizzle.min.map │ │ │ ├── traversing.js │ │ │ ├── traversing │ │ │ ├── findFilter.js │ │ │ └── var │ │ │ │ └── rneedsContext.js │ │ │ ├── var │ │ │ ├── arr.js │ │ │ ├── class2type.js │ │ │ ├── concat.js │ │ │ ├── hasOwn.js │ │ │ ├── indexOf.js │ │ │ ├── pnum.js │ │ │ ├── push.js │ │ │ ├── rnotwhite.js │ │ │ ├── slice.js │ │ │ ├── strundefined.js │ │ │ ├── support.js │ │ │ └── toString.js │ │ │ └── wrap.js │ ├── metisMenu │ │ ├── .bower.json │ │ ├── Gruntfile.js │ │ ├── LICENSE │ │ ├── README.md │ │ ├── bower.json │ │ ├── dist │ │ │ ├── metisMenu.css │ │ │ ├── metisMenu.js │ │ │ ├── metisMenu.min.css │ │ │ └── metisMenu.min.js │ │ ├── package.json │ │ └── src │ │ │ ├── metisMenu.css │ │ │ └── metisMenu.js │ ├── mocha │ │ ├── .bower.json │ │ ├── History.md │ │ ├── LICENSE │ │ ├── Readme.md │ │ ├── bower.json │ │ ├── media │ │ │ └── logo.svg │ │ ├── mocha.css │ │ └── mocha.js │ ├── morrisjs │ │ ├── .bower.json │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── Gruntfile.js │ │ ├── README.md │ │ ├── bower.json │ │ ├── bower.travis.json │ │ ├── examples │ │ │ ├── _template.html │ │ │ ├── area-as-line.html │ │ │ ├── area.html │ │ │ ├── bar-colors.html │ │ │ ├── bar-no-axes.html │ │ │ ├── bar.html │ │ │ ├── days.html │ │ │ ├── decimal-custom-hover.html │ │ │ ├── diagonal-xlabels-bar.html │ │ │ ├── diagonal-xlabels.html │ │ │ ├── donut-colors.html │ │ │ ├── donut-formatter.html │ │ │ ├── donut.html │ │ │ ├── dst.html │ │ │ ├── events.html │ │ │ ├── goals.html │ │ │ ├── lib │ │ │ │ ├── example.css │ │ │ │ └── example.js │ │ │ ├── months-no-smooth.html │ │ │ ├── negative.html │ │ │ ├── no-grid.html │ │ │ ├── non-continuous.html │ │ │ ├── non-date.html │ │ │ ├── quarters.html │ │ │ ├── resize.html │ │ │ ├── stacked_bars.html │ │ │ ├── timestamps.html │ │ │ ├── updating.html │ │ │ ├── weeks.html │ │ │ └── years.html │ │ ├── less │ │ │ └── morris.core.less │ │ ├── lib │ │ │ ├── morris.area.coffee │ │ │ ├── morris.bar.coffee │ │ │ ├── morris.coffee │ │ │ ├── morris.donut.coffee │ │ │ ├── morris.grid.coffee │ │ │ ├── morris.hover.coffee │ │ │ └── morris.line.coffee │ │ ├── morris.css │ │ ├── morris.js │ │ ├── morris.min.js │ │ ├── package.json │ │ └── spec │ │ │ ├── lib │ │ │ ├── area │ │ │ │ └── area_spec.coffee │ │ │ ├── bar │ │ │ │ ├── bar_spec.coffee │ │ │ │ └── colours.coffee │ │ │ ├── commas_spec.coffee │ │ │ ├── donut │ │ │ │ └── donut_spec.coffee │ │ │ ├── grid │ │ │ │ ├── auto_grid_lines_spec.coffee │ │ │ │ ├── set_data_spec.coffee │ │ │ │ └── y_label_format_spec.coffee │ │ │ ├── hover_spec.coffee │ │ │ ├── label_series_spec.coffee │ │ │ ├── line │ │ │ │ └── line_spec.coffee │ │ │ ├── pad_spec.coffee │ │ │ └── parse_time_spec.coffee │ │ │ ├── specs.html │ │ │ ├── support │ │ │ └── placeholder.coffee │ │ │ └── viz │ │ │ ├── examples.js │ │ │ ├── exemplary │ │ │ ├── area0.png │ │ │ ├── bar0.png │ │ │ ├── line0.png │ │ │ └── stacked_bar0.png │ │ │ ├── run.sh │ │ │ ├── test.html │ │ │ └── visual_specs.js │ └── raphael │ │ ├── .bower.json │ │ ├── bower.json │ │ ├── dev │ │ ├── amdDev.js │ │ ├── index.js │ │ └── require.js │ │ ├── license.txt │ │ ├── raphael-min.js │ │ └── raphael.js ├── dist │ ├── css │ │ ├── sb-admin-2.css │ │ └── timeline.css │ └── js │ │ └── sb-admin-2.js ├── index.html ├── js │ ├── flot-data.js │ └── morris-data.js ├── less │ ├── mixins.less │ ├── sb-admin-2.less │ └── variables.less └── pages │ ├── blank.html │ ├── buttons.html │ ├── flot.html │ ├── forms.html │ ├── grid.html │ ├── icons.html │ ├── index.html │ ├── login.html │ ├── morris.html │ ├── notifications.html │ ├── panels-wells.html │ ├── tables.html │ └── typography.html ├── templates ├── accounts │ └── login.html ├── assetmanage │ ├── asset_add.html │ ├── asset_add_null.html │ ├── asset_add_result.html │ ├── asset_del.html │ ├── asset_del_result.html │ ├── asset_table.html │ ├── asset_table_detail.html │ ├── asset_update.html │ ├── asset_update_arg_keep.html │ ├── asset_update_result.html │ ├── host_add.html │ ├── host_add_arg_keep.html │ ├── host_add_null.html │ ├── host_add_result.html │ ├── host_del.html │ ├── host_del_result.html │ ├── host_table.html │ ├── host_table_relate.html │ ├── host_update.html │ ├── host_update_arg_keep.html │ ├── host_update_result.html │ ├── network_add.html │ ├── network_add_null.html │ ├── network_add_result.html │ ├── network_del.html │ ├── network_del_result.html │ ├── network_table.html │ ├── network_update.html │ ├── network_update_arg_keep.html │ └── network_update_result.html ├── autodeploy │ ├── app_deploy.html │ └── compute_deploy.html ├── base.html └── saltstack │ ├── cmd_exec.html │ ├── key_list.html │ ├── match_arg.html │ ├── minion_install.html │ ├── minion_service_start.html │ ├── minion_service_start_ok.html │ └── state_exec.html └── uwsgi.ini /.gitattributes: -------------------------------------------------------------------------------- 1 | *.js linguist-language=Python 2 | *.css linguist-language=Python 3 | *.html linguist-language=Python 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | -------------------------------------------------------------------------------- /accounts/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/accounts/__init__.py -------------------------------------------------------------------------------- /accounts/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | from .models import User 3 | 4 | # Register your models here. 5 | class UserAdmin(admin.ModelAdmin): 6 | list_display = ('username','password') 7 | 8 | admin.site.register(User,UserAdmin) 9 | -------------------------------------------------------------------------------- /accounts/decorators.py: -------------------------------------------------------------------------------- 1 | from django.http import HttpResponseRedirect 2 | import functools 3 | 4 | def login_required(func): 5 | @functools.wraps(func) 6 | def wrapper(request,*args, **kw): 7 | user = request.session.get('username') 8 | if user is not None: 9 | return func(request,*args, **kw) 10 | else: 11 | return HttpResponseRedirect('/accounts/login/') 12 | return wrapper -------------------------------------------------------------------------------- /accounts/migrations/0001_initial.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ] 11 | 12 | operations = [ 13 | migrations.CreateModel( 14 | name='User', 15 | fields=[ 16 | ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), 17 | ('username', models.CharField(max_length=50)), 18 | ('password', models.CharField(max_length=50)), 19 | ], 20 | ), 21 | ] 22 | -------------------------------------------------------------------------------- /accounts/migrations/0002_remove_user_password.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('accounts', '0001_initial'), 11 | ] 12 | 13 | operations = [ 14 | migrations.RemoveField( 15 | model_name='user', 16 | name='password', 17 | ), 18 | ] 19 | -------------------------------------------------------------------------------- /accounts/migrations/0003_user_password.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('accounts', '0002_remove_user_password'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AddField( 15 | model_name='user', 16 | name='password', 17 | field=models.CharField(default=b'123456', max_length=50), 18 | ), 19 | ] 20 | -------------------------------------------------------------------------------- /accounts/migrations/0004_auto_20161118_1341.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('accounts', '0003_user_password'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='user', 16 | name='password', 17 | field=models.CharField(max_length=50), 18 | ), 19 | ] 20 | -------------------------------------------------------------------------------- /accounts/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/accounts/migrations/__init__.py -------------------------------------------------------------------------------- /accounts/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | import hashlib 3 | # Create your models here. 4 | class User(models.Model): 5 | username = models.CharField(max_length=50) 6 | password = models.CharField(max_length=50) 7 | 8 | def save(self,*args,**kwargs): 9 | self.password = hashlib.sha1(self.password+self.username+'ylhb').hexdigest() 10 | super(User,self).save(*args,**kwargs) 11 | 12 | def __unicode__(self): 13 | return self.username 14 | 15 | -------------------------------------------------------------------------------- /accounts/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /accounts/urls.py: -------------------------------------------------------------------------------- 1 | from django.conf.urls import include, url 2 | from . import views 3 | 4 | urlpatterns = [ 5 | url(r'^$', views.login, name='init_login'), 6 | url(r'^login/$', views.login, name='login'), 7 | url(r'^logout/$', views.logout, name='logout'), 8 | ] -------------------------------------------------------------------------------- /assetmanage/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/assetmanage/__init__.py -------------------------------------------------------------------------------- /assetmanage/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /assetmanage/migrations/0002_auto_20160819_1345.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('assetmanage', '0001_initial'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='assetmanage', 16 | name='server_ip', 17 | field=models.CharField(max_length=20), 18 | ), 19 | migrations.AlterField( 20 | model_name='hostinfo', 21 | name='host_ip', 22 | field=models.ForeignKey(related_name='asset_set', to='assetmanage.Assetmanage'), 23 | ), 24 | ] 25 | -------------------------------------------------------------------------------- /assetmanage/migrations/0004_auto_20161011_1831.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('assetmanage', '0003_auto_20160821_1302'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='assetmanage', 16 | name='remote_ip', 17 | field=models.CharField(max_length=20, unique=True, null=True), 18 | ), 19 | ] 20 | -------------------------------------------------------------------------------- /assetmanage/migrations/0005_auto_20161011_1837.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('assetmanage', '0004_auto_20161011_1831'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='assetmanage', 16 | name='remote_ip', 17 | field=models.CharField(default=b'-', max_length=20), 18 | ), 19 | ] 20 | -------------------------------------------------------------------------------- /assetmanage/migrations/0006_auto_20161011_1850.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('assetmanage', '0005_auto_20161011_1837'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='assetmanage', 16 | name='remote_ip', 17 | field=models.CharField(unique=True, max_length=20, blank=True), 18 | ), 19 | ] 20 | -------------------------------------------------------------------------------- /assetmanage/migrations/0007_auto_20161011_1854.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('assetmanage', '0006_auto_20161011_1850'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='assetmanage', 16 | name='remote_ip', 17 | field=models.CharField(default=b'-', max_length=20), 18 | ), 19 | migrations.AlterField( 20 | model_name='assetmanage', 21 | name='server_ip', 22 | field=models.CharField(default=b'-', max_length=20), 23 | ), 24 | ] 25 | -------------------------------------------------------------------------------- /assetmanage/migrations/0008_auto_20161011_1901.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('assetmanage', '0007_auto_20161011_1854'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='assetmanage', 16 | name='remote_ip', 17 | field=models.CharField(default=b'null', max_length=20), 18 | ), 19 | migrations.AlterField( 20 | model_name='assetmanage', 21 | name='server_ip', 22 | field=models.CharField(default=b'null', max_length=20), 23 | ), 24 | ] 25 | -------------------------------------------------------------------------------- /assetmanage/migrations/0009_auto_20161011_1905.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('assetmanage', '0008_auto_20161011_1901'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='assetmanage', 16 | name='remote_ip', 17 | field=models.CharField(default=b'0.0.0.0', max_length=20), 18 | ), 19 | migrations.AlterField( 20 | model_name='assetmanage', 21 | name='server_ip', 22 | field=models.CharField(default=b'0.0.0.0', max_length=20), 23 | ), 24 | ] 25 | -------------------------------------------------------------------------------- /assetmanage/migrations/0010_auto_20161011_1915.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('assetmanage', '0009_auto_20161011_1905'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='assetmanage', 16 | name='remote_ip', 17 | field=models.CharField(max_length=20), 18 | ), 19 | migrations.AlterField( 20 | model_name='assetmanage', 21 | name='server_ip', 22 | field=models.CharField(unique=True, max_length=20), 23 | ), 24 | migrations.AlterField( 25 | model_name='hostinfo', 26 | name='host_name', 27 | field=models.CharField(max_length=20), 28 | ), 29 | ] 30 | -------------------------------------------------------------------------------- /assetmanage/migrations/0011_auto_20161104_1116.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('assetmanage', '0010_auto_20161011_1915'), 11 | ] 12 | 13 | operations = [ 14 | migrations.RemoveField( 15 | model_name='hostinfo', 16 | name='cpu_num', 17 | ), 18 | migrations.RemoveField( 19 | model_name='hostinfo', 20 | name='disk_size', 21 | ), 22 | migrations.RemoveField( 23 | model_name='hostinfo', 24 | name='host_name', 25 | ), 26 | migrations.RemoveField( 27 | model_name='hostinfo', 28 | name='mem_size', 29 | ), 30 | migrations.RemoveField( 31 | model_name='hostinfo', 32 | name='system_version', 33 | ), 34 | ] 35 | -------------------------------------------------------------------------------- /assetmanage/migrations/0013_auto_20170213_1528.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('assetmanage', '0012_networkinfo'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='networkinfo', 16 | name='available_intf', 17 | field=models.CharField(max_length=100), 18 | ), 19 | ] 20 | -------------------------------------------------------------------------------- /assetmanage/migrations/0014_auto_20170213_1528.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('assetmanage', '0013_auto_20170213_1528'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='networkinfo', 16 | name='available_intf', 17 | field=models.CharField(default=b'-', max_length=100), 18 | ), 19 | ] 20 | -------------------------------------------------------------------------------- /assetmanage/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/assetmanage/migrations/__init__.py -------------------------------------------------------------------------------- /assetmanage/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /autodeploy/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/autodeploy/__init__.py -------------------------------------------------------------------------------- /autodeploy/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /autodeploy/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/autodeploy/migrations/__init__.py -------------------------------------------------------------------------------- /autodeploy/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | 3 | # Create your models here. 4 | -------------------------------------------------------------------------------- /autodeploy/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /autodeploy/urls.py: -------------------------------------------------------------------------------- 1 | from django.conf.urls import include, url 2 | from . import views 3 | 4 | urlpatterns = [ 5 | url(r'^app_deploy_html/$', views.app_deploy_html, name='app_deploy_html'), 6 | url(r'^app_deploy/$', views.app_deploy, name='app_deploy'), 7 | url(r'^compute_deploy_html/$', views.compute_deploy_html, name='compute_deploy_html'), 8 | url(r'^compute_deploy/$', views.compute_deploy, name='compute_deploy'), 9 | ] 10 | -------------------------------------------------------------------------------- /collected_static/text.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/collected_static/text.txt -------------------------------------------------------------------------------- /fourthgen/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/fourthgen/__init__.py -------------------------------------------------------------------------------- /fourthgen/wsgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | WSGI config for fourthgen project. 3 | 4 | It exposes the WSGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/1.8/howto/deployment/wsgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.wsgi import get_wsgi_application 13 | 14 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "fourthgen.settings") 15 | 16 | application = get_wsgi_application() 17 | -------------------------------------------------------------------------------- /manage.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import sys 4 | 5 | if __name__ == "__main__": 6 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "fourthgen.settings") 7 | 8 | from django.core.management import execute_from_command_line 9 | 10 | execute_from_command_line(sys.argv) 11 | -------------------------------------------------------------------------------- /reload: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/reload -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | bootstrap-admin==0.3.6 2 | cffi==1.5.2 3 | CherryPy==5.0.1 4 | cryptography==1.2.2 5 | Django==1.8.7 6 | django-appconf==1.0.2 7 | django-bootstrap-toolkit==2.15.0 8 | django-grappelli==2.7.3 9 | django-model-utils==2.6 10 | django-users2==0.2.1 11 | enum34==1.1.2 12 | idna==2.0 13 | ipaddress==1.0.16 14 | Jinja2==2.8 15 | M2Crypto==0.22.3 16 | MarkupSafe==0.23 17 | meld3==1.0.2 18 | msgpack-pure==0.1.3 19 | msgpack-python==0.4.6 20 | MySQL-python==1.2.5 21 | pyasn1==0.1.9 22 | pycparser==2.14 23 | pycrypto==2.6 24 | pycurl==7.43.0 25 | pyOpenSSL==0.14 26 | python-dateutil==1.5 27 | PyYAML==3.11 28 | pyzmq==14.1.1 29 | salt==2015.5.5 30 | six==1.10.0 31 | supervisor==3.3.1 32 | uWSGI==2.0.13.1 33 | -------------------------------------------------------------------------------- /saltstack/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/saltstack/__init__.py -------------------------------------------------------------------------------- /saltstack/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /saltstack/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/saltstack/migrations/__init__.py -------------------------------------------------------------------------------- /saltstack/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | 3 | # Create your models here. 4 | -------------------------------------------------------------------------------- /saltstack/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /screenshots/._Associated_virtual_host.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/._Associated_virtual_host.jpg -------------------------------------------------------------------------------- /screenshots/._Associated_virtual_host_con.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/._Associated_virtual_host_con.jpg -------------------------------------------------------------------------------- /screenshots/._autodeploy_app.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/._autodeploy_app.jpg -------------------------------------------------------------------------------- /screenshots/._autodeploy_compute.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/._autodeploy_compute.jpg -------------------------------------------------------------------------------- /screenshots/._login.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/._login.jpg -------------------------------------------------------------------------------- /screenshots/._minion_auth_man.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/._minion_auth_man.jpg -------------------------------------------------------------------------------- /screenshots/._out_minion_arg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/._out_minion_arg.jpg -------------------------------------------------------------------------------- /screenshots/._physical_server_add_result.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/._physical_server_add_result.jpg -------------------------------------------------------------------------------- /screenshots/._physical_server_details_info.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/._physical_server_details_info.jpg -------------------------------------------------------------------------------- /screenshots/._physical_server_info.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/._physical_server_info.jpg -------------------------------------------------------------------------------- /screenshots/._remote_execute_shell.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/._remote_execute_shell.jpg -------------------------------------------------------------------------------- /screenshots/._remote_execute_state.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/._remote_execute_state.jpg -------------------------------------------------------------------------------- /screenshots/._server_info_add.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/._server_info_add.jpg -------------------------------------------------------------------------------- /screenshots/._virtual_host_info.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/._virtual_host_info.jpg -------------------------------------------------------------------------------- /screenshots/Associated_virtual_host.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/Associated_virtual_host.jpg -------------------------------------------------------------------------------- /screenshots/Associated_virtual_host_con.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/Associated_virtual_host_con.jpg -------------------------------------------------------------------------------- /screenshots/autodeploy_app.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/autodeploy_app.jpg -------------------------------------------------------------------------------- /screenshots/autodeploy_compute.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/autodeploy_compute.jpg -------------------------------------------------------------------------------- /screenshots/login.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/login.jpg -------------------------------------------------------------------------------- /screenshots/minion_auth_man.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/minion_auth_man.jpg -------------------------------------------------------------------------------- /screenshots/out_minion_arg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/out_minion_arg.jpg -------------------------------------------------------------------------------- /screenshots/physical_server_add_result.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/physical_server_add_result.jpg -------------------------------------------------------------------------------- /screenshots/physical_server_details_info.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/physical_server_details_info.jpg -------------------------------------------------------------------------------- /screenshots/physical_server_info.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/physical_server_info.jpg -------------------------------------------------------------------------------- /screenshots/remote_execute_shell.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/remote_execute_shell.jpg -------------------------------------------------------------------------------- /screenshots/remote_execute_state.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/remote_execute_state.jpg -------------------------------------------------------------------------------- /screenshots/server_info_add.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/server_info_add.jpg -------------------------------------------------------------------------------- /screenshots/virtual_host_info.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/screenshots/virtual_host_info.jpg -------------------------------------------------------------------------------- /static/bower_components/bootstrap-social/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap-social", 3 | "main": "bootstrap-social.css", 4 | "licence": "MIT", 5 | "ignore": [ 6 | "assets", 7 | "index.html", 8 | "LICENCE" 9 | ], 10 | "dependencies": { 11 | "bootstrap": "~3", 12 | "font-awesome": "~4.2" 13 | }, 14 | "homepage": "https://github.com/lipis/bootstrap-social", 15 | "version": "4.8.0", 16 | "_release": "4.8.0", 17 | "_resolution": { 18 | "type": "version", 19 | "tag": "4.8.0", 20 | "commit": "918fc55c3c938377a7618ec0f115846e50d4b883" 21 | }, 22 | "_source": "git://github.com/lipis/bootstrap-social.git", 23 | "_target": "~4.8.0", 24 | "_originalSource": "bootstrap-social", 25 | "_direct": true 26 | } -------------------------------------------------------------------------------- /static/bower_components/bootstrap-social/.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | indent_style = space 7 | indent_size = 2 8 | end_of_line = lf 9 | charset = utf-8 10 | trim_trailing_whitespace = true 11 | insert_final_newline = true 12 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap-social/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | dev 3 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap-social/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap-social", 3 | "main": "bootstrap-social.css", 4 | "licence": "MIT", 5 | "ignore": [ 6 | "assets", 7 | "index.html", 8 | "LICENCE" 9 | ], 10 | "dependencies": { 11 | "bootstrap": "~3", 12 | "font-awesome": "~4.2" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | Bootstrap uses [GitHub's Releases feature](https://github.com/blog/1547-release-your-software) for its changelogs. 2 | 3 | See [the Releases section of our GitHub project](https://github.com/twbs/bootstrap/releases) for changelogs for each release version of Bootstrap. 4 | 5 | Release announcement posts on [the official Bootstrap blog](http://blog.getbootstrap.com) contain summaries of the most noteworthy changes made in each release. 6 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap", 3 | "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.", 4 | "keywords": [ 5 | "css", 6 | "js", 7 | "less", 8 | "mobile-first", 9 | "responsive", 10 | "front-end", 11 | "framework", 12 | "web" 13 | ], 14 | "homepage": "http://getbootstrap.com", 15 | "license": "MIT", 16 | "moduleType": "globals", 17 | "main": [ 18 | "less/bootstrap.less", 19 | "dist/js/bootstrap.js" 20 | ], 21 | "ignore": [ 22 | "/.*", 23 | "_config.yml", 24 | "CNAME", 25 | "composer.json", 26 | "CONTRIBUTING.md", 27 | "docs", 28 | "js/tests", 29 | "test-infra" 30 | ], 31 | "dependencies": { 32 | "jquery": "1.9.1 - 2" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /static/bower_components/bootstrap/dist/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /static/bower_components/bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /static/bower_components/bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /static/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /static/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /static/bower_components/bootstrap/grunt/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends" : "../js/.jshintrc", 3 | "asi" : false, 4 | "browser" : false, 5 | "es3" : false, 6 | "node" : true 7 | } 8 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/js/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "asi" : true, 3 | "browser" : true, 4 | "eqeqeq" : false, 5 | "eqnull" : true, 6 | "es3" : true, 7 | "expr" : true, 8 | "jquery" : true, 9 | "latedef" : true, 10 | "laxbreak" : true, 11 | "nonbsp" : true, 12 | "strict" : true, 13 | "undef" : true, 14 | "unused" : true 15 | } 16 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/.csslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "adjoining-classes": false, 3 | "box-sizing": false, 4 | "box-model": false, 5 | "compatible-vendor-prefixes": false, 6 | "floats": false, 7 | "font-sizes": false, 8 | "gradients": false, 9 | "important": false, 10 | "known-properties": false, 11 | "outline-none": false, 12 | "qualified-headings": false, 13 | "regex-selectors": false, 14 | "shorthand": false, 15 | "text-indent": false, 16 | "unique-headings": false, 17 | "universal-selector": false, 18 | "unqualified-attributes": false 19 | } 20 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/breadcrumbs.less: -------------------------------------------------------------------------------- 1 | // 2 | // Breadcrumbs 3 | // -------------------------------------------------- 4 | 5 | 6 | .breadcrumb { 7 | padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal; 8 | margin-bottom: @line-height-computed; 9 | list-style: none; 10 | background-color: @breadcrumb-bg; 11 | border-radius: @border-radius-base; 12 | 13 | > li { 14 | display: inline-block; 15 | 16 | + li:before { 17 | content: "@{breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space 18 | padding: 0 5px; 19 | color: @breadcrumb-color; 20 | } 21 | } 22 | 23 | > .active { 24 | color: @breadcrumb-active-color; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/close.less: -------------------------------------------------------------------------------- 1 | // 2 | // Close icons 3 | // -------------------------------------------------- 4 | 5 | 6 | .close { 7 | float: right; 8 | font-size: (@font-size-base * 1.5); 9 | font-weight: @close-font-weight; 10 | line-height: 1; 11 | color: @close-color; 12 | text-shadow: @close-text-shadow; 13 | .opacity(.2); 14 | 15 | &:hover, 16 | &:focus { 17 | color: @close-color; 18 | text-decoration: none; 19 | cursor: pointer; 20 | .opacity(.5); 21 | } 22 | 23 | // Additional properties for button version 24 | // iOS requires the button element instead of an anchor tag. 25 | // If you want the anchor version, it requires `href="#"`. 26 | // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile 27 | button& { 28 | padding: 0; 29 | cursor: pointer; 30 | background: transparent; 31 | border: 0; 32 | -webkit-appearance: none; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/component-animations.less: -------------------------------------------------------------------------------- 1 | // 2 | // Component animations 3 | // -------------------------------------------------- 4 | 5 | // Heads up! 6 | // 7 | // We don't use the `.opacity()` mixin here since it causes a bug with text 8 | // fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552. 9 | 10 | .fade { 11 | opacity: 0; 12 | .transition(opacity .15s linear); 13 | &.in { 14 | opacity: 1; 15 | } 16 | } 17 | 18 | .collapse { 19 | display: none; 20 | 21 | &.in { display: block; } 22 | tr&.in { display: table-row; } 23 | tbody&.in { display: table-row-group; } 24 | } 25 | 26 | .collapsing { 27 | position: relative; 28 | height: 0; 29 | overflow: hidden; 30 | .transition-property(~"height, visibility"); 31 | .transition-duration(.35s); 32 | .transition-timing-function(ease); 33 | } 34 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/alerts.less: -------------------------------------------------------------------------------- 1 | // Alerts 2 | 3 | .alert-variant(@background; @border; @text-color) { 4 | background-color: @background; 5 | border-color: @border; 6 | color: @text-color; 7 | 8 | hr { 9 | border-top-color: darken(@border, 5%); 10 | } 11 | .alert-link { 12 | color: darken(@text-color, 10%); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/background-variant.less: -------------------------------------------------------------------------------- 1 | // Contextual backgrounds 2 | 3 | .bg-variant(@color) { 4 | background-color: @color; 5 | a&:hover, 6 | a&:focus { 7 | background-color: darken(@color, 10%); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/border-radius.less: -------------------------------------------------------------------------------- 1 | // Single side border-radius 2 | 3 | .border-top-radius(@radius) { 4 | border-top-right-radius: @radius; 5 | border-top-left-radius: @radius; 6 | } 7 | .border-right-radius(@radius) { 8 | border-bottom-right-radius: @radius; 9 | border-top-right-radius: @radius; 10 | } 11 | .border-bottom-radius(@radius) { 12 | border-bottom-right-radius: @radius; 13 | border-bottom-left-radius: @radius; 14 | } 15 | .border-left-radius(@radius) { 16 | border-bottom-left-radius: @radius; 17 | border-top-left-radius: @radius; 18 | } 19 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/center-block.less: -------------------------------------------------------------------------------- 1 | // Center-align a block level element 2 | 3 | .center-block() { 4 | display: block; 5 | margin-left: auto; 6 | margin-right: auto; 7 | } 8 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/clearfix.less: -------------------------------------------------------------------------------- 1 | // Clearfix 2 | // 3 | // For modern browsers 4 | // 1. The space content is one way to avoid an Opera bug when the 5 | // contenteditable attribute is included anywhere else in the document. 6 | // Otherwise it causes space to appear at the top and bottom of elements 7 | // that are clearfixed. 8 | // 2. The use of `table` rather than `block` is only necessary if using 9 | // `:before` to contain the top-margins of child elements. 10 | // 11 | // Source: http://nicolasgallagher.com/micro-clearfix-hack/ 12 | 13 | .clearfix() { 14 | &:before, 15 | &:after { 16 | content: " "; // 1 17 | display: table; // 2 18 | } 19 | &:after { 20 | clear: both; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/hide-text.less: -------------------------------------------------------------------------------- 1 | // CSS image replacement 2 | // 3 | // Heads up! v3 launched with only `.hide-text()`, but per our pattern for 4 | // mixins being reused as classes with the same name, this doesn't hold up. As 5 | // of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`. 6 | // 7 | // Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757 8 | 9 | // Deprecated as of v3.0.1 (has been removed in v4) 10 | .hide-text() { 11 | font: ~"0/0" a; 12 | color: transparent; 13 | text-shadow: none; 14 | background-color: transparent; 15 | border: 0; 16 | } 17 | 18 | // New mixin to use as of v3.0.1 19 | .text-hide() { 20 | .hide-text(); 21 | } 22 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/labels.less: -------------------------------------------------------------------------------- 1 | // Labels 2 | 3 | .label-variant(@color) { 4 | background-color: @color; 5 | 6 | &[href] { 7 | &:hover, 8 | &:focus { 9 | background-color: darken(@color, 10%); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/list-group.less: -------------------------------------------------------------------------------- 1 | // List Groups 2 | 3 | .list-group-item-variant(@state; @background; @color) { 4 | .list-group-item-@{state} { 5 | color: @color; 6 | background-color: @background; 7 | 8 | a&, 9 | button& { 10 | color: @color; 11 | 12 | .list-group-item-heading { 13 | color: inherit; 14 | } 15 | 16 | &:hover, 17 | &:focus { 18 | color: @color; 19 | background-color: darken(@background, 5%); 20 | } 21 | &.active, 22 | &.active:hover, 23 | &.active:focus { 24 | color: #fff; 25 | background-color: @color; 26 | border-color: @color; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/nav-divider.less: -------------------------------------------------------------------------------- 1 | // Horizontal dividers 2 | // 3 | // Dividers (basically an hr) within dropdowns and nav lists 4 | 5 | .nav-divider(@color: #e5e5e5) { 6 | height: 1px; 7 | margin: ((@line-height-computed / 2) - 1) 0; 8 | overflow: hidden; 9 | background-color: @color; 10 | } 11 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/nav-vertical-align.less: -------------------------------------------------------------------------------- 1 | // Navbar vertical align 2 | // 3 | // Vertically center elements in the navbar. 4 | // Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin. 5 | 6 | .navbar-vertical-align(@element-height) { 7 | margin-top: ((@navbar-height - @element-height) / 2); 8 | margin-bottom: ((@navbar-height - @element-height) / 2); 9 | } 10 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/opacity.less: -------------------------------------------------------------------------------- 1 | // Opacity 2 | 3 | .opacity(@opacity) { 4 | opacity: @opacity; 5 | // IE8 filter 6 | @opacity-ie: (@opacity * 100); 7 | filter: ~"alpha(opacity=@{opacity-ie})"; 8 | } 9 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/pagination.less: -------------------------------------------------------------------------------- 1 | // Pagination 2 | 3 | .pagination-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) { 4 | > li { 5 | > a, 6 | > span { 7 | padding: @padding-vertical @padding-horizontal; 8 | font-size: @font-size; 9 | line-height: @line-height; 10 | } 11 | &:first-child { 12 | > a, 13 | > span { 14 | .border-left-radius(@border-radius); 15 | } 16 | } 17 | &:last-child { 18 | > a, 19 | > span { 20 | .border-right-radius(@border-radius); 21 | } 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/panels.less: -------------------------------------------------------------------------------- 1 | // Panels 2 | 3 | .panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) { 4 | border-color: @border; 5 | 6 | & > .panel-heading { 7 | color: @heading-text-color; 8 | background-color: @heading-bg-color; 9 | border-color: @heading-border; 10 | 11 | + .panel-collapse > .panel-body { 12 | border-top-color: @border; 13 | } 14 | .badge { 15 | color: @heading-bg-color; 16 | background-color: @heading-text-color; 17 | } 18 | } 19 | & > .panel-footer { 20 | + .panel-collapse > .panel-body { 21 | border-bottom-color: @border; 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/progress-bar.less: -------------------------------------------------------------------------------- 1 | // Progress bars 2 | 3 | .progress-bar-variant(@color) { 4 | background-color: @color; 5 | 6 | // Deprecated parent class requirement as of v3.2.0 7 | .progress-striped & { 8 | #gradient > .striped(); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/reset-filter.less: -------------------------------------------------------------------------------- 1 | // Reset filters for IE 2 | // 3 | // When you need to remove a gradient background, do not forget to use this to reset 4 | // the IE filter for IE9 and below. 5 | 6 | .reset-filter() { 7 | filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)")); 8 | } 9 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/reset-text.less: -------------------------------------------------------------------------------- 1 | .reset-text() { 2 | font-family: @font-family-base; 3 | // We deliberately do NOT reset font-size. 4 | font-style: normal; 5 | font-weight: normal; 6 | letter-spacing: normal; 7 | line-break: auto; 8 | line-height: @line-height-base; 9 | text-align: left; // Fallback for where `start` is not supported 10 | text-align: start; 11 | text-decoration: none; 12 | text-shadow: none; 13 | text-transform: none; 14 | white-space: normal; 15 | word-break: normal; 16 | word-spacing: normal; 17 | word-wrap: normal; 18 | } 19 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/resize.less: -------------------------------------------------------------------------------- 1 | // Resize anything 2 | 3 | .resizable(@direction) { 4 | resize: @direction; // Options: horizontal, vertical, both 5 | overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible` 6 | } 7 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/responsive-visibility.less: -------------------------------------------------------------------------------- 1 | // Responsive utilities 2 | 3 | // 4 | // More easily include all the states for responsive-utilities.less. 5 | .responsive-visibility() { 6 | display: block !important; 7 | table& { display: table !important; } 8 | tr& { display: table-row !important; } 9 | th&, 10 | td& { display: table-cell !important; } 11 | } 12 | 13 | .responsive-invisibility() { 14 | display: none !important; 15 | } 16 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/size.less: -------------------------------------------------------------------------------- 1 | // Sizing shortcuts 2 | 3 | .size(@width; @height) { 4 | width: @width; 5 | height: @height; 6 | } 7 | 8 | .square(@size) { 9 | .size(@size; @size); 10 | } 11 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/tab-focus.less: -------------------------------------------------------------------------------- 1 | // WebKit-style focus 2 | 3 | .tab-focus() { 4 | // Default 5 | outline: thin dotted; 6 | // WebKit 7 | outline: 5px auto -webkit-focus-ring-color; 8 | outline-offset: -2px; 9 | } 10 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/table-row.less: -------------------------------------------------------------------------------- 1 | // Tables 2 | 3 | .table-row-variant(@state; @background) { 4 | // Exact selectors below required to override `.table-striped` and prevent 5 | // inheritance to nested tables. 6 | .table > thead > tr, 7 | .table > tbody > tr, 8 | .table > tfoot > tr { 9 | > td.@{state}, 10 | > th.@{state}, 11 | &.@{state} > td, 12 | &.@{state} > th { 13 | background-color: @background; 14 | } 15 | } 16 | 17 | // Hover states for `.table-hover` 18 | // Note: this is not available for cells or rows within `thead` or `tfoot`. 19 | .table-hover > tbody > tr { 20 | > td.@{state}:hover, 21 | > th.@{state}:hover, 22 | &.@{state}:hover > td, 23 | &:hover > .@{state}, 24 | &.@{state}:hover > th { 25 | background-color: darken(@background, 5%); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/text-emphasis.less: -------------------------------------------------------------------------------- 1 | // Typography 2 | 3 | .text-emphasis-variant(@color) { 4 | color: @color; 5 | a&:hover, 6 | a&:focus { 7 | color: darken(@color, 10%); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/mixins/text-overflow.less: -------------------------------------------------------------------------------- 1 | // Text overflow 2 | // Requires inline-block or block for proper styling 3 | 4 | .text-overflow() { 5 | overflow: hidden; 6 | text-overflow: ellipsis; 7 | white-space: nowrap; 8 | } 9 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/responsive-embed.less: -------------------------------------------------------------------------------- 1 | // Embeds responsive 2 | // 3 | // Credit: Nicolas Gallagher and SUIT CSS. 4 | 5 | .embed-responsive { 6 | position: relative; 7 | display: block; 8 | height: 0; 9 | padding: 0; 10 | overflow: hidden; 11 | 12 | .embed-responsive-item, 13 | iframe, 14 | embed, 15 | object, 16 | video { 17 | position: absolute; 18 | top: 0; 19 | left: 0; 20 | bottom: 0; 21 | height: 100%; 22 | width: 100%; 23 | border: 0; 24 | } 25 | } 26 | 27 | // Modifier class for 16:9 aspect ratio 28 | .embed-responsive-16by9 { 29 | padding-bottom: 56.25%; 30 | } 31 | 32 | // Modifier class for 4:3 aspect ratio 33 | .embed-responsive-4by3 { 34 | padding-bottom: 75%; 35 | } 36 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/thumbnails.less: -------------------------------------------------------------------------------- 1 | // 2 | // Thumbnails 3 | // -------------------------------------------------- 4 | 5 | 6 | // Mixin and adjust the regular image class 7 | .thumbnail { 8 | display: block; 9 | padding: @thumbnail-padding; 10 | margin-bottom: @line-height-computed; 11 | line-height: @line-height-base; 12 | background-color: @thumbnail-bg; 13 | border: 1px solid @thumbnail-border; 14 | border-radius: @thumbnail-border-radius; 15 | .transition(border .2s ease-in-out); 16 | 17 | > img, 18 | a > img { 19 | &:extend(.img-responsive); 20 | margin-left: auto; 21 | margin-right: auto; 22 | } 23 | 24 | // Add a hover state for linked versions only 25 | a&:hover, 26 | a&:focus, 27 | a&.active { 28 | border-color: @link-color; 29 | } 30 | 31 | // Image captions 32 | .caption { 33 | padding: @thumbnail-caption-padding; 34 | color: @thumbnail-caption-color; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/utilities.less: -------------------------------------------------------------------------------- 1 | // 2 | // Utility classes 3 | // -------------------------------------------------- 4 | 5 | 6 | // Floats 7 | // ------------------------- 8 | 9 | .clearfix { 10 | .clearfix(); 11 | } 12 | .center-block { 13 | .center-block(); 14 | } 15 | .pull-right { 16 | float: right !important; 17 | } 18 | .pull-left { 19 | float: left !important; 20 | } 21 | 22 | 23 | // Toggling content 24 | // ------------------------- 25 | 26 | // Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1 27 | .hide { 28 | display: none !important; 29 | } 30 | .show { 31 | display: block !important; 32 | } 33 | .invisible { 34 | visibility: hidden; 35 | } 36 | .text-hide { 37 | .text-hide(); 38 | } 39 | 40 | 41 | // Hide from screenreaders and browsers 42 | // 43 | // Credit: HTML5 Boilerplate 44 | 45 | .hidden { 46 | display: none !important; 47 | } 48 | 49 | 50 | // For Affix plugin 51 | // ------------------------- 52 | 53 | .affix { 54 | position: fixed; 55 | } 56 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/less/wells.less: -------------------------------------------------------------------------------- 1 | // 2 | // Wells 3 | // -------------------------------------------------- 4 | 5 | 6 | // Base class 7 | .well { 8 | min-height: 20px; 9 | padding: 19px; 10 | margin-bottom: 20px; 11 | background-color: @well-bg; 12 | border: 1px solid @well-border; 13 | border-radius: @border-radius-base; 14 | .box-shadow(inset 0 1px 1px rgba(0,0,0,.05)); 15 | blockquote { 16 | border-color: #ddd; 17 | border-color: rgba(0,0,0,.15); 18 | } 19 | } 20 | 21 | // Sizes 22 | .well-lg { 23 | padding: 24px; 24 | border-radius: @border-radius-large; 25 | } 26 | .well-sm { 27 | padding: 9px; 28 | border-radius: @border-radius-small; 29 | } 30 | -------------------------------------------------------------------------------- /static/bower_components/bootstrap/nuget/MyGet.ps1: -------------------------------------------------------------------------------- 1 | $nuget = $env:NuGet 2 | 3 | #parse the version number out of package.json 4 | $bsversion = ((Get-Content $env:SourcesPath\package.json) -join "`n" | ConvertFrom-Json).version 5 | 6 | #create packages 7 | & $nuget pack "nuget\bootstrap.nuspec" -Verbosity detailed -NonInteractive -NoPackageAnalysis -BasePath $env:SourcesPath -Version $bsversion 8 | & $nuget pack "nuget\bootstrap.less.nuspec" -Verbosity detailed -NonInteractive -NoPackageAnalysis -BasePath $env:SourcesPath -Version $bsversion -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "datatables-plugins", 3 | "homepage": "https://github.com/DataTables/Plugins", 4 | "version": "1.0.1", 5 | "_release": "1.0.1", 6 | "_resolution": { 7 | "type": "version", 8 | "tag": "1.0.1", 9 | "commit": "a94e328df63c79af43123b99ada5ff88d601a31d" 10 | }, 11 | "_source": "git://github.com/DataTables/Plugins.git", 12 | "_target": "~1.0.1", 13 | "_originalSource": "datatables-plugins", 14 | "_direct": true 15 | } -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/README.md: -------------------------------------------------------------------------------- 1 | DataTables Plugins 2 | ================== 3 | 4 | This repository contains a collection of plug-ins for the jQuery [DataTables](http://datatables.net) table enhancer. These plug-ins are feature enhancing for the DataTables library, adding extra options to core functionality such as additional sort algorithms, API methods and pagination controls. The plug-ins should not be confused with DataTables "extras" which are more significant software libraries which add additional features to DataTables. 5 | 6 | This repository holds the following plug-in types for DataTables: 7 | 8 | * Sorting 9 | * Type based 10 | * Custom data source based 11 | * API 12 | * Filtering 13 | * Type based 14 | * Row based 15 | * Internationalisation translations 16 | * Type detection 17 | * Pagination 18 | * Integration scripts 19 | * Twitter Bootstrap 20 | 21 | Each directory has an index.html file which is used to generate the plug-ins documentation on [DataTables.net](http://datatables.net/plug-ins) and describes how plug-ins can be used. -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/api/average().js: -------------------------------------------------------------------------------- 1 | /** 2 | * It can sometimes be useful to get the average of data in an API result set, 3 | * be it from a column, or a collection of cells. This method provides exactly 4 | * that ability. 5 | * 6 | * @name average() 7 | * @summary Average the values in a data set. 8 | * @author [Allan Jardine](http://sprymedia.co.uk) 9 | * @requires DataTables 1.10+ 10 | * 11 | * @returns {Number} Calculated average 12 | * 13 | * @example 14 | * // Average a column 15 | * var table = $('#example').DataTable(); 16 | * table.column( 3 ).data().average(); 17 | * 18 | * @example 19 | * // Average two cells 20 | * var table = $('#example').DataTable(); 21 | * table.cells( 0, [3,4] ).data().average(); 22 | */ 23 | 24 | jQuery.fn.dataTable.Api.register( 'average()', function () { 25 | var data = this.flatten(); 26 | var sum = data.reduce( function ( a, b ) { 27 | return (a*1) + (b*1); // cast values in-case they are strings 28 | } ); 29 | 30 | return sum / data.length; 31 | } ); 32 | 33 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/api/column().title().js: -------------------------------------------------------------------------------- 1 | /** 2 | * This plug-in will read the text from the header cell of a column, returning 3 | * that value. 4 | * 5 | * @name column().title() 6 | * @summary Get the title of a column 7 | * @author Alejandro Navarro 8 | * @requires DataTables 1.10+ 9 | * 10 | * @returns {String} Column title 11 | * 12 | * @example 13 | * // Read the title text of column index 3 14 | * var table = $('#example').DataTable(); 15 | * table.column( 3 ).title(); 16 | */ 17 | 18 | $.fn.dataTable.Api.register( 'column().title()', function () { 19 | var colheader = this.header(); 20 | return $(colheader).text().trim(); 21 | } ); -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/api/fnDisplayStart.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Set the point at which DataTables will start it's display of data in the 3 | * table. 4 | * 5 | * @name fnDisplayStart 6 | * @summary Change the table's paging display start. 7 | * @author [Allan Jardine](http://sprymedia.co.uk) 8 | * @deprecated 9 | * 10 | * @param {integer} iStart Display start index. 11 | * @param {boolean} [bRedraw=false] Indicate if the table should do a redraw or not. 12 | * 13 | * @example 14 | * var table = $('#example').dataTable(); 15 | * table.fnDisplayStart( 21 ); 16 | */ 17 | 18 | jQuery.fn.dataTableExt.oApi.fnDisplayStart = function ( oSettings, iStart, bRedraw ) 19 | { 20 | if ( typeof bRedraw == 'undefined' ) { 21 | bRedraw = true; 22 | } 23 | 24 | oSettings._iDisplayStart = iStart; 25 | if ( oSettings.oApi._fnCalculateEnd ) { 26 | oSettings.oApi._fnCalculateEnd( oSettings ); 27 | } 28 | 29 | if ( bRedraw ) { 30 | oSettings.oApi._fnDraw( oSettings ); 31 | } 32 | }; 33 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/api/fnProcessingIndicator.js: -------------------------------------------------------------------------------- 1 | /** 2 | * When doing some heavy processing of your own (for example using fnOpen with 3 | * data loading from the server) it can be useful to make use of the 4 | * 'processing' indicator built-into DataTables. This plug-in function exposes 5 | * the internal DataTables function so it can be used for exactly this. 6 | * 7 | * @name fnProcessingIndicator 8 | * @summary Show and hide the DataTables processing element through the API. 9 | * @author Allan Chappell 10 | * 11 | * @param {boolean} [onoff=true] Show (`true`) or hide (`false`) the processing 12 | * element. 13 | * 14 | * @example 15 | * var table = $('#example').dataTable(); 16 | * table.fnProcessingIndicator(); // On 17 | * table.fnProcessingIndicator(false); // Off 18 | */ 19 | 20 | jQuery.fn.dataTableExt.oApi.fnProcessingIndicator = function ( oSettings, onoff ) 21 | { 22 | if ( onoff === undefined ) { 23 | onoff = true; 24 | } 25 | this.oApi._fnProcessingDisplay( oSettings, onoff ); 26 | }; 27 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/features/alphabetSearch/dataTables.alphabetSearch.css: -------------------------------------------------------------------------------- 1 | div.alphabet { 2 | position: relative; 3 | display: table; 4 | width: 100%; 5 | margin-bottom: 1em; 6 | } 7 | 8 | div.alphabet span { 9 | display: table-cell; 10 | color: #3174c7; 11 | cursor: pointer; 12 | text-align: center; 13 | width: 3.5% 14 | } 15 | 16 | div.alphabet span:hover { 17 | text-decoration: underline; 18 | } 19 | 20 | div.alphabet span.active { 21 | color: black; 22 | } 23 | 24 | div.alphabet span.empty { 25 | color: red; 26 | } 27 | 28 | div.alphabetInfo { 29 | display: block; 30 | position: absolute; 31 | background-color: #111; 32 | border-radius: 3px; 33 | color: white; 34 | top: 2em; 35 | height: 1.8em; 36 | padding-top: 0.4em; 37 | text-align: center; 38 | z-index: 1; 39 | } 40 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/features/lengthLinks/dataTables.lengthLinks.css: -------------------------------------------------------------------------------- 1 | 2 | div.dataTables_length a.active { 3 | color: black; 4 | } -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/features/lengthLinks/dataTables.lengthLinks.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | Page length control via links for DataTables 3 | 2014 SpryMedia Ltd - datatables.net/license 4 | */ 5 | (function(i,j,a){a.fn.dataTable.LengthLinks=function(d){var c=new a.fn.dataTable.Api(d),f=c.settings()[0],e=a("
").addClass(f.oClasses.sLength),h=-1;this.container=function(){return e[0]};e.on("click.dtll","a",function(b){b.preventDefault();c.page.len(1*a(this).data("length")).draw(!1)});c.on("draw",function(){if(c.page.len()!==h){var b=f.aLengthMenu,d=2===b.length&&a.isArray(b[0])?b[1]:b,g=2===b.length&&a.isArray(b[0])?b[0]:b,b=a.map(g,function(b,a){return b==c.page.len()?''+d[a]+"":''+d[a]+""});e.html(f.oLanguage.sLengthMenu.replace("_MENU_",b.join(" | ")));h=c.page.len()}});c.on("destroy",function(){e.off("click.dtll","a")})};a.fn.dataTable.ext.feature.push({fnInit:function(d){return(new a.fn.dataTable.LengthLinks(d)).container()},cFeature:"L",sFeature:"LengthLinks"})})(window,document,jQuery); 7 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/features/searchHighlight/dataTables.searchHighlight.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | table.dataTable span.highlight { 4 | background-color: #FFFF88; 5 | } 6 | 7 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/features/searchHighlight/dataTables.searchHighlight.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | SearchHighlight for DataTables v1.0.1 3 | 2014 SpryMedia Ltd - datatables.net/license 4 | */ 5 | (function(f,c,b){b(c).on("init.dt.dth",function(c,d){var a=new b.fn.dataTable.Api(d),e=b(a.table().body());if(b(a.table().node()).hasClass("searchHighlight")||d.oInit.searchHighlight||b.fn.dataTable.defaults.searchHighlight)a.on("draw.dt.dth column-visibility.dt.dth",function(){e.unhighlight();a.rows({filter:"applied"}).data().length&&e.highlight(a.search().split(" "))}).on("destroy",function(){a.off("draw.dt.dth column-visibility.dt.dth")})})})(window,document,jQuery); 6 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Afrikaans.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Afrikaans translation 3 | * @name Afrikaans 4 | * @anchor Afrikaans 5 | * @author Ajoft Software 6 | */ 7 | 8 | { 9 | "sEmptyTable": "Geen data beskikbaar in tabel", 10 | "sInfo": "uitstalling _START_ to _END_ of _TOTAL_ inskrywings", 11 | "sInfoEmpty": "uitstalling 0 to 0 of 0 inskrywings", 12 | "sInfoFiltered": "(gefiltreer uit _MAX_ totaal inskrywings)", 13 | "sInfoPostFix": "", 14 | "sInfoThousands": ",", 15 | "sLengthMenu": "uitstal _MENU_ inskrywings", 16 | "sLoadingRecords": "laai...", 17 | "sProcessing": "verwerking...", 18 | "sSearch": "soektog:", 19 | "sZeroRecords": "Geen treffers gevind", 20 | "oPaginate": { 21 | "sFirst": "eerste", 22 | "sLast": "laaste", 23 | "sNext": "volgende", 24 | "sPrevious": "vorige" 25 | }, 26 | "oAria": { 27 | "sSortAscending": ": aktiveer kolom stygende te sorteer", 28 | "sSortDescending": ": aktiveer kolom orde te sorteer" 29 | } 30 | } -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Arabic.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Arabic translation 3 | * @name Arabic 4 | * @anchor Arabic 5 | * @author Ossama Khayat 6 | */ 7 | 8 | { 9 | "sProcessing": "جاري التحميل...", 10 | "sLengthMenu": "أظهر مُدخلات _MENU_", 11 | "sZeroRecords": "لم يُعثر على أية سجلات", 12 | "sInfo": "إظهار _START_ إلى _END_ من أصل _TOTAL_ مُدخل", 13 | "sInfoEmpty": "يعرض 0 إلى 0 من أصل 0 سجلّ", 14 | "sInfoFiltered": "(منتقاة من مجموع _MAX_ مُدخل)", 15 | "sInfoPostFix": "", 16 | "sSearch": "ابحث:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "الأول", 20 | "sPrevious": "السابق", 21 | "sNext": "التالي", 22 | "sLast": "الأخير" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Azerbaijan.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Azerbaijan translation 3 | * @name Azerbaijan 4 | * @anchor Azerbaijan 5 | * @author H.Huseyn 6 | */ 7 | 8 | { 9 | "sEmptyTable": "Cədvəldə heç bir məlumat yoxdur", 10 | "sInfo": " _TOTAL_ Nəticədən _START_ - _END_ Arası Nəticələr", 11 | "sInfoEmpty": "Nəticə Yoxdur", 12 | "sInfoFiltered": "( _MAX_ Nəticə İçindən Tapılanlar)", 13 | "sInfoPostFix": "", 14 | "sInfoThousands": ",", 15 | "sLengthMenu": "Səhifədə _MENU_ Nəticə Göstər", 16 | "sLoadingRecords": "Yüklənir...", 17 | "sProcessing": "Gözləyin...", 18 | "sSearch": "Axtarış:", 19 | "sZeroRecords": "Nəticə Tapılmadı.", 20 | "oPaginate": { 21 | "sFirst": "İlk", 22 | "sLast": "Axırıncı", 23 | "sNext": "Sonraki", 24 | "sPrevious": "Öncəki" 25 | }, 26 | "oAria": { 27 | "sSortAscending": ": sütunu artma sırası üzərə aktiv etmək", 28 | "sSortDescending": ": sütunu azalma sırası üzərə aktiv etmək" 29 | } 30 | } -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Bangla.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Bangla translation 3 | * @name Bangla 4 | * @anchor Bangla 5 | * @author Md. Khaled Ben Islam 6 | */ 7 | 8 | { 9 | "sProcessing": "প্রসেসিং হচ্ছে...", 10 | "sLengthMenu": "_MENU_ টা এন্ট্রি দেখাও", 11 | "sZeroRecords": "আপনি যা অনুসন্ধান করেছেন তার সাথে মিলে যাওয়া কোন রেকর্ড খুঁজে পাওয়া যায় নাই", 12 | "sInfo": "_TOTAL_ টা এন্ট্রির মধ্যে _START_ থেকে _END_ পর্যন্ত দেখানো হচ্ছে", 13 | "sInfoEmpty": "কোন এন্ট্রি খুঁজে পাওয়া যায় নাই", 14 | "sInfoFiltered": "(মোট _MAX_ টা এন্ট্রির মধ্যে থেকে বাছাইকৃত)", 15 | "sInfoPostFix": "", 16 | "sSearch": "অনুসন্ধান:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "প্রথমটা", 20 | "sPrevious": "আগেরটা", 21 | "sNext": "পরবর্তীটা", 22 | "sLast": "শেষেরটা" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Belarusian.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Belarusian translation 3 | * @name Belarusian 4 | * @anchor Belarusian 5 | * @author vkachurka 6 | */ 7 | { 8 | "sProcessing": "Пачакайце...", 9 | "sLengthMenu": "Паказваць _MENU_ запісаў", 10 | "sZeroRecords": "Запісы адсутнічаюць.", 11 | "sInfo": "Запісы з _START_ па _END_ з _TOTAL_ запісаў", 12 | "sInfoEmpty": "Запісы з 0 па 0 з 0 запісаў", 13 | "sInfoFiltered": "(адфільтравана з _MAX_ запісаў)", 14 | "sInfoPostFix": "", 15 | "sSearch": "Пошук:", 16 | "sUrl": "", 17 | "oPaginate": { 18 | "sFirst": "Першая", 19 | "sPrevious": "Папярэдняя", 20 | "sNext": "Наступная", 21 | "sLast": "Апошняя" 22 | }, 23 | "oAria": { 24 | "sSortAscending": ": актываваць для сартавання слупка па ўзрастанні", 25 | "sSortDescending": ": актываваць для сартавання слупка па змяншэнні" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Bulgarian.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Bulgarian translation 3 | * @name Bulgarian 4 | * @anchor Bulgarian 5 | * @author Rostislav Stoyanov 6 | */ 7 | 8 | { 9 | "sProcessing": "Обработка на резултатите...", 10 | "sLengthMenu": "Показване на _MENU_ резултата", 11 | "sZeroRecords": "Няма намерени резултати", 12 | "sInfo": "Показване на резултати от _START_ до _END_ от общо _TOTAL_", 13 | "sInfoEmpty": "Показване на резултати от 0 до 0 от общо 0", 14 | "sInfoFiltered": "(филтрирани от общо _MAX_ резултата)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Търсене във всички колони:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "Първа", 20 | "sPrevious": "Предишна", 21 | "sNext": "Следваща", 22 | "sLast": "Последна" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Catalan.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Catalan translation 3 | * @name Catalan 4 | * @anchor Catalan 5 | * @author Sergi 6 | */ 7 | 8 | { 9 | "sProcessing": "Processant...", 10 | "sLengthMenu": "Mostra _MENU_ registres", 11 | "sZeroRecords": "No s'han trobat registres.", 12 | "sInfo": "Mostrant de _START_ a _END_ de _TOTAL_ registres", 13 | "sInfoEmpty": "Mostrant de 0 a 0 de 0 registres", 14 | "sInfoFiltered": "(filtrat de _MAX_ total registres)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Filtrar:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "Primer", 20 | "sPrevious": "Anterior", 21 | "sNext": "Següent", 22 | "sLast": "Últim" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Chinese-traditional.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Chinese (traditional) translation 3 | * @name Chinese (traditional) 4 | * @anchor Chinese (traditional) 5 | * @author GimmeRank Affiliate 6 | */ 7 | 8 | { 9 | "sProcessing": "處理中...", 10 | "sLengthMenu": "顯示 _MENU_ 項結果", 11 | "sZeroRecords": "沒有匹配結果", 12 | "sInfo": "顯示第 _START_ 至 _END_ 項結果,共 _TOTAL_ 項", 13 | "sInfoEmpty": "顯示第 0 至 0 項結果,共 0 項", 14 | "sInfoFiltered": "(從 _MAX_ 項結果過濾)", 15 | "sInfoPostFix": "", 16 | "sSearch": "搜索:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "首頁", 20 | "sPrevious": "上頁", 21 | "sNext": "下頁", 22 | "sLast": "尾頁" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Chinese.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Chinese translation 3 | * @name Chinese 4 | * @anchor Chinese 5 | * @author Chi Cheng 6 | */ 7 | 8 | { 9 | "sProcessing": "处理中...", 10 | "sLengthMenu": "显示 _MENU_ 项结果", 11 | "sZeroRecords": "没有匹配结果", 12 | "sInfo": "显示第 _START_ 至 _END_ 项结果,共 _TOTAL_ 项", 13 | "sInfoEmpty": "显示第 0 至 0 项结果,共 0 项", 14 | "sInfoFiltered": "(由 _MAX_ 项结果过滤)", 15 | "sInfoPostFix": "", 16 | "sSearch": "搜索:", 17 | "sUrl": "", 18 | "sEmptyTable": "表中数据为空", 19 | "sLoadingRecords": "载入中...", 20 | "sInfoThousands": ",", 21 | "oPaginate": { 22 | "sFirst": "首页", 23 | "sPrevious": "上页", 24 | "sNext": "下页", 25 | "sLast": "末页" 26 | }, 27 | "oAria": { 28 | "sSortAscending": ": 以升序排列此列", 29 | "sSortDescending": ": 以降序排列此列" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Czech.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Czech translation 3 | * @name Czech 4 | * @anchor Czech 5 | * @author Magerio 6 | */ 7 | 8 | { 9 | "sProcessing": "Provádím...", 10 | "sLengthMenu": "Zobraz záznamů _MENU_", 11 | "sZeroRecords": "Žádné záznamy nebyly nalezeny", 12 | "sInfo": "Zobrazuji _START_ až _END_ z celkem _TOTAL_ záznamů", 13 | "sInfoEmpty": "Zobrazuji 0 až 0 z 0 záznamů", 14 | "sInfoFiltered": "(filtrováno z celkem _MAX_ záznamů)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Hledat:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "První", 20 | "sPrevious": "Předchozí", 21 | "sNext": "Další", 22 | "sLast": "Poslední" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Danish.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Danish translation 3 | * @name Danish 4 | * @anchor Danish 5 | * @author Werner Knudsen 6 | */ 7 | 8 | { 9 | "sProcessing": "Henter...", 10 | "sLengthMenu": "Vis _MENU_ linjer", 11 | "sZeroRecords": "Ingen linjer matcher søgningen", 12 | "sInfo": "Viser _START_ til _END_ af _TOTAL_ linjer", 13 | "sInfoEmpty": "Viser 0 til 0 af 0 linjer", 14 | "sInfoFiltered": "(filtreret fra _MAX_ linjer)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Søg:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "Første", 20 | "sPrevious": "Forrige", 21 | "sNext": "Næste", 22 | "sLast": "Sidste" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Dutch.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Dutch translation 3 | * @name Dutch 4 | * @anchor Dutch 5 | * @author Erwin Kerk and ashwin 6 | */ 7 | 8 | { 9 | "sProcessing": "Bezig...", 10 | "sLengthMenu": "_MENU_ resultaten weergeven", 11 | "sZeroRecords": "Geen resultaten gevonden", 12 | "sInfo": "_START_ tot _END_ van _TOTAL_ resultaten", 13 | "sInfoEmpty": "Geen resultaten om weer te geven", 14 | "sInfoFiltered": " (gefilterd uit _MAX_ resultaten)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Zoeken:", 17 | "sEmptyTable": "Geen resultaten aanwezig in de tabel", 18 | "sInfoThousands": ".", 19 | "sLoadingRecords": "Een moment geduld aub - bezig met laden...", 20 | "oPaginate": { 21 | "sFirst": "Eerste", 22 | "sLast": "Laatste", 23 | "sNext": "Volgende", 24 | "sPrevious": "Vorige" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/English.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * English - this is the default DataTables ships with 3 | * @name English 4 | * @anchor English 5 | * @author Allan Jardine 6 | */ 7 | 8 | { 9 | "sEmptyTable": "No data available in table", 10 | "sInfo": "Showing _START_ to _END_ of _TOTAL_ entries", 11 | "sInfoEmpty": "Showing 0 to 0 of 0 entries", 12 | "sInfoFiltered": "(filtered from _MAX_ total entries)", 13 | "sInfoPostFix": "", 14 | "sInfoThousands": ",", 15 | "sLengthMenu": "Show _MENU_ entries", 16 | "sLoadingRecords": "Loading...", 17 | "sProcessing": "Processing...", 18 | "sSearch": "Search:", 19 | "sZeroRecords": "No matching records found", 20 | "oPaginate": { 21 | "sFirst": "First", 22 | "sLast": "Last", 23 | "sNext": "Next", 24 | "sPrevious": "Previous" 25 | }, 26 | "oAria": { 27 | "sSortAscending": ": activate to sort column ascending", 28 | "sSortDescending": ": activate to sort column descending" 29 | } 30 | } -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Estonian.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Estonian translation 3 | * @name Estonian 4 | * @anchor Estonian 5 | * @author Janek Todoruk 6 | */ 7 | 8 | { 9 | "sProcessing": "Palun oodake, koostan kuvamiseks nimekirja!", 10 | "sLengthMenu": "Näita kirjeid _MENU_ kaupa", 11 | "sZeroRecords": "Otsitavat vastet ei leitud.", 12 | "sInfo": "Kuvatud: _TOTAL_ kirjet (_START_-_END_)", 13 | "sInfoEmpty": "Otsinguvasteid ei leitud", 14 | "sInfoFiltered": " - filteeritud _MAX_ kirje seast.", 15 | "sInfoPostFix": "Kõik kuvatud kirjed põhinevad reaalsetel tulemustel.", 16 | "sSearch": "Otsi kõikide tulemuste seast:", 17 | "oPaginate": { 18 | "sFirst": "Algus", 19 | "sPrevious": "Eelmine", 20 | "sNext": "Järgmine", 21 | "sLast": "Viimane" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Filipino.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Filipino translation 3 | * @name Filipino 4 | * @anchor Filipino 5 | * @author Citi360 6 | */ 7 | 8 | { 9 | "sProcessing": "Pagproseso...", 10 | "sLengthMenu": "Ipakita _MENU_ entries", 11 | "sZeroRecords": "Walang katugmang mga talaan na natagpuan", 12 | "sInfo": "Ipinapakita ang _START_ sa _END_ ng _TOTAL_ entries", 13 | "sInfoEmpty": "Ipinapakita ang 0-0 ng 0 entries", 14 | "sInfoFiltered": "(na-filter mula _MAX_ kabuuang entries)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Paghahanap:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "Unang", 20 | "sPrevious": "Nakaraan", 21 | "sNext": "Susunod", 22 | "sLast": "Huli" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Finnish.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Finnish translation 3 | * @name Finnish 4 | * @anchor Finnish 5 | * @author Seppo Äyräväinen 6 | */ 7 | 8 | { 9 | "sProcessing": "Hetkinen...", 10 | "sLengthMenu": "Näytä kerralla _MENU_ riviä", 11 | "sZeroRecords": "Tietoja ei löytynyt", 12 | "sInfo": "Näytetään rivit _START_ - _END_ (yhteensä _TOTAL_ )", 13 | "sInfoEmpty": "Näytetään 0 - 0 (yhteensä 0)", 14 | "sInfoFiltered": "(suodatettu _MAX_ tuloksen joukosta)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Etsi:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "Ensimmäinen", 20 | "sPrevious": "Edellinen", 21 | "sNext": "Seuraava", 22 | "sLast": "Viimeinen" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Georgian.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Georgian translation 3 | * @name Georgian 4 | * @anchor Georgian 5 | * @author Mikheil Nadareishvili 6 | */ 7 | 8 | { 9 | "sProcessing": "მიმდინარეობს დამუშავება...", 10 | "sLengthMenu": "აჩვენე _MENU_ ჩანაწერი", 11 | "sZeroRecords": "არაფერი მოიძებნა", 12 | "sInfo": "ნაჩვენებია ჩანაწერები _START_–დან _END_–მდე, სულ _TOTAL_ ჩანაწერია", 13 | "sInfoEmpty": "ნაჩვენებია ჩანაწერები 0–დან 0–მდე, სულ 0 ჩანაწერია", 14 | "sInfoFiltered": "(გაფილტრული შედეგი _MAX_ ჩანაწერიდან)", 15 | "sInfoPostFix": "", 16 | "sSearch": "ძიება:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "პირველი", 20 | "sPrevious": "წინა", 21 | "sNext": "შემდეგი", 22 | "sLast": "ბოლო" 23 | } 24 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/German.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * German translation 3 | * @name German 4 | * @anchor German 5 | * @author Joerg Holz 6 | */ 7 | 8 | { 9 | "sEmptyTable": "Keine Daten in der Tabelle vorhanden", 10 | "sInfo": "_START_ bis _END_ von _TOTAL_ Einträgen", 11 | "sInfoEmpty": "0 bis 0 von 0 Einträgen", 12 | "sInfoFiltered": "(gefiltert von _MAX_ Einträgen)", 13 | "sInfoPostFix": "", 14 | "sInfoThousands": ".", 15 | "sLengthMenu": "_MENU_ Einträge anzeigen", 16 | "sLoadingRecords": "Wird geladen...", 17 | "sProcessing": "Bitte warten...", 18 | "sSearch": "Suchen", 19 | "sZeroRecords": "Keine Einträge vorhanden.", 20 | "oPaginate": { 21 | "sFirst": "Erste", 22 | "sPrevious": "Zurück", 23 | "sNext": "Nächste", 24 | "sLast": "Letzte" 25 | }, 26 | "oAria": { 27 | "sSortAscending": ": aktivieren, um Spalte aufsteigend zu sortieren", 28 | "sSortDescending": ": aktivieren, um Spalte absteigend zu sortieren" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Greek.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Greek translation 3 | * @name Greek 4 | * @anchor Greek 5 | * @author Abraam Ziogas 6 | */ 7 | 8 | { 9 | "sProcessing": "Επεξεργασία...", 10 | "sLengthMenu": "Δείξε _MENU_ εγγραφές", 11 | "sZeroRecords": "Δεν βρέθηκαν εγγραφές που να ταιριάζουν", 12 | "sInfo": "Δείχνοντας _START_ εως _END_ από _TOTAL_ εγγραφές", 13 | "sInfoEmpty": "Δείχνοντας 0 εως 0 από 0 εγγραφές", 14 | "sInfoFiltered": "(φιλτραρισμένες από _MAX_ συνολικά εγγραφές)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Αναζήτηση:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "Πρώτη", 20 | "sPrevious": "Προηγούμενη", 21 | "sNext": "Επόμενη", 22 | "sLast": "Τελευταία" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Gujarati.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Gujarati translation 3 | * @name Gujarati 4 | * @anchor Gujarati 5 | * @author Apoto 6 | */ 7 | 8 | { 9 | "sEmptyTable": "કોષ્ટકમાં કોઈ ડેટા ઉપલબ્ધ નથી", 10 | "sInfo": "કુલ_પ્રવેશો_અંત_પ્રારંભ_દર્શાવે_છે", 11 | "sInfoEmpty": "0 પ્રવેશો 0 0 બતાવી રહ્યું છે", 12 | "sInfoFiltered": "(_MAX_ કુલ પ્રવેશો માંથી ફિલ્ટર)", 13 | "sInfoPostFix": "", 14 | "sInfoThousands": ",", 15 | "sLengthMenu": "બતાવો _MENU_ પ્રવેશો", 16 | "sLoadingRecords": "લોડ કરી રહ્યું છે ...", 17 | "sProcessing": "પ્રક્રિયા ...", 18 | "sSearch": "શોધો:", 19 | "sZeroRecords": "કોઈ મેળ ખાતા રેકોર્ડ મળી", 20 | "oPaginate": { 21 | "sFirst": "પ્રથમ", 22 | "sLast": "અંતિમ", 23 | "sNext": "આગામી", 24 | "sPrevious": "ગત" 25 | }, 26 | "oAria": { 27 | "sSortAscending": ": સ્તંભ ચડતા ક્રમમાં ગોઠવવા માટે સક્રિય", 28 | "sSortDescending": ": કૉલમ ઉતરતા ક્રમમાં ગોઠવવા માટે સક્રિય" 29 | } 30 | } -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Hebrew.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Hebrew translation 3 | * @name Hebrew 4 | * @anchor Hebrew 5 | * @author Neil Osman (WW3) 6 | */ 7 | 8 | { 9 | "sProcessing": "מעבד...", 10 | "sLengthMenu": "הצג _MENU_ פריטים", 11 | "sZeroRecords": "לא נמצאו רשומות מתאימות", 12 | "sInfo": "_START_ עד _END_ מתוך _TOTAL_ רשומות" , 13 | "sInfoEmpty": "0 עד 0 מתוך 0 רשומות", 14 | "sInfoFiltered": "(מסונן מסך _MAX_ רשומות)", 15 | "sInfoPostFix": "", 16 | "sSearch": "חפש:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "ראשון", 20 | "sPrevious": "קודם", 21 | "sNext": "הבא", 22 | "sLast": "אחרון" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Hindi.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Hindi translation 3 | * @name Hindi 4 | * @anchor Hindi 5 | * @author Outshine Solutions 6 | */ 7 | 8 | { 9 | "sProcessing": "प्रगति पे हैं ...", 10 | "sLengthMenu": " _MENU_ प्रविष्टियां दिखाएं ", 11 | "sZeroRecords": "रिकॉर्ड्स का मेल नहीं मिला", 12 | "sInfo": "_START_ to _END_ of _TOTAL_ प्रविष्टियां दिखा रहे हैं", 13 | "sInfoEmpty": "0 में से 0 से 0 प्रविष्टियां दिखा रहे हैं", 14 | "sInfoFiltered": "(_MAX_ कुल प्रविष्टियों में से छठा हुआ)", 15 | "sInfoPostFix": "", 16 | "sSearch": "खोजें:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "प्रथम", 20 | "sPrevious": "पिछला", 21 | "sNext": "अगला", 22 | "sLast": "अंतिम" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Icelandic.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Icelandic translation 3 | * @name Icelandic 4 | * @anchor Icelandic 5 | * @author Finnur Kolbeinsson 6 | */ 7 | 8 | { 9 | "sEmptyTable": "Engin gögn eru í þessari töflu", 10 | "sInfo": "Sýni _START_ til _END_ af _TOTAL_ færslum", 11 | "sInfoEmpty": "Sýni 0 til 0 af 0 færslum", 12 | "sInfoFiltered": "(síað út frá _MAX_ færslum)", 13 | "sInfoPostFix": "", 14 | "sInfoThousands": ".", 15 | "sLengthMenu": "Sýna _MENU_ færslur", 16 | "sLoadingRecords": "Hleð...", 17 | "sProcessing": "Úrvinnsla...", 18 | "sSearch": "Leita:", 19 | "sZeroRecords": "Engar færslur fundust", 20 | "oPaginate": { 21 | "sFirst": "Fyrsta", 22 | "sLast": "Síðasta", 23 | "sNext": "Næsta", 24 | "sPrevious": "Fyrri" 25 | }, 26 | "oAria": { 27 | "sSortAscending": ": virkja til að raða dálki í hækkandi röð", 28 | "sSortDescending": ": virkja til að raða dálki lækkandi í röð" 29 | } 30 | } -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Indonesian-Alternative.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Indonesian translation 3 | * @name Indonesian 4 | * @anchor Indonesian 5 | * @author Landung Wahana 6 | */ 7 | 8 | { 9 | "sProcessing": "Sedang proses...", 10 | "sLengthMenu": "Tampilan _MENU_ entri", 11 | "sZeroRecords": "Tidak ditemukan data yang sesuai", 12 | "sInfo": "Tampilan _START_ sampai _END_ dari _TOTAL_ entri", 13 | "sInfoEmpty": "Tampilan 0 hingga 0 dari 0 entri", 14 | "sInfoFiltered": "(disaring dari _MAX_ entri keseluruhan)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Cari:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "Awal", 20 | "sPrevious": "Balik", 21 | "sNext": "Lanjut", 22 | "sLast": "Akhir" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Indonesian.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Indonesian translation 3 | * @name Indonesian 4 | * @anchor Indonesian 5 | * @author Cipto Hadi 6 | */ 7 | 8 | { 9 | "sProcessing": "Sedang memproses...", 10 | "sLengthMenu": "Tampilkan _MENU_ entri", 11 | "sZeroRecords": "Tidak ditemukan data yang sesuai", 12 | "sInfo": "Menampilkan _START_ sampai _END_ dari _TOTAL_ entri", 13 | "sInfoEmpty": "Menampilkan 0 sampai 0 dari 0 entri", 14 | "sInfoFiltered": "(disaring dari _MAX_ entri keseluruhan)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Cari:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "Pertama", 20 | "sPrevious": "Sebelumnya", 21 | "sNext": "Selanjutnya", 22 | "sLast": "Terakhir" 23 | } 24 | } -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Irish.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Irish translation 3 | * @name Irish 4 | * @anchor Irish 5 | * @author Lets Be Famous Journal 6 | */ 7 | 8 | { 9 | "sProcessing": "Próiseáil...", 10 | "sLengthMenu": "Taispeáin iontrálacha _MENU_", 11 | "sZeroRecords": "Gan aon taifead meaitseáil aimsithe", 12 | "sInfo": "_START_ Showing a _END_ na n-iontrálacha _TOTAL_", 13 | "sInfoEmpty": "Showing 0-0 na n-iontrálacha 0", 14 | "sInfoFiltered": "(scagtha ó _MAX_ iontrálacha iomlán)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Cuardaigh:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "An Chéad", 20 | "sPrevious": "Roimhe Seo", 21 | "sNext": "Ar Aghaidh", 22 | "sLast": "Last" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Japanese.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Japanese translation 3 | * @name Japanese 4 | * @anchor Japanese 5 | * @author yusuke 6 | */ 7 | 8 | { 9 | "sProcessing": "処理中...", 10 | "sLengthMenu": "_MENU_ 件表示", 11 | "sZeroRecords": "データはありません。", 12 | "sInfo": " _TOTAL_ 件中 _START_ から _END_ まで表示", 13 | "sInfoEmpty": " 0 件中 0 から 0 まで表示", 14 | "sInfoFiltered": "(全 _MAX_ 件より抽出)", 15 | "sInfoPostFix": "", 16 | "sSearch": "検索:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "先頭", 20 | "sPrevious": "前", 21 | "sNext": "次", 22 | "sLast": "最終" 23 | } 24 | } -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Korean.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Korean translation 3 | * @name Korean 4 | * @anchor Korean 5 | * @author WonGoo Lee 6 | */ 7 | 8 | { 9 | "sEmptyTable": "데이터가 없습니다", 10 | "sInfo": "_START_ - _END_ / _TOTAL_", 11 | "sInfoEmpty": "0 - 0 / 0", 12 | "sInfoFiltered": "(총 _MAX_ 개)", 13 | "sInfoPostFix": "", 14 | "sInfoThousands": ",", 15 | "sLengthMenu": "페이지당 줄수 _MENU_", 16 | "sLoadingRecords": "읽는중...", 17 | "sProcessing": "처리중...", 18 | "sSearch": "검색:", 19 | "sZeroRecords": "검색 결과가 없습니다", 20 | "oPaginate": { 21 | "sFirst": "처음", 22 | "sLast": "마지막", 23 | "sNext": "다음", 24 | "sPrevious": "이전" 25 | }, 26 | "oAria": { 27 | "sSortAscending": ": 오름차순 정렬", 28 | "sSortDescending": ": 내림차순 정렬" 29 | } 30 | } -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Latvian.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Latvian translation 3 | * @name Latvian 4 | * @anchor Latvian 5 | * @author Oskars Podans 6 | */ 7 | 8 | { 9 | "sProcessing": "Uzgaidiet...", 10 | "sLengthMenu": "Rādīt _MENU_ ierakstus", 11 | "sZeroRecords": "Nav atrasti vaicājumam atbilstoši ieraksti", 12 | "sInfo": "Parādīti _START_. līdz _END_. no _TOTAL_ ierakstiem", 13 | "sInfoEmpty": "Nav ierakstu", 14 | "sInfoFiltered": "(atlasīts no pavisam _MAX_ ierakstiem)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Meklēt:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "Pirmā", 20 | "sPrevious": "Iepriekšējā", 21 | "sNext": "Nākošā", 22 | "sLast": "Pēdējā" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Lithuanian.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Lithuanian translation 3 | * @name Lithuanian 4 | * @anchor Lithuanian 5 | * @author Kęstutis Morkūnas 6 | */ 7 | 8 | { 9 | "sProcessing": "Apdorojama...", 10 | "sLengthMenu": "Rodyti _MENU_ įrašus", 11 | "sZeroRecords": "Įrašų nerasta", 12 | "sInfo": "Rodomi įrašai nuo _START_ iki _END_ iš _TOTAL_ įrašų", 13 | "sInfoEmpty": "Rodomi įrašai nuo 0 iki 0 iš 0", 14 | "sInfoFiltered": "(atrinkta iš _MAX_ įrašų)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Ieškoti:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "Pirmas", 20 | "sPrevious": "Ankstesnis", 21 | "sNext": "Tolimesnis", 22 | "sLast": "Paskutinis" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Macedonian.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Macedonian translation 3 | * @name Macedonian 4 | * @anchor Macedonian 5 | * @author Bojan Petkovski 6 | */ 7 | 8 | { 9 | "sProcessing": "Процесирање...", 10 | "sLengthMenu": "Прикажи _MENU_ записи", 11 | "sZeroRecords": "Не се пронајдени записи", 12 | "sEmptyTable": "Нема податоци во табелата", 13 | "sLoadingRecords": "Вчитување...", 14 | "sInfo": "Прикажани _START_ до _END_ од _TOTAL_ записи", 15 | "sInfoEmpty": "Прикажани 0 до 0 од 0 записи", 16 | "sInfoFiltered": "(филтрирано од вкупно _MAX_ записи)", 17 | "sInfoPostFix": "", 18 | "sSearch": "Барај", 19 | "sUrl": "", 20 | "oPaginate": { 21 | "sFirst": "Почетна", 22 | "sPrevious": "Претходна", 23 | "sNext": "Следна", 24 | "sLast": "Последна" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Malay.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Malay translation 3 | * @name Malay 4 | * @anchor Malay 5 | * @author Mohamad Zharif 6 | */ 7 | 8 | { 9 | "sEmptyTable": "Tiada data", 10 | "sInfo": "Paparan dari _START_ hingga _END_ dari _TOTAL_ rekod", 11 | "sInfoEmpty": "Paparan 0 hingga 0 dari 0 rekod", 12 | "sInfoFiltered": "(Ditapis dari jumlah _MAX_ rekod)", 13 | "sInfoPostFix": "", 14 | "sInfoThousands": ",", 15 | "sLengthMenu": "Papar _MENU_ rekod", 16 | "sLoadingRecords": "Diproses...", 17 | "sProcessing": "Sedang diproses...", 18 | "sSearch": "Carian:", 19 | "sZeroRecords": "Tiada padanan rekod yang dijumpai.", 20 | "oPaginate": { 21 | "sFirst": "Pertama", 22 | "sPrevious": "Sebelum", 23 | "sNext": "Kemudian", 24 | "sLast": "Akhir" 25 | }, 26 | "oAria": { 27 | "sSortAscending": ": diaktifkan kepada susunan lajur menaik", 28 | "sSortDescending": ": diaktifkan kepada susunan lajur menurun" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Norwegian.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Norwegian translation 3 | * @name Norwegian 4 | * @anchor Norwegian 5 | * @author Petter Ekrann 6 | */ 7 | 8 | { 9 | "sProcessing": "Laster...", 10 | "sLengthMenu": "Vis _MENU_ linjer", 11 | "sZeroRecords": "Ingen linjer matcher søket", 12 | "sInfo": "Viser _START_ til _END_ av _TOTAL_ linjer", 13 | "sInfoEmpty": "Viser 0 til 0 av 0 linjer", 14 | "sInfoFiltered": "(filtrert fra _MAX_ totalt antall linjer)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Søk:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "Første", 20 | "sPrevious": "Forrige", 21 | "sNext": "Neste", 22 | "sLast": "Siste" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Persian.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Persian translation 3 | * @name Persian 4 | * @anchor Persian 5 | * @author Ehsan Chavoshi 6 | */ 7 | 8 | { 9 | "sProcessing": "درحال پردازش...", 10 | "sLengthMenu": "نمایش محتویات _MENU_", 11 | "sZeroRecords": "موردی یافت نشد", 12 | "sInfo": "نمایش _START_ تا _END_ از مجموع _TOTAL_ مورد", 13 | "sInfoEmpty": "تهی", 14 | "sInfoFiltered": "(فیلتر شده از مجموع _MAX_ مورد)", 15 | "sInfoPostFix": "", 16 | "sSearch": "جستجو:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "ابتدا", 20 | "sPrevious": "قبلی", 21 | "sNext": "بعدی", 22 | "sLast": "انتها" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Polish.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Polish translation 3 | * @name Polish 4 | * @anchor Polish 5 | * @author Tomasz Kowalski 6 | */ 7 | 8 | { 9 | "sProcessing": "Przetwarzanie...", 10 | "sLengthMenu": "Pokaż _MENU_ pozycji", 11 | "sZeroRecords": "Nie znaleziono pasujących pozycji", 12 | "sInfoThousands": " ", 13 | "sInfo": "Pozycje od _START_ do _END_ z _TOTAL_ łącznie", 14 | "sInfoEmpty": "Pozycji 0 z 0 dostępnych", 15 | "sInfoFiltered": "(filtrowanie spośród _MAX_ dostępnych pozycji)", 16 | "sInfoPostFix": "", 17 | "sSearch": "Szukaj:", 18 | "sUrl": "", 19 | "oPaginate": { 20 | "sFirst": "Pierwsza", 21 | "sPrevious": "Poprzednia", 22 | "sNext": "Następna", 23 | "sLast": "Ostatnia" 24 | }, 25 | "sEmptyTable": "Brak danych", 26 | "sLoadingRecords": "Wczytywanie...", 27 | "oAria": { 28 | "sSortAscending": ": aktywuj, by posortować kolumnę rosnąco", 29 | "sSortDescending": ": aktywuj, by posortować kolumnę malejąco" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Portuguese.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Portuguese translation 3 | * @name Portuguese 4 | * @anchor Portuguese 5 | * @author Nuno Felicio 6 | */ 7 | 8 | { 9 | "sProcessing": "A processar...", 10 | "sLengthMenu": "Mostrar _MENU_ registos", 11 | "sZeroRecords": "Não foram encontrados resultados", 12 | "sInfo": "Mostrando de _START_ até _END_ de _TOTAL_ registos", 13 | "sInfoEmpty": "Mostrando de 0 até 0 de 0 registos", 14 | "sInfoFiltered": "(filtrado de _MAX_ registos no total)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Procurar:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "Primeiro", 20 | "sPrevious": "Anterior", 21 | "sNext": "Seguinte", 22 | "sLast": "Último" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Romanian.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Romanian translation 3 | * @name Romanian 4 | * @anchor Romanian 5 | * @author Alexandru Jurubita 6 | */ 7 | 8 | { 9 | "sProcessing": "Proceseaza...", 10 | "sLengthMenu": "Afiseaza _MENU_ inregistrari pe pagina", 11 | "sZeroRecords": "Nu am gasit nimic - ne pare rau", 12 | "sInfo": "Afisate de la _START_ la _END_ din _TOTAL_ inregistrari", 13 | "sInfoEmpty": "Afisate de la 0 la 0 din 0 inregistrari", 14 | "sInfoFiltered": "(filtrate dintr-un total de _MAX_ inregistrari)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Cauta:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "Prima", 20 | "sPrevious": "Precedenta", 21 | "sNext": "Urmatoarea", 22 | "sLast": "Ultima" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Russian.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Russian translation 3 | * @name Russian 4 | * @anchor Russian 5 | * @author Tjoma 6 | * @autor aspyatkin 7 | */ 8 | 9 | { 10 | "processing": "Подождите...", 11 | "search": "Поиск:", 12 | "lengthMenu": "Показать _MENU_ записей", 13 | "info": "Записи с _START_ до _END_ из _TOTAL_ записей", 14 | "infoEmpty": "Записи с 0 до 0 из 0 записей", 15 | "infoFiltered": "(отфильтровано из _MAX_ записей)", 16 | "infoPostFix": "", 17 | "loadingRecords": "Загрузка записей...", 18 | "zeroRecords": "Записи отсутствуют.", 19 | "emptyTable:": "В таблице отсутствуют данные", 20 | "paginate": { 21 | "first": "Первая", 22 | "previous": "Предыдущая", 23 | "next": "Следующая", 24 | "last": "Последняя" 25 | }, 26 | "aria": { 27 | "sortAscending": ": активировать для сортировки столбца по возрастанию", 28 | "sortDescending": ": активировать для сортировки столбца по убыванию" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Serbian.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Serbian translation (Latin alphabet) 3 | * @name Serbian (Latin) 4 | * @anchor Serbian (Latin) 5 | * @author Marko Novakovic 6 | */ 7 | 8 | { 9 | "sProcessing": "Procesiranje u toku...", 10 | "sLengthMenu": "Prikaži _MENU_ elemenata", 11 | "sZeroRecords": "Nije pronađen nijedan rezultat", 12 | "sInfo": "Prikaz _START_ do _END_ od ukupno _TOTAL_ elemenata", 13 | "sInfoEmpty": "Prikaz 0 do 0 od ukupno 0 elemenata", 14 | "sInfoFiltered": "(filtrirano od ukupno _MAX_ elemenata)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Pretraga:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "Početna", 20 | "sPrevious": "Prethodna", 21 | "sNext": "Sledeća", 22 | "sLast": "Poslednja" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Slovenian.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Slovenian translation 3 | * @name Slovenian 4 | * @anchor Slovenian 5 | * @author Marko Kroflic, Blaž Brenčič and Andrej Florjančič 6 | */ 7 | 8 | { 9 | "sEmptyTable": "Nobenih podatkov ni na voljo", 10 | "sInfo": "Prikazujem _START_ do _END_ od _TOTAL_ zapisov", 11 | "sInfoEmpty": "Prikazujem 0 do 0 od 0 zapisov", 12 | "sInfoFiltered": "(filtrirano od _MAX_ vseh zapisov)", 13 | "sInfoPostFix": "", 14 | "sInfoThousands": ",", 15 | "sLengthMenu": "Prikaži _MENU_ zapisov", 16 | "sLoadingRecords": "Nalagam...", 17 | "sProcessing": "Obdelujem...", 18 | "sSearch": "Išči:", 19 | "sZeroRecords": "Nobeden zapis ne ustreza", 20 | "oPaginate": { 21 | "sFirst": "Prvi", 22 | "sLast": "Zadnji", 23 | "sNext": "Nasl.", 24 | "sPrevious": "Pred." 25 | }, 26 | "oAria": { 27 | "sSortAscending": ": vključite za naraščujoči sort", 28 | "sSortDescending": ": vključite za padajoči sort" 29 | } 30 | } -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Swahili.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Swahili translation 3 | * @name Swahili 4 | * @anchor Swahili 5 | * @author Roy Owino 6 | */ 7 | 8 | { 9 | "sEmptyTable": "Hakuna data iliyo patikana", 10 | "sInfo": "Inaonyesha _START_ mpaka _END_ ya matokeo _TOTAL_", 11 | "sInfoEmpty": "Inaonyesha 0 hadi 0 ya matokeo 0", 12 | "sInfoFiltered": "(uschujo kutoka matokeo idadi _MAX_)", 13 | "sInfoPostFix": "", 14 | "sInfoThousands": ",", 15 | "sLengthMenu": "Onyesha _MENU_ matokeo", 16 | "sLoadingRecords": "Inapakia...", 17 | "sProcessing": "Processing...", 18 | "sSearch": "Tafuta:", 19 | "sZeroRecords": "Rekodi vinavyolingana haziku patikana", 20 | "oPaginate": { 21 | "sFirst": "Mwanzo", 22 | "sLast": "Mwisho", 23 | "sNext": "Ijayo", 24 | "sPrevious": "Kabla" 25 | }, 26 | "oAria": { 27 | "sSortAscending": ": seti kulainisha sanjari kwa mtindo wa upandaji", 28 | "sSortDescending": ": seti kulainisha sanjari kwa mtindo wa mteremko" 29 | } 30 | } -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Swedish.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Swedish translation 3 | * @name Swedish 4 | * @anchor Swedish 5 | * @author Kristoffer Karlström 6 | */ 7 | 8 | { 9 | "sEmptyTable": "Tabellen innehåller ingen data", 10 | "sInfo": "Visar _START_ till _END_ av totalt _TOTAL_ rader", 11 | "sInfoEmpty": "Visar 0 till 0 av totalt 0 rader", 12 | "sInfoFiltered": "(filtrerade från totalt _MAX_ rader)", 13 | "sInfoPostFix": "", 14 | "sInfoThousands": " ", 15 | "sLengthMenu": "Visa _MENU_ rader", 16 | "sLoadingRecords": "Laddar...", 17 | "sProcessing": "Bearbetar...", 18 | "sSearch": "Sök:", 19 | "sZeroRecords": "Hittade inga matchande resultat", 20 | "oPaginate": { 21 | "sFirst": "Första", 22 | "sLast": "Sista", 23 | "sNext": "Nästa", 24 | "sPrevious": "Föregående" 25 | }, 26 | "oAria": { 27 | "sSortAscending": ": aktivera för att sortera kolumnen i stigande ordning", 28 | "sSortDescending": ": aktivera för att sortera kolumnen i fallande ordning" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Tamil.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Tamil translation 3 | * @name Tamil 4 | * @anchor Tamil 5 | * @author Sam Arul Raj 6 | */ 7 | 8 | { 9 | "sEmptyTable": "அட்டவணையில் தரவு கிடைக்கவில்லை", 10 | "sInfo": "உள்ளீடுகளை் _START_ முதல _END_ உள்ள _TOTAL_ காட்டும்", 11 | "sInfoEmpty": "0 உள்ளீடுகளை 0 0 காட்டும்", 12 | "sInfoFiltered": "(_MAX_ மொத்த உள்ளீடுகளை இருந்து வடிகட்டி)", 13 | "sInfoPostFix": "", 14 | "sInfoThousands": ",", 15 | "sLengthMenu": "_MENU_ காண்பி", 16 | "sLoadingRecords": "ஏற்றுகிறது ...", 17 | "sProcessing": "செயலாக்க ...", 18 | "sSearch": "தேடல்:", 19 | "sZeroRecords": "பொருத்தமான பதிவுகள் இல்லை", 20 | "oPaginate": { 21 | "sFirst": "முதல்", 22 | "sLast": "இறுதி", 23 | "sNext": "அடுத்து", 24 | "sPrevious": "முந்தைய" 25 | }, 26 | "oAria": { 27 | "sSortAscending": ": நிரலை ஏறுவரிசையில் வரிசைப்படுத்த செயல்படுத்த", 28 | "sSortDescending": ": நிரலை இறங்கு வரிசைப்படுத்த செயல்படுத்த" 29 | } 30 | } -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Thai.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Thai translation 3 | * @name Thai 4 | * @anchor Thai 5 | * @author Thanva Thonglor 6 | */ 7 | 8 | { 9 | "sProcessing": "กำลังดำเนินการ...", 10 | "sLengthMenu": "แสดง_MENU_ แถว", 11 | "sZeroRecords": "ไม่พบข้อมูล", 12 | "sInfo": "แสดง _START_ ถึง _END_ จาก _TOTAL_ แถว", 13 | "sInfoEmpty": "แสดง 0 ถึง 0 จาก 0 แถว", 14 | "sInfoFiltered": "(กรองข้อมูล _MAX_ ทุกแถว)", 15 | "sInfoPostFix": "", 16 | "sSearch": "ค้นหา:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "เิริ่มต้น", 20 | "sPrevious": "ก่อนหน้า", 21 | "sNext": "ถัดไป", 22 | "sLast": "สุดท้าย" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Turkish.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Turkish translation 3 | * @name Turkish 4 | * @anchor Turkish 5 | * @author Umit Gorkem 6 | */ 7 | 8 | { 9 | "sProcessing": "İşleniyor...", 10 | "sLengthMenu": "Sayfada _MENU_ Kayıt Göster", 11 | "sZeroRecords": "Eşleşen Kayıt Bulunmadı", 12 | "sInfo": " _TOTAL_ Kayıttan _START_ - _END_ Arası Kayıtlar", 13 | "sInfoEmpty": "Kayıt Yok", 14 | "sInfoFiltered": "( _MAX_ Kayıt İçerisinden Bulunan)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Bul:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "İlk", 20 | "sPrevious": "Önceki", 21 | "sNext": "Sonraki", 22 | "sLast": "Son" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Ukranian.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Ukranian translation 3 | * @name Ukranian 4 | * @anchor Ukranian 5 | * @author antyrat 6 | */ 7 | 8 | { 9 | "sProcessing": "Зачекайте...", 10 | "sLengthMenu": "Показати _MENU_ записів", 11 | "sZeroRecords": "Записи відсутні.", 12 | "sInfo": "Записи з _START_ по _END_ із _TOTAL_ записів", 13 | "sInfoEmpty": "Записи з 0 по 0 із 0 записів", 14 | "sInfoFiltered": "(відфільтровано з _MAX_ записів)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Пошук:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "Перша", 20 | "sPrevious": "Попередня", 21 | "sNext": "Наступна", 22 | "sLast": "Остання" 23 | }, 24 | "oAria": { 25 | "sSortAscending": ": активувати для сортування стовпців за зростанням", 26 | "sSortDescending": ": активувати для сортування стовпців за спаданням" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Urdu.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Urdu translation 3 | * @name Urdu 4 | * @anchor Urdu 5 | * @author Zafar Subzwari 6 | */ 7 | 8 | { 9 | "sProcessing": "ہے جاري عملدرامد...", 10 | "sLengthMenu": "دکہائين شقيں کي (_MENU_) فہرست", 11 | "sZeroRecords": "ملے نہيں مفروضات جلتے ملتے کوئ", 12 | "sInfo": "فہرست کي تک _END_ سے _START_ سے ميں _TOTAL_ فہرست پوري ہے نظر پيش", 13 | "sInfoEmpty": "فہرست کي تک 0 سے 0 سے ميں 0 قل ہے نظر پيشّ", 14 | "sInfoFiltered": "(فہرست ہوئ چھني سے ميں _MAX_ قل)", 15 | "sInfoPostFix": "", 16 | "sSearch": "کرو تلاش:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "پہلا", 20 | "sPrevious": "پچہلا", 21 | "sNext": "اگلا", 22 | "sLast": "آخري" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Uzbek.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Uzbek translation 3 | * @name Uzbek 4 | * @anchor Uzbek 5 | * @author Farkhod Dadajanov 6 | */ 7 | 8 | { 9 | "sEmptyTable": "Ma'lumot yo'q", 10 | "sInfo": "Umumiy _TOTAL_ yozuvlarlardan _START_ dan _END_ gachasi ko'rsatilmoqda", 11 | "sInfoEmpty": "Umumiy 0 yozuvlardan 0 dan 0 gachasi ko'rsatilmoqda", 12 | "sInfoFiltered": "(_MAX_ yozuvlardan filtrlandi)", 13 | "sInfoPostFix": "", 14 | "sLengthMenu": "_MENU_ ta yozuvlarni ko'rsat", 15 | "sLoadingRecords": "Yozuvlar yuklanmoqda...", 16 | "sProcessing": "Ishlayapman...", 17 | "sSearch": "Izlash:", 18 | "sZeroRecords": "Ma'lumot yo'q.", 19 | "oPaginate": { 20 | "sFirst": "Birinchi", 21 | "sPrevious": "Avvalgi", 22 | "sNext": "Keyingi", 23 | "sLast": "Son'ggi" 24 | }, 25 | "oAria": { 26 | "sSortAscending": ": to'g'ri tartiblash", 27 | "sSortDescending": ": teskari tartiblash" 28 | } 29 | } -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/i18n/Vietnamese.lang: -------------------------------------------------------------------------------- 1 | /** 2 | * Vietnamese translation 3 | * @name Vietnamese 4 | * @anchor Vietnamese 5 | * @author Trinh Phuoc Thai 6 | */ 7 | 8 | { 9 | "sProcessing": "Đang xử lý...", 10 | "sLengthMenu": "Xem _MENU_ mục", 11 | "sZeroRecords": "Không tìm thấy dòng nào phù hợp", 12 | "sInfo": "Đang xem _START_ đến _END_ trong tổng số _TOTAL_ mục", 13 | "sInfoEmpty": "Đang xem 0 đến 0 trong tổng số 0 mục", 14 | "sInfoFiltered": "(được lọc từ _MAX_ mục)", 15 | "sInfoPostFix": "", 16 | "sSearch": "Tìm:", 17 | "sUrl": "", 18 | "oPaginate": { 19 | "sFirst": "Đầu", 20 | "sPrevious": "Trước", 21 | "sNext": "Tiếp", 22 | "sLast": "Cuối" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/integration/bootstrap/1/dataTables.bootstrap.css: -------------------------------------------------------------------------------- 1 | div.dataTables_length label { 2 | width: 460px; 3 | float: left; 4 | text-align: left; 5 | } 6 | 7 | div.dataTables_length select { 8 | width: 75px; 9 | } 10 | 11 | div.dataTables_filter label { 12 | float: right; 13 | width: 460px; 14 | } 15 | 16 | div.dataTables_info { 17 | padding-top: 8px; 18 | } 19 | 20 | div.dataTables_paginate { 21 | float: right; 22 | margin: 0; 23 | } 24 | 25 | table { 26 | margin: 1em 0; 27 | clear: both; 28 | } -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/integration/bootstrap/images/sort_asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/datatables-plugins/integration/bootstrap/images/sort_asc.png -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/integration/bootstrap/images/sort_asc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/datatables-plugins/integration/bootstrap/images/sort_asc_disabled.png -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/integration/bootstrap/images/sort_both.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/datatables-plugins/integration/bootstrap/images/sort_both.png -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/integration/bootstrap/images/sort_desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/datatables-plugins/integration/bootstrap/images/sort_desc.png -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/integration/bootstrap/images/sort_desc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/datatables-plugins/integration/bootstrap/images/sort_desc_disabled.png -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/integration/foundation/images/sort_asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/datatables-plugins/integration/foundation/images/sort_asc.png -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/integration/foundation/images/sort_asc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/datatables-plugins/integration/foundation/images/sort_asc_disabled.png -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/integration/foundation/images/sort_both.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/datatables-plugins/integration/foundation/images/sort_both.png -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/integration/foundation/images/sort_desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/datatables-plugins/integration/foundation/images/sort_desc.png -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/integration/foundation/images/sort_desc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/datatables-plugins/integration/foundation/images/sort_desc_disabled.png -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/sorting/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/datatables-plugins/sorting/.DS_Store -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/sorting/alt-string.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Sort on the 'alt' tag of images in a column. This is particularly useful if 3 | * you have a column of images (ticks and crosses for example) and you want to 4 | * control the sorting using the alt tag. 5 | * 6 | * @name Alt string 7 | * @summary Use the `alt` attribute of an image tag as the data to sort upon. 8 | * @author _Jumpy_ 9 | * 10 | * @example 11 | * $('#example').dataTable( { 12 | * columnDefs: [ 13 | * { type: 'alt-string', targets: 0 } 14 | * ] 15 | * } ); 16 | */ 17 | 18 | jQuery.extend( jQuery.fn.dataTableExt.oSort, { 19 | "alt-string-pre": function ( a ) { 20 | return a.match(/alt="(.*?)"/)[1].toLowerCase(); 21 | }, 22 | 23 | "alt-string-asc": function( a, b ) { 24 | return ((a < b) ? -1 : ((a > b) ? 1 : 0)); 25 | }, 26 | 27 | "alt-string-desc": function(a,b) { 28 | return ((a < b) ? 1 : ((a > b) ? -1 : 0)); 29 | } 30 | } ); 31 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/sorting/anti-the.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Often a list of data which has titles in it (books, albums etc) will have 3 | * the word "the" at the start of some individual titles, which you don't want 4 | * to include in your sorting order. This plug-in will strip the word "the" 5 | * from the start of a string and sort on what is left. 6 | * 7 | * @name Anti-"the" 8 | * @summary Sort with the prefixed word `dt-string The` removed, if present 9 | * @author [Allan Jardine](http://sprymedia.co.uk) 10 | * 11 | * @example 12 | * $('#example').dataTable( { 13 | * columnDefs: [ 14 | * { type: 'anti-the', targets: 0 } 15 | * ] 16 | * } ); 17 | */ 18 | 19 | jQuery.extend( jQuery.fn.dataTableExt.oSort, { 20 | "anti-the-pre": function ( a ) { 21 | return a.replace(/^the /i, ""); 22 | }, 23 | 24 | "anti-the-asc": function ( a, b ) { 25 | return ((a < b) ? -1 : ((a > b) ? 1 : 0)); 26 | }, 27 | 28 | "anti-the-desc": function ( a, b ) { 29 | return ((a < b) ? 1 : ((a > b) ? -1 : 0)); 30 | } 31 | } ); 32 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/sorting/custom-data-source/dom-checkbox.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Read information from a column of checkboxes (input elements with type 3 | * checkbox) and return an array to use as a basis for sorting. 4 | * 5 | * @summary Sort based on the checked state of checkboxes in a column 6 | * @name Checkbox data source 7 | * @author [Allan Jardine](http://sprymedia.co.uk) 8 | */ 9 | 10 | $.fn.dataTable.ext.order['dom-checkbox'] = function ( settings, col ) 11 | { 12 | return this.api().column( col, {order:'index'} ).nodes().map( function ( td, i ) { 13 | return $('input', td).prop('checked') ? '1' : '0'; 14 | } ); 15 | }; 16 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/sorting/custom-data-source/dom-select.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Read information from a column of select (drop down) menus and return an 3 | * array to use as a basis for sorting. 4 | * 5 | * @summary Sort based on the value of the `dt-tag select` options in a column 6 | * @name Select menu data source 7 | * @requires DataTables 1.10+ 8 | * @author [Allan Jardine](http://sprymedia.co.uk) 9 | */ 10 | 11 | $.fn.dataTable.ext.order['dom-select'] = function ( settings, col ) 12 | { 13 | return this.api().column( col, {order:'index'} ).nodes().map( function ( td, i ) { 14 | return $('select', td).val(); 15 | } ); 16 | }; 17 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/sorting/custom-data-source/dom-text.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Read information from a column of input (type text) elements and return an 3 | * array to use as a basis for sorting. 4 | * 5 | * @summary Sorting based on the values of `dt-tag input` elements in a column. 6 | * @name Input element data source 7 | * @requires DataTables 1.10+ 8 | * @author [Allan Jardine](http://sprymedia.co.uk) 9 | */ 10 | 11 | $.fn.dataTable.ext.order['dom-text'] = function ( settings, col ) 12 | { 13 | return this.api().column( col, {order:'index'} ).nodes().map( function ( td, i ) { 14 | return $('input', td).val(); 15 | } ); 16 | }; 17 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/sorting/scientific.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This plug-in will treat numbers which are in scientific notation (for 3 | * example `1E-10`, `1.2E6` etc) and sort them numerically. 4 | * 5 | * @name Scientific notation sorting 6 | * @summary Sort data which is written in exponential notation. 7 | * @author [Nick Schurch](http://datatables.net/forums/profile/21757/nickschurch) 8 | * 9 | * @example 10 | * $('#example').dataTable( { 11 | * columnDefs: [ 12 | * { type: 'scientific', targets: 0 } 13 | * ] 14 | * } ); 15 | */ 16 | 17 | jQuery.extend( jQuery.fn.dataTableExt.oSort, { 18 | "scientific-pre": function ( a ) { 19 | return parseFloat(a); 20 | }, 21 | 22 | "scientific-asc": function ( a, b ) { 23 | return ((a < b) ? -1 : ((a > b) ? 1 : 0)); 24 | }, 25 | 26 | "scientific-desc": function ( a, b ) { 27 | return ((a < b) ? 1 : ((a > b) ? -1 : 0)); 28 | } 29 | } ); 30 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/sorting/signed-num.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Although DataTables' internal numeric sorting works no problem on negative 3 | * numbers, it does not accept positively signed numbers. This plug-in will 4 | * sort just such data numerically. 5 | * 6 | * @name Fully signed numbers sorting 7 | * @summary Sort data numerically with a leading `+` symbol (as well as `-`). 8 | * @author [Allan Jardine](http://sprymedia.co.uk) 9 | * 10 | * @example 11 | * $('#example').dataTable( { 12 | * columnDefs: [ 13 | * { type: 'signed-num', targets: 0 } 14 | * ] 15 | * } ); 16 | */ 17 | 18 | jQuery.extend( jQuery.fn.dataTableExt.oSort, { 19 | "signed-num-pre": function ( a ) { 20 | return (a=="-" || a==="") ? 0 : a.replace('+','')*1; 21 | }, 22 | 23 | "signed-num-asc": function ( a, b ) { 24 | return ((a < b) ? -1 : ((a > b) ? 1 : 0)); 25 | }, 26 | 27 | "signed-num-desc": function ( a, b ) { 28 | return ((a < b) ? 1 : ((a > b) ? -1 : 0)); 29 | } 30 | } ); 31 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/type-detection/date-uk.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically detect British (`dd/mm/yyyy`) date types. Goes with the UK 3 | * date sorting plug-in. 4 | * 5 | * @name Date (`dd/mm/yyyy`) 6 | * @summary Detect data which is in the date format `dd/mm/yyyy` 7 | * @author Andy McMaster 8 | */ 9 | 10 | jQuery.fn.dataTableExt.aTypes.unshift( 11 | function ( sData ) 12 | { 13 | if (sData !== null && sData.match(/^(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[012])\/(19|20|21)\d\d$/)) 14 | { 15 | return 'date-uk'; 16 | } 17 | return null; 18 | } 19 | ); 20 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/type-detection/formatted-num.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This plug-in will strip out non-numeric formatting characters such that a 3 | * formatted number (for example 1,000,000) can be detected automatically and 4 | * sorted numerically. Note that characters a-z are not automatically removed, 5 | * otherwise there is a risk of detecting columns as numeric which should not 6 | * be. 7 | * 8 | * DataTables 1.10+ has formatted number type detection and sorting abilities 9 | * built-in. As such this plug-in is marked as deprecated, but might be useful 10 | * when working with old versions of DataTables. 11 | * 12 | * @name Formatted numbers 13 | * @summary formatted_numbers 14 | * @deprecated 15 | * @author [Allan Jardine](http://sprymedia.co.uk) 16 | */ 17 | 18 | jQuery.fn.dataTableExt.aTypes.unshift( 19 | function ( sData ) 20 | { 21 | var deformatted = sData.replace(/[^\d\-\.\/a-zA-Z]/g,''); 22 | if ( $.isNumeric( deformatted ) || deformatted === "-" ) { 23 | return 'formatted-num'; 24 | } 25 | return null; 26 | } 27 | ); 28 | -------------------------------------------------------------------------------- /static/bower_components/datatables-plugins/type-detection/ip-address.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically detect IP addresses in dot notation. Goes perfectly with the 3 | * IP address sorting function. 4 | * 5 | * @name IP address detection 6 | * @summary Detect data which is in IP address notation 7 | * @author Brad Wasson 8 | */ 9 | 10 | jQuery.fn.dataTableExt.aTypes.unshift( 11 | function ( sData ) 12 | { 13 | if (/^\d{1,3}[\.]\d{1,3}[\.]\d{1,3}[\.]\d{1,3}$/.test(sData)) { 14 | return 'ip-address'; 15 | } 16 | return null; 17 | } 18 | ); 19 | -------------------------------------------------------------------------------- /static/bower_components/datatables-responsive/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "datatables-responsive", 3 | "version": "1.0.7", 4 | "main": [ 5 | "js/dataTables.responsive.js", 6 | "css/responsive.dataTables.scss" 7 | ], 8 | "dependencies": { 9 | "jquery": ">=1.7.0", 10 | "datatables": ">=1.10.1" 11 | }, 12 | "homepage": "https://github.com/DataTables/Responsive", 13 | "_release": "1.0.7", 14 | "_resolution": { 15 | "type": "version", 16 | "tag": "1.0.7", 17 | "commit": "435b1bd36ed29de73dd704121de0571a5c1a50a6" 18 | }, 19 | "_source": "git://github.com/DataTables/Responsive.git", 20 | "_target": "~1.0.3", 21 | "_originalSource": "datatables-responsive" 22 | } -------------------------------------------------------------------------------- /static/bower_components/datatables-responsive/.gitignore: -------------------------------------------------------------------------------- 1 | .sass-cache 2 | -------------------------------------------------------------------------------- /static/bower_components/datatables-responsive/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "datatables-responsive", 3 | "version": "1.0.7", 4 | "main": [ 5 | "js/dataTables.responsive.js", 6 | "css/responsive.dataTables.scss" 7 | ], 8 | "dependencies": { 9 | "jquery": ">=1.7.0", 10 | "datatables": ">=1.10.1" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /static/bower_components/datatables-responsive/css/responsive.bootstrap.scss: -------------------------------------------------------------------------------- 1 | 2 | $open-button-background: #337ab7 !default; 3 | 4 | @import 'responsive.dataTables.scss'; 5 | -------------------------------------------------------------------------------- /static/bower_components/datatables-responsive/css/responsive.foundation.scss: -------------------------------------------------------------------------------- 1 | 2 | $open-button-background: #008CBA !default; 3 | 4 | @import 'responsive.dataTables.scss'; 5 | 6 | table.dataTable > tbody > tr.child { 7 | ul { 8 | font-size: 1em; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /static/bower_components/datatables-responsive/css/responsive.jqueryui.scss: -------------------------------------------------------------------------------- 1 | 2 | @import 'responsive.dataTables.scss'; 3 | -------------------------------------------------------------------------------- /static/bower_components/datatables-responsive/examples/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/datatables-responsive/examples/.DS_Store -------------------------------------------------------------------------------- /static/bower_components/datatables-responsive/examples/child-rows/disable-child-rows.xml: -------------------------------------------------------------------------------- 1 | 2 |2 | # This file is in the public domain, so clarified as of 3 | # 2009-05-17 by Arthur David Olson. 4 | 5 | # For companies who don't want to put time zone specification in 6 | # their installation procedures. When users run date, they'll get the message. 7 | # Also useful for the "comp.sources" version. 8 | 9 | # Zone NAME GMTOFF RULES FORMAT 10 | Zone Factory 0 - "Local time zone must be set--see zic manual page" 11 | -------------------------------------------------------------------------------- /static/bower_components/flot/examples/axes-time-zones/tz/southamerica: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/flot/examples/axes-time-zones/tz/southamerica -------------------------------------------------------------------------------- /static/bower_components/flot/examples/axes-time-zones/tz/yearistype.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | : 'This file is in the public domain, so clarified as of' 4 | : '2006-07-17 by Arthur David Olson.' 5 | 6 | case $#-$1 in 7 | 2-|2-0*|2-*[!0-9]*) 8 | echo "$0: wild year - $1" >&2 9 | exit 1 ;; 10 | esac 11 | 12 | case $#-$2 in 13 | 2-even) 14 | case $1 in 15 | *[24680]) exit 0 ;; 16 | *) exit 1 ;; 17 | esac ;; 18 | 2-nonpres|2-nonuspres) 19 | case $1 in 20 | *[02468][048]|*[13579][26]) exit 1 ;; 21 | *) exit 0 ;; 22 | esac ;; 23 | 2-odd) 24 | case $1 in 25 | *[13579]) exit 0 ;; 26 | *) exit 1 ;; 27 | esac ;; 28 | 2-uspres) 29 | case $1 in 30 | *[02468][048]|*[13579][26]) exit 0 ;; 31 | *) exit 1 ;; 32 | esac ;; 33 | 2-*) 34 | echo "$0: wild type - $2" >&2 ;; 35 | esac 36 | 37 | echo "$0: usage is $0 year even|odd|uspres|nonpres|nonuspres" >&2 38 | exit 1 39 | -------------------------------------------------------------------------------- /static/bower_components/flot/examples/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/flot/examples/background.png -------------------------------------------------------------------------------- /static/bower_components/flot/examples/image/hs-2004-27-a-large-web.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/flot/examples/image/hs-2004-27-a-large-web.jpg -------------------------------------------------------------------------------- /static/bower_components/flot/examples/navigate/arrow-down.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/flot/examples/navigate/arrow-down.gif -------------------------------------------------------------------------------- /static/bower_components/flot/examples/navigate/arrow-left.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/flot/examples/navigate/arrow-left.gif -------------------------------------------------------------------------------- /static/bower_components/flot/examples/navigate/arrow-right.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/flot/examples/navigate/arrow-right.gif -------------------------------------------------------------------------------- /static/bower_components/flot/examples/navigate/arrow-up.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/flot/examples/navigate/arrow-up.gif -------------------------------------------------------------------------------- /static/bower_components/flot/flot.jquery.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "flot", 3 | "version": "0.8.3", 4 | "title": "Flot", 5 | "author": { 6 | "name": "Ole Laursen", 7 | "url": "https://github.com/OleLaursen" 8 | }, 9 | "licenses": [{ 10 | "type": "MIT", 11 | "url": "http://github.com/flot/flot/blob/master/LICENSE.txt" 12 | }], 13 | "dependencies": { 14 | "jquery": ">=1.2.6" 15 | }, 16 | "description": "Flot is a pure JavaScript plotting library for jQuery, with a focus on simple usage, attractive looks and interactive features.", 17 | "keywords": ["plot", "chart", "graph", "visualization", "canvas", "graphics"], 18 | "homepage": "http://www.flotcharts.org", 19 | "docs": "http://github.com/flot/flot/blob/master/API.md", 20 | "demo": "http://www.flotcharts.org/flot/examples/", 21 | "bugs": "http://github.com/flot/flot/issues", 22 | "maintainers": [{ 23 | "name": "David Schnur", 24 | "email": "dnschnur@gmail.com", 25 | "url": "http://github.com/dnschnur" 26 | }] 27 | } 28 | -------------------------------------------------------------------------------- /static/bower_components/flot/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Flot", 3 | "version": "0.8.3", 4 | "main": "jquery.flot.js", 5 | "scripts": { 6 | "test": "make test" 7 | }, 8 | "devDependencies": { 9 | "jshint": "0.9.1" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /static/bower_components/font-awesome/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "font-awesome", 3 | "description": "Font Awesome", 4 | "version": "4.2.0", 5 | "keywords": [], 6 | "homepage": "http://fontawesome.io", 7 | "dependencies": {}, 8 | "devDependencies": {}, 9 | "license": [ 10 | "OFL-1.1", 11 | "MIT", 12 | "CC-BY-3.0" 13 | ], 14 | "main": [ 15 | "./css/font-awesome.css", 16 | "./fonts/*" 17 | ], 18 | "ignore": [ 19 | "*/.*", 20 | "*.json", 21 | "src", 22 | "*.yml", 23 | "Gemfile", 24 | "Gemfile.lock", 25 | "*.md" 26 | ], 27 | "_release": "4.2.0", 28 | "_resolution": { 29 | "type": "version", 30 | "tag": "v4.2.0", 31 | "commit": "0b924144a95a54fa738d0450ff66c1dabd11ae74" 32 | }, 33 | "_source": "git://github.com/FortAwesome/Font-Awesome.git", 34 | "_target": "~4.2.0", 35 | "_originalSource": "font-awesome" 36 | } -------------------------------------------------------------------------------- /static/bower_components/font-awesome/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | *.egg-info 3 | *.db 4 | *.db.old 5 | *.swp 6 | *.db-journal 7 | 8 | .coverage 9 | .DS_Store 10 | .installed.cfg 11 | _gh_pages/* 12 | 13 | .idea/* 14 | .svn/* 15 | src/website/static/* 16 | src/website/media/* 17 | 18 | bin 19 | cfcache 20 | develop-eggs 21 | dist 22 | downloads 23 | eggs 24 | parts 25 | tmp 26 | .sass-cache 27 | node_modules 28 | 29 | src/website/settingslocal.py 30 | stunnel.log 31 | 32 | .ruby-version 33 | -------------------------------------------------------------------------------- /static/bower_components/font-awesome/.npmignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | *.egg-info 3 | *.db 4 | *.db.old 5 | *.swp 6 | *.db-journal 7 | 8 | .coverage 9 | .DS_Store 10 | .installed.cfg 11 | _gh_pages/* 12 | 13 | .idea/* 14 | .svn/* 15 | src/website/static/* 16 | src/website/media/* 17 | 18 | bin 19 | cfcache 20 | develop-eggs 21 | dist 22 | downloads 23 | eggs 24 | parts 25 | tmp 26 | .sass-cache 27 | node_modules 28 | 29 | src/website/settingslocal.py 30 | stunnel.log 31 | 32 | .ruby-version 33 | 34 | # don't need these in the npm package. 35 | src/ 36 | _config.yml 37 | bower.json 38 | component.json 39 | composer.json 40 | CONTRIBUTING.md 41 | Gemfile 42 | Gemfile.lock 43 | -------------------------------------------------------------------------------- /static/bower_components/font-awesome/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "font-awesome", 3 | "description": "Font Awesome", 4 | "version": "4.2.0", 5 | "keywords": [], 6 | "homepage": "http://fontawesome.io", 7 | "dependencies": {}, 8 | "devDependencies": {}, 9 | "license": ["OFL-1.1", "MIT", "CC-BY-3.0"], 10 | "main": [ 11 | "./css/font-awesome.css", 12 | "./fonts/*" 13 | ], 14 | "ignore": [ 15 | "*/.*", 16 | "*.json", 17 | "src", 18 | "*.yml", 19 | "Gemfile", 20 | "Gemfile.lock", 21 | "*.md" 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /static/bower_components/font-awesome/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/font-awesome/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /static/bower_components/font-awesome/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/font-awesome/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /static/bower_components/font-awesome/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/font-awesome/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /static/bower_components/font-awesome/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/font-awesome/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /static/bower_components/font-awesome/less/bordered-pulled.less: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em @fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .pull-right { float: right; } 11 | .pull-left { float: left; } 12 | 13 | .@{fa-css-prefix} { 14 | &.pull-left { margin-right: .3em; } 15 | &.pull-right { margin-left: .3em; } 16 | } 17 | -------------------------------------------------------------------------------- /static/bower_components/font-awesome/less/core.less: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal 14px/1 FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | } 12 | -------------------------------------------------------------------------------- /static/bower_components/font-awesome/less/extras.less: -------------------------------------------------------------------------------- 1 | // Extras 2 | // -------------------------- 3 | -------------------------------------------------------------------------------- /static/bower_components/font-awesome/less/fixed-width.less: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .@{fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /static/bower_components/font-awesome/less/font-awesome.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables.less"; 7 | @import "mixins.less"; 8 | @import "path.less"; 9 | @import "core.less"; 10 | @import "larger.less"; 11 | @import "fixed-width.less"; 12 | @import "list.less"; 13 | @import "bordered-pulled.less"; 14 | @import "spinning.less"; 15 | @import "rotated-flipped.less"; 16 | @import "stacked.less"; 17 | @import "icons.less"; 18 | -------------------------------------------------------------------------------- /static/bower_components/font-awesome/less/larger.less: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .@{fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .@{fa-css-prefix}-2x { font-size: 2em; } 11 | .@{fa-css-prefix}-3x { font-size: 3em; } 12 | .@{fa-css-prefix}-4x { font-size: 4em; } 13 | .@{fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /static/bower_components/font-awesome/less/list.less: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: @fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .@{fa-css-prefix}-li { 11 | position: absolute; 12 | left: -@fa-li-width; 13 | width: @fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.@{fa-css-prefix}-lg { 17 | left: (-@fa-li-width + (4em / 14)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /static/bower_components/font-awesome/less/mixins.less: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | .fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal 14px/1 FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | } 12 | 13 | .fa-icon-rotate(@degrees, @rotation) { 14 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation); 15 | -webkit-transform: rotate(@degrees); 16 | -ms-transform: rotate(@degrees); 17 | transform: rotate(@degrees); 18 | } 19 | 20 | .fa-icon-flip(@horiz, @vert, @rotation) { 21 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation, mirror=1); 22 | -webkit-transform: scale(@horiz, @vert); 23 | -ms-transform: scale(@horiz, @vert); 24 | transform: scale(@horiz, @vert); 25 | } 26 | -------------------------------------------------------------------------------- /static/bower_components/font-awesome/less/path.less: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); 7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), 8 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), 9 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), 10 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); 11 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 12 | font-weight: normal; 13 | font-style: normal; 14 | } 15 | -------------------------------------------------------------------------------- /static/bower_components/font-awesome/less/rotated-flipped.less: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } 5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } 6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } 7 | 8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } 9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .@{fa-css-prefix}-rotate-90, 15 | :root .@{fa-css-prefix}-rotate-180, 16 | :root .@{fa-css-prefix}-rotate-270, 17 | :root .@{fa-css-prefix}-flip-horizontal, 18 | :root .@{fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /static/bower_components/font-awesome/less/spinning.less: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .@{fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | @-webkit-keyframes fa-spin { 10 | 0% { 11 | -webkit-transform: rotate(0deg); 12 | transform: rotate(0deg); 13 | } 14 | 100% { 15 | -webkit-transform: rotate(359deg); 16 | transform: rotate(359deg); 17 | } 18 | } 19 | 20 | @keyframes fa-spin { 21 | 0% { 22 | -webkit-transform: rotate(0deg); 23 | transform: rotate(0deg); 24 | } 25 | 100% { 26 | -webkit-transform: rotate(359deg); 27 | transform: rotate(359deg); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /static/bower_components/font-awesome/less/stacked.less: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; } 21 | -------------------------------------------------------------------------------- /static/bower_components/font-awesome/scss/_bordered-pulled.scss: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em $fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .pull-right { float: right; } 11 | .pull-left { float: left; } 12 | 13 | .#{$fa-css-prefix} { 14 | &.pull-left { margin-right: .3em; } 15 | &.pull-right { margin-left: .3em; } 16 | } 17 | -------------------------------------------------------------------------------- /static/bower_components/font-awesome/scss/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal 14px/1 FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | } 12 | -------------------------------------------------------------------------------- /static/bower_components/font-awesome/scss/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /static/bower_components/font-awesome/scss/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .#{$fa-css-prefix}-2x { font-size: 2em; } 11 | .#{$fa-css-prefix}-3x { font-size: 3em; } 12 | .#{$fa-css-prefix}-4x { font-size: 4em; } 13 | .#{$fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /static/bower_components/font-awesome/scss/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: $fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .#{$fa-css-prefix}-li { 11 | position: absolute; 12 | left: -$fa-li-width; 13 | width: $fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.#{$fa-css-prefix}-lg { 17 | left: -$fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /static/bower_components/font-awesome/scss/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | @mixin fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal 14px/1 FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | } 12 | 13 | @mixin fa-icon-rotate($degrees, $rotation) { 14 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}); 15 | -webkit-transform: rotate($degrees); 16 | -ms-transform: rotate($degrees); 17 | transform: rotate($degrees); 18 | } 19 | 20 | @mixin fa-icon-flip($horiz, $vert, $rotation) { 21 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}); 22 | -webkit-transform: scale($horiz, $vert); 23 | -ms-transform: scale($horiz, $vert); 24 | transform: scale($horiz, $vert); 25 | } 26 | -------------------------------------------------------------------------------- /static/bower_components/font-awesome/scss/_path.scss: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); 7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), 8 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), 9 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), 10 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); 11 | //src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 12 | font-weight: normal; 13 | font-style: normal; 14 | } 15 | -------------------------------------------------------------------------------- /static/bower_components/font-awesome/scss/_rotated-flipped.scss: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } 5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } 6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } 7 | 8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } 9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .#{$fa-css-prefix}-rotate-90, 15 | :root .#{$fa-css-prefix}-rotate-180, 16 | :root .#{$fa-css-prefix}-rotate-270, 17 | :root .#{$fa-css-prefix}-flip-horizontal, 18 | :root .#{$fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /static/bower_components/font-awesome/scss/_spinning.scss: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .#{$fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | @-webkit-keyframes fa-spin { 10 | 0% { 11 | -webkit-transform: rotate(0deg); 12 | transform: rotate(0deg); 13 | } 14 | 100% { 15 | -webkit-transform: rotate(359deg); 16 | transform: rotate(359deg); 17 | } 18 | } 19 | 20 | @keyframes fa-spin { 21 | 0% { 22 | -webkit-transform: rotate(0deg); 23 | transform: rotate(0deg); 24 | } 25 | 100% { 26 | -webkit-transform: rotate(359deg); 27 | transform: rotate(359deg); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /static/bower_components/font-awesome/scss/_stacked.scss: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; } 21 | -------------------------------------------------------------------------------- /static/bower_components/font-awesome/scss/font-awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables"; 7 | @import "mixins"; 8 | @import "path"; 9 | @import "core"; 10 | @import "larger"; 11 | @import "fixed-width"; 12 | @import "list"; 13 | @import "bordered-pulled"; 14 | @import "spinning"; 15 | @import "rotated-flipped"; 16 | @import "stacked"; 17 | @import "icons"; 18 | -------------------------------------------------------------------------------- /static/bower_components/holderjs/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "holderjs", 3 | "main": "holder.js", 4 | "homepage": "https://github.com/imsky/holder", 5 | "version": "2.4.1", 6 | "_release": "2.4.1", 7 | "_resolution": { 8 | "type": "version", 9 | "tag": "v2.4.1", 10 | "commit": "bd2e0be3c5c86afbdef1da092eb72c8ce7d52dce" 11 | }, 12 | "_source": "git://github.com/imsky/holder.git", 13 | "_target": "~2.4.1", 14 | "_originalSource": "holderjs", 15 | "_direct": true 16 | } -------------------------------------------------------------------------------- /static/bower_components/holderjs/.gitattributes: -------------------------------------------------------------------------------- 1 | # Automatically normalize line endings for all text-based files 2 | * text=auto 3 | -------------------------------------------------------------------------------- /static/bower_components/holderjs/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | todo.md 3 | -------------------------------------------------------------------------------- /static/bower_components/holderjs/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "quotmark": true, 3 | "boss": true, 4 | "eqnull": true, 5 | "expr": true, 6 | "funcscope": true, 7 | "loopfunc": true, 8 | "smarttabs": true, 9 | "node": true, 10 | "browser": true 11 | } 12 | -------------------------------------------------------------------------------- /static/bower_components/holderjs/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "holderjs", 3 | "main": "holder.js" 4 | } 5 | -------------------------------------------------------------------------------- /static/bower_components/holderjs/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "imsky/holder", 3 | "description": "Client-side image placeholders.", 4 | "homepage": "https://github.com/imsky/holder", 5 | "keywords": [ 6 | "images", 7 | "placeholders", 8 | "client-side", 9 | "canvas", 10 | "generation", 11 | "development" 12 | ], 13 | "license": "MIT", 14 | "type": "component", 15 | "authors": [ 16 | { 17 | "name": "Ivan Malopinsky", 18 | "homepage": "http://imsky.co" 19 | } 20 | ], 21 | "require": { 22 | "robloach/component-installer": "*" 23 | }, 24 | "extra": { 25 | "component": { 26 | "scripts": [ 27 | "holder.js" 28 | ], 29 | "files": [ 30 | "holder.min.js" 31 | ] 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /static/bower_components/holderjs/test/.gitignore: -------------------------------------------------------------------------------- 1 | performance.html 2 | benchmark.js 3 | lodash.js 4 | require.js 5 | test.js 6 | ua-parser.js -------------------------------------------------------------------------------- /static/bower_components/holderjs/test/image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/holderjs/test/image.jpg -------------------------------------------------------------------------------- /static/bower_components/jquery/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "version": "2.1.4", 4 | "main": "dist/jquery.js", 5 | "license": "MIT", 6 | "ignore": [ 7 | "**/.*", 8 | "build", 9 | "dist/cdn", 10 | "speed", 11 | "test", 12 | "*.md", 13 | "AUTHORS.txt", 14 | "Gruntfile.js", 15 | "package.json" 16 | ], 17 | "devDependencies": { 18 | "sizzle": "2.1.1-jquery.2.1.2", 19 | "requirejs": "2.1.10", 20 | "qunit": "1.14.0", 21 | "sinon": "1.8.1" 22 | }, 23 | "keywords": [ 24 | "jquery", 25 | "javascript", 26 | "library" 27 | ], 28 | "homepage": "https://github.com/jquery/jquery", 29 | "_release": "2.1.4", 30 | "_resolution": { 31 | "type": "version", 32 | "tag": "2.1.4", 33 | "commit": "7751e69b615c6eca6f783a81e292a55725af6b85" 34 | }, 35 | "_source": "git://github.com/jquery/jquery.git", 36 | "_target": "1.9.1 - 2", 37 | "_originalSource": "jquery" 38 | } -------------------------------------------------------------------------------- /static/bower_components/jquery/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "version": "2.1.4", 4 | "main": "dist/jquery.js", 5 | "license": "MIT", 6 | "ignore": [ 7 | "**/.*", 8 | "build", 9 | "dist/cdn", 10 | "speed", 11 | "test", 12 | "*.md", 13 | "AUTHORS.txt", 14 | "Gruntfile.js", 15 | "package.json" 16 | ], 17 | "devDependencies": { 18 | "sizzle": "2.1.1-jquery.2.1.2", 19 | "requirejs": "2.1.10", 20 | "qunit": "1.14.0", 21 | "sinon": "1.8.1" 22 | }, 23 | "keywords": [ 24 | "jquery", 25 | "javascript", 26 | "library" 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/ajax/parseJSON.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | // Support: Android 2.3 6 | // Workaround failure to string-cast null input 7 | jQuery.parseJSON = function( data ) { 8 | return JSON.parse( data + "" ); 9 | }; 10 | 11 | return jQuery.parseJSON; 12 | 13 | }); 14 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/ajax/parseXML.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | // Cross-browser xml parsing 6 | jQuery.parseXML = function( data ) { 7 | var xml, tmp; 8 | if ( !data || typeof data !== "string" ) { 9 | return null; 10 | } 11 | 12 | // Support: IE9 13 | try { 14 | tmp = new DOMParser(); 15 | xml = tmp.parseFromString( data, "text/xml" ); 16 | } catch ( e ) { 17 | xml = undefined; 18 | } 19 | 20 | if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { 21 | jQuery.error( "Invalid XML: " + data ); 22 | } 23 | return xml; 24 | }; 25 | 26 | return jQuery.parseXML; 27 | 28 | }); 29 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/ajax/var/nonce.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../../core" 3 | ], function( jQuery ) { 4 | return jQuery.now(); 5 | }); 6 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/ajax/var/rquery.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | return (/\?/); 3 | }); 4 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/attributes.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "./core", 3 | "./attributes/attr", 4 | "./attributes/prop", 5 | "./attributes/classes", 6 | "./attributes/val" 7 | ], function( jQuery ) { 8 | 9 | // Return jQuery for attributes-only inclusion 10 | return jQuery; 11 | }); 12 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/core/var/rsingleTag.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | // Match a standalone tag 3 | return (/^<(\w+)\s*\/?>(?:<\/\1>|)$/); 4 | }); 5 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/css/addGetHookIf.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | 3 | function addGetHookIf( conditionFn, hookFn ) { 4 | // Define the hook, we'll check on the first run if it's really needed. 5 | return { 6 | get: function() { 7 | if ( conditionFn() ) { 8 | // Hook not needed (or it's not possible to use it due 9 | // to missing dependency), remove it. 10 | delete this.get; 11 | return; 12 | } 13 | 14 | // Hook needed; redefine it so that the support test is not executed again. 15 | return (this.get = hookFn).apply( this, arguments ); 16 | } 17 | }; 18 | } 19 | 20 | return addGetHookIf; 21 | 22 | }); 23 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/css/hiddenVisibleSelectors.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core", 3 | "../selector" 4 | ], function( jQuery ) { 5 | 6 | jQuery.expr.filters.hidden = function( elem ) { 7 | // Support: Opera <= 12.12 8 | // Opera reports offsetWidths and offsetHeights less than zero on some elements 9 | return elem.offsetWidth <= 0 && elem.offsetHeight <= 0; 10 | }; 11 | jQuery.expr.filters.visible = function( elem ) { 12 | return !jQuery.expr.filters.hidden( elem ); 13 | }; 14 | 15 | }); 16 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/css/swap.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | // A method for quickly swapping in/out CSS properties to get correct calculations. 6 | jQuery.swap = function( elem, options, callback, args ) { 7 | var ret, name, 8 | old = {}; 9 | 10 | // Remember the old values, and insert the new ones 11 | for ( name in options ) { 12 | old[ name ] = elem.style[ name ]; 13 | elem.style[ name ] = options[ name ]; 14 | } 15 | 16 | ret = callback.apply( elem, args || [] ); 17 | 18 | // Revert the old values 19 | for ( name in options ) { 20 | elem.style[ name ] = old[ name ]; 21 | } 22 | 23 | return ret; 24 | }; 25 | 26 | return jQuery.swap; 27 | 28 | }); 29 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/css/var/cssExpand.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | return [ "Top", "Right", "Bottom", "Left" ]; 3 | }); 4 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/css/var/getStyles.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | return function( elem ) { 3 | // Support: IE<=11+, Firefox<=30+ (#15098, #14150) 4 | // IE throws on elements created in popups 5 | // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" 6 | if ( elem.ownerDocument.defaultView.opener ) { 7 | return elem.ownerDocument.defaultView.getComputedStyle( elem, null ); 8 | } 9 | 10 | return window.getComputedStyle( elem, null ); 11 | }; 12 | }); 13 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/css/var/isHidden.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../../core", 3 | "../../selector" 4 | // css is assumed 5 | ], function( jQuery ) { 6 | 7 | return function( elem, el ) { 8 | // isHidden might be called from jQuery#filter function; 9 | // in that case, element will be second argument 10 | elem = el || elem; 11 | return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); 12 | }; 13 | }); 14 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/css/var/rmargin.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | return (/^margin/); 3 | }); 4 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/css/var/rnumnonpx.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../../var/pnum" 3 | ], function( pnum ) { 4 | return new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); 5 | }); 6 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/data/accepts.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | /** 6 | * Determines whether an object can have data 7 | */ 8 | jQuery.acceptData = function( owner ) { 9 | // Accepts only: 10 | // - Node 11 | // - Node.ELEMENT_NODE 12 | // - Node.DOCUMENT_NODE 13 | // - Object 14 | // - Any 15 | /* jshint -W018 */ 16 | return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); 17 | }; 18 | 19 | return jQuery.acceptData; 20 | }); 21 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/data/var/data_priv.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../Data" 3 | ], function( Data ) { 4 | return new Data(); 5 | }); 6 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/data/var/data_user.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../Data" 3 | ], function( Data ) { 4 | return new Data(); 5 | }); 6 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/deprecated.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "./core", 3 | "./traversing" 4 | ], function( jQuery ) { 5 | 6 | // The number of elements contained in the matched element set 7 | jQuery.fn.size = function() { 8 | return this.length; 9 | }; 10 | 11 | jQuery.fn.andSelf = jQuery.fn.addBack; 12 | 13 | }); 14 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/effects/animatedSelector.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core", 3 | "../selector", 4 | "../effects" 5 | ], function( jQuery ) { 6 | 7 | jQuery.expr.filters.animated = function( elem ) { 8 | return jQuery.grep(jQuery.timers, function( fn ) { 9 | return elem === fn.elem; 10 | }).length; 11 | }; 12 | 13 | }); 14 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/event/ajax.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core", 3 | "../event" 4 | ], function( jQuery ) { 5 | 6 | // Attach a bunch of functions for handling common AJAX events 7 | jQuery.each( [ "ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend" ], function( i, type ) { 8 | jQuery.fn[ type ] = function( fn ) { 9 | return this.on( type, fn ); 10 | }; 11 | }); 12 | 13 | }); 14 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/event/support.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../var/support" 3 | ], function( support ) { 4 | 5 | support.focusinBubbles = "onfocusin" in window; 6 | 7 | return support; 8 | 9 | }); 10 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/exports/global.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core", 3 | "../var/strundefined" 4 | ], function( jQuery, strundefined ) { 5 | 6 | var 7 | // Map over jQuery in case of overwrite 8 | _jQuery = window.jQuery, 9 | 10 | // Map over the $ in case of overwrite 11 | _$ = window.$; 12 | 13 | jQuery.noConflict = function( deep ) { 14 | if ( window.$ === jQuery ) { 15 | window.$ = _$; 16 | } 17 | 18 | if ( deep && window.jQuery === jQuery ) { 19 | window.jQuery = _jQuery; 20 | } 21 | 22 | return jQuery; 23 | }; 24 | 25 | // Expose jQuery and $ identifiers, even in AMD 26 | // (#7102#comment:10, https://github.com/jquery/jquery/pull/557) 27 | // and CommonJS for browser emulators (#13566) 28 | if ( typeof noGlobal === strundefined ) { 29 | window.jQuery = window.$ = jQuery; 30 | } 31 | 32 | }); 33 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/jquery.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "./core", 3 | "./selector", 4 | "./traversing", 5 | "./callbacks", 6 | "./deferred", 7 | "./core/ready", 8 | "./data", 9 | "./queue", 10 | "./queue/delay", 11 | "./attributes", 12 | "./event", 13 | "./event/alias", 14 | "./manipulation", 15 | "./manipulation/_evalUrl", 16 | "./wrap", 17 | "./css", 18 | "./css/hiddenVisibleSelectors", 19 | "./serialize", 20 | "./ajax", 21 | "./ajax/xhr", 22 | "./ajax/script", 23 | "./ajax/jsonp", 24 | "./ajax/load", 25 | "./event/ajax", 26 | "./effects", 27 | "./effects/animatedSelector", 28 | "./offset", 29 | "./dimensions", 30 | "./deprecated", 31 | "./exports/amd", 32 | "./exports/global" 33 | ], function( jQuery ) { 34 | 35 | return jQuery; 36 | 37 | }); 38 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/manipulation/_evalUrl.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../ajax" 3 | ], function( jQuery ) { 4 | 5 | jQuery._evalUrl = function( url ) { 6 | return jQuery.ajax({ 7 | url: url, 8 | type: "GET", 9 | dataType: "script", 10 | async: false, 11 | global: false, 12 | "throws": true 13 | }); 14 | }; 15 | 16 | return jQuery._evalUrl; 17 | 18 | }); 19 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/manipulation/var/rcheckableType.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | return (/^(?:checkbox|radio)$/i); 3 | }); 4 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/outro.js: -------------------------------------------------------------------------------- 1 | })); 2 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/queue/delay.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core", 3 | "../queue", 4 | "../effects" // Delay is optional because of this dependency 5 | ], function( jQuery ) { 6 | 7 | // Based off of the plugin by Clint Helfers, with permission. 8 | // http://blindsignals.com/index.php/2009/07/jquery-delay/ 9 | jQuery.fn.delay = function( time, type ) { 10 | time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; 11 | type = type || "fx"; 12 | 13 | return this.queue( type, function( next, hooks ) { 14 | var timeout = setTimeout( next, time ); 15 | hooks.stop = function() { 16 | clearTimeout( timeout ); 17 | }; 18 | }); 19 | }; 20 | 21 | return jQuery.fn.delay; 22 | }); 23 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/selector-sizzle.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "./core", 3 | "sizzle" 4 | ], function( jQuery, Sizzle ) { 5 | 6 | jQuery.find = Sizzle; 7 | jQuery.expr = Sizzle.selectors; 8 | jQuery.expr[":"] = jQuery.expr.pseudos; 9 | jQuery.unique = Sizzle.uniqueSort; 10 | jQuery.text = Sizzle.getText; 11 | jQuery.isXMLDoc = Sizzle.isXML; 12 | jQuery.contains = Sizzle.contains; 13 | 14 | }); 15 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/selector.js: -------------------------------------------------------------------------------- 1 | define([ "./selector-sizzle" ]); 2 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/traversing/var/rneedsContext.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../../core", 3 | "../../selector" 4 | ], function( jQuery ) { 5 | return jQuery.expr.match.needsContext; 6 | }); 7 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/var/arr.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | return []; 3 | }); 4 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/var/class2type.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | // [[Class]] -> type pairs 3 | return {}; 4 | }); 5 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/var/concat.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "./arr" 3 | ], function( arr ) { 4 | return arr.concat; 5 | }); 6 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/var/hasOwn.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "./class2type" 3 | ], function( class2type ) { 4 | return class2type.hasOwnProperty; 5 | }); 6 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/var/indexOf.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "./arr" 3 | ], function( arr ) { 4 | return arr.indexOf; 5 | }); 6 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/var/pnum.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | return (/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source; 3 | }); 4 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/var/push.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "./arr" 3 | ], function( arr ) { 4 | return arr.push; 5 | }); 6 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/var/rnotwhite.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | return (/\S+/g); 3 | }); 4 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/var/slice.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "./arr" 3 | ], function( arr ) { 4 | return arr.slice; 5 | }); 6 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/var/strundefined.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | return typeof undefined; 3 | }); 4 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/var/support.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | // All support tests are defined in their respective modules. 3 | return {}; 4 | }); 5 | -------------------------------------------------------------------------------- /static/bower_components/jquery/src/var/toString.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "./class2type" 3 | ], function( class2type ) { 4 | return class2type.toString; 5 | }); 6 | -------------------------------------------------------------------------------- /static/bower_components/metisMenu/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "metisMenu", 3 | "version": "1.1.3", 4 | "homepage": "https://github.com/onokumus/metisMenu", 5 | "authors": [ 6 | "onokumus" 7 | ], 8 | "description": "Easy menu jQuery plugin for Twitter Bootstrap 3", 9 | "main": [ 10 | "dist/metisMenu.js", 11 | "dist/metisMenu.css" 12 | ], 13 | "keywords": [ 14 | "twitter", 15 | "bootstrap", 16 | "twbs", 17 | "jquery", 18 | "menu", 19 | "accordion", 20 | "toggle", 21 | "metis", 22 | "metisMenu" 23 | ], 24 | "license": "MIT", 25 | "ignore": [ 26 | "**/.*", 27 | "node_modules", 28 | "bower_components", 29 | "test", 30 | "tests" 31 | ], 32 | "dependencies": { 33 | "bootstrap": "~3.3.0" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /static/bower_components/metisMenu/dist/metisMenu.min.css: -------------------------------------------------------------------------------- 1 | /* 2 | * metismenu - v1.1.3 3 | * Easy menu jQuery plugin for Twitter Bootstrap 3 4 | * https://github.com/onokumus/metisMenu 5 | * 6 | * Made by Osman Nuri Okumus 7 | * Under MIT License 8 | */ 9 | 10 | .arrow{float:right;line-height:1.42857}.glyphicon.arrow:before{content:"\e079"}.active>a>.glyphicon.arrow:before{content:"\e114"}.fa.arrow:before{content:"\f104"}.active>a>.fa.arrow:before{content:"\f107"}.plus-times{float:right}.fa.plus-times:before{content:"\f067"}.active>a>.fa.plus-times{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.plus-minus{float:right}.fa.plus-minus:before{content:"\f067"}.active>a>.fa.plus-minus:before{content:"\f068"} -------------------------------------------------------------------------------- /static/bower_components/mocha/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mocha", 3 | "version": "1.17.1", 4 | "main": "mocha.js", 5 | "ignore": [ 6 | "bin", 7 | "editors", 8 | "images", 9 | "lib", 10 | "support", 11 | "test", 12 | ".gitignore", 13 | ".npmignore", 14 | ".travis.yml", 15 | "component.json", 16 | "index.js", 17 | "Makefile", 18 | "package.json" 19 | ], 20 | "homepage": "https://github.com/mochajs/mocha", 21 | "_release": "1.17.1", 22 | "_resolution": { 23 | "type": "version", 24 | "tag": "1.17.1", 25 | "commit": "7fc565ee3e225cb7a66bf39ae9c2c05b346675c1" 26 | }, 27 | "_source": "git://github.com/mochajs/mocha.git", 28 | "_target": "~1.17.1", 29 | "_originalSource": "mocha" 30 | } -------------------------------------------------------------------------------- /static/bower_components/mocha/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mocha", 3 | "version": "1.17.1", 4 | "main": "mocha.js", 5 | "ignore": [ 6 | "bin", 7 | "editors", 8 | "images", 9 | "lib", 10 | "support", 11 | "test", 12 | ".gitignore", 13 | ".npmignore", 14 | ".travis.yml", 15 | "component.json", 16 | "index.js", 17 | "Makefile", 18 | "package.json" 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /static/bower_components/mocha/media/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | -------------------------------------------------------------------------------- /static/bower_components/morrisjs/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "morris.js", 3 | "version": "0.5.1", 4 | "main": [ 5 | "./morris.js", 6 | "./morris.css" 7 | ], 8 | "dependencies": { 9 | "jquery": ">= 2.1.0", 10 | "raphael": ">= 2.0", 11 | "mocha": "~1.17.1" 12 | }, 13 | "devDependencies": { 14 | "mocha": "~1.17.1", 15 | "chai": "~1.9.0", 16 | "chai-jquery": "~1.2.1", 17 | "sinon": "http://sinonjs.org/releases/sinon-1.8.1.js", 18 | "sinon-chai": "~2.5.0" 19 | }, 20 | "homepage": "https://github.com/morrisjs/morris.js", 21 | "_release": "0.5.1", 22 | "_resolution": { 23 | "type": "version", 24 | "tag": "0.5.1", 25 | "commit": "d5cf1410eda7055eaf2c7d218d4cb24ec5ed55c8" 26 | }, 27 | "_source": "git://github.com/morrisjs/morris.js.git", 28 | "_target": "~0.5.1", 29 | "_originalSource": "morrisjs", 30 | "_direct": true 31 | } -------------------------------------------------------------------------------- /static/bower_components/morrisjs/.gitignore: -------------------------------------------------------------------------------- 1 | build/ 2 | node_modules/ 3 | spec/viz/output/ 4 | spec/viz/diff/ 5 | bower_components 6 | .idea 7 | -------------------------------------------------------------------------------- /static/bower_components/morrisjs/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.10 4 | before_script: 5 | - "npm install -g grunt-cli" 6 | - "npm install" 7 | - "cp -f bower.travis.json bower.json" 8 | - 'sed -i -e "s/JQUERY/$JQUERY/" bower.json' 9 | - 'sed -i -e "s/RAPHAEL/$RAPHAEL/" bower.json' 10 | - "bower install" 11 | env: 12 | - JQUERY="~> 1.8.0" RAPHAEL="~> 2.0.0" 13 | - JQUERY="~> 1.9.0" RAPHAEL="~> 2.0.0" 14 | - JQUERY="~> 2.0.0" RAPHAEL="~> 2.0.0" 15 | - JQUERY="~> 2.1.0" RAPHAEL="~> 2.0.0" 16 | - JQUERY="~> 1.8.0" RAPHAEL="~> 2.1.0" 17 | - JQUERY="~> 1.9.0" RAPHAEL="~> 2.1.0" 18 | - JQUERY="~> 2.0.0" RAPHAEL="~> 2.1.0" 19 | - JQUERY="~> 2.1.0" RAPHAEL="~> 2.1.0" 20 | -------------------------------------------------------------------------------- /static/bower_components/morrisjs/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "morris.js", 3 | "version": "0.5.0", 4 | "main": [ 5 | "./morris.js", 6 | "./morris.css" 7 | ], 8 | "dependencies": { 9 | "jquery": ">= 2.1.0", 10 | "raphael": ">= 2.0", 11 | "mocha": "~1.17.1" 12 | }, 13 | "devDependencies": { 14 | "mocha": "~1.17.1", 15 | "chai": "~1.9.0", 16 | "chai-jquery": "~1.2.1", 17 | "sinon": "http://sinonjs.org/releases/sinon-1.8.1.js", 18 | "sinon-chai": "~2.5.0" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /static/bower_components/morrisjs/bower.travis.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "morris.js", 3 | "version": "0.5.0", 4 | "main": [ 5 | "./morris.js", 6 | "./morris.css" 7 | ], 8 | "dependencies": { 9 | "jquery": "JQUERY", 10 | "raphael": "RAPHAEL", 11 | "mocha": "~1.17.1" 12 | }, 13 | "devDependencies": { 14 | "mocha": "~1.17.1", 15 | "chai": "~1.9.0", 16 | "chai-jquery": "~1.2.1", 17 | "sinon": "http://sinonjs.org/releases/sinon-1.8.1.js", 18 | "sinon-chai": "~2.5.0" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /static/bower_components/morrisjs/examples/_template.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | Title
13 | 14 |15 | // Insert code here: 16 | // it'll get eval()-ed and prettyprinted. 17 |18 | 19 | -------------------------------------------------------------------------------- /static/bower_components/morrisjs/examples/lib/example.css: -------------------------------------------------------------------------------- 1 | body { 2 | width: 800px; 3 | margin: 0 auto; 4 | } 5 | #graph { 6 | width: 800px; 7 | height: 250px; 8 | margin: 20px auto 0 auto; 9 | } 10 | pre { 11 | height: 250px; 12 | overflow: auto; 13 | } 14 | -------------------------------------------------------------------------------- /static/bower_components/morrisjs/examples/lib/example.js: -------------------------------------------------------------------------------- 1 | $(function () { 2 | eval($('#code').text()); 3 | prettyPrint(); 4 | }); -------------------------------------------------------------------------------- /static/bower_components/morrisjs/less/morris.core.less: -------------------------------------------------------------------------------- 1 | .morris-hover { 2 | position: absolute; 3 | z-index: 1000; 4 | 5 | &.morris-default-style { 6 | border-radius: 10px; 7 | padding: 6px; 8 | color: #666; 9 | background: rgba(255, 255, 255, 0.8); 10 | border: solid 2px rgba(230, 230, 230, 0.8); 11 | 12 | font-family: sans-serif; 13 | font-size: 12px; 14 | text-align: center; 15 | 16 | .morris-hover-row-label { 17 | font-weight: bold; 18 | margin: 0.25em 0; 19 | } 20 | 21 | .morris-hover-point { 22 | white-space: nowrap; 23 | margin: 0.1em 0; 24 | } 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /static/bower_components/morrisjs/morris.css: -------------------------------------------------------------------------------- 1 | .morris-hover{position:absolute;z-index:1000}.morris-hover.morris-default-style{border-radius:10px;padding:6px;color:#666;background:rgba(255,255,255,0.8);border:solid 2px rgba(230,230,230,0.8);font-family:sans-serif;font-size:12px;text-align:center}.morris-hover.morris-default-style .morris-hover-row-label{font-weight:bold;margin:0.25em 0} 2 | .morris-hover.morris-default-style .morris-hover-point{white-space:nowrap;margin:0.1em 0} 3 | -------------------------------------------------------------------------------- /static/bower_components/morrisjs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "morris.js", 3 | "version": "0.5.0", 4 | "homepage": "http://morrisjs.github.com/morris.js", 5 | "license": "BSD-2-Clause", 6 | "description": "Easy, pretty charts", 7 | "author": { 8 | "name": "Olly Smith", 9 | "email": "olly@oesmith.co.uk" 10 | }, 11 | "repository": { 12 | "type": "git", 13 | "url": "git://github.com/morrisjs/morris.js.git" 14 | }, 15 | "bugs": { 16 | "url": "https://github.com/morrisjs/morris.js/issues" 17 | }, 18 | "devDependencies": { 19 | "matchdep": "~0.1.2", 20 | "grunt": "~0.4.1", 21 | "grunt-mocha": "~0.4.10", 22 | "grunt-contrib-concat": "~0.3.0", 23 | "grunt-contrib-coffee": "~0.7.0", 24 | "grunt-contrib-uglify": "~0.2.4", 25 | "grunt-contrib-less": "~0.7.0", 26 | "grunt-contrib-watch": "~0.5.3", 27 | "grunt-shell": "~0.5.0", 28 | "bower": "~1.2.8" 29 | }, 30 | "scripts": { 31 | "test": "grunt concat coffee mocha" 32 | }, 33 | "engines": { 34 | "node": ">=0.8 <0.11" 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /static/bower_components/morrisjs/spec/lib/grid/y_label_format_spec.coffee: -------------------------------------------------------------------------------- 1 | describe 'Morris.Grid#yLabelFormat', -> 2 | 3 | it 'should use custom formatter for y labels', -> 4 | formatter = (label) -> 5 | flabel = parseFloat(label) / 1000 6 | "#{flabel.toFixed(1)}k" 7 | line = Morris.Line 8 | element: 'graph' 9 | data: [{x: 1, y: 1500}, {x: 2, y: 2500}] 10 | xkey: 'x' 11 | ykeys: ['y'] 12 | labels: ['dontcare'] 13 | preUnits: "$" 14 | yLabelFormat: formatter 15 | line.yLabelFormat(1500).should.equal "1.5k" 16 | -------------------------------------------------------------------------------- /static/bower_components/morrisjs/spec/lib/pad_spec.coffee: -------------------------------------------------------------------------------- 1 | describe '#pad', -> 2 | 3 | it 'should pad numbers', -> 4 | Morris.pad2(0).should.equal("00") 5 | Morris.pad2(1).should.equal("01") 6 | Morris.pad2(2).should.equal("02") 7 | Morris.pad2(3).should.equal("03") 8 | Morris.pad2(4).should.equal("04") 9 | Morris.pad2(5).should.equal("05") 10 | Morris.pad2(6).should.equal("06") 11 | Morris.pad2(7).should.equal("07") 12 | Morris.pad2(8).should.equal("08") 13 | Morris.pad2(9).should.equal("09") 14 | Morris.pad2(10).should.equal("10") 15 | Morris.pad2(12).should.equal("12") 16 | Morris.pad2(34).should.equal("34") 17 | Morris.pad2(123).should.equal("123") -------------------------------------------------------------------------------- /static/bower_components/morrisjs/spec/support/placeholder.coffee: -------------------------------------------------------------------------------- 1 | beforeEach -> 2 | placeholder = $('') 3 | $('#test').append(placeholder) 4 | 5 | afterEach -> 6 | $('#test').empty() 7 | -------------------------------------------------------------------------------- /static/bower_components/morrisjs/spec/viz/exemplary/area0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/morrisjs/spec/viz/exemplary/area0.png -------------------------------------------------------------------------------- /static/bower_components/morrisjs/spec/viz/exemplary/bar0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/morrisjs/spec/viz/exemplary/bar0.png -------------------------------------------------------------------------------- /static/bower_components/morrisjs/spec/viz/exemplary/line0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/morrisjs/spec/viz/exemplary/line0.png -------------------------------------------------------------------------------- /static/bower_components/morrisjs/spec/viz/exemplary/stacked_bar0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyxc/fourthgen/0f2b7fe202f437eda51a44d8fc5242c1e3ad3b0c/static/bower_components/morrisjs/spec/viz/exemplary/stacked_bar0.png -------------------------------------------------------------------------------- /static/bower_components/morrisjs/spec/viz/run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # visual_specs.js creates output in output/XXX.png 4 | phantomjs visual_specs.js 5 | 6 | # clear out old diffs 7 | mkdir -p diff 8 | rm -f diff/* 9 | 10 | # generate diffs 11 | PASS=1 12 | for i in exemplary/*.png 13 | do 14 | FN=`basename $i` 15 | perceptualdiff $i output/$FN -output diff/$FN 16 | if [ $? -eq 0 ] 17 | then 18 | echo "OK: $FN" 19 | else 20 | echo "FAIL: $FN" 21 | PASS=0 22 | fi 23 | done 24 | 25 | # pass / fail 26 | if [ $PASS -eq 1 ] 27 | then 28 | echo "Success." 29 | else 30 | echo "Failed." 31 | exit 1 32 | fi 33 | -------------------------------------------------------------------------------- /static/bower_components/morrisjs/spec/viz/test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 20 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /static/bower_components/raphael/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "raphael", 3 | "version": "2.1.4", 4 | "main": "raphael.js", 5 | "ignore": [ 6 | "eve", 7 | "**/.*", 8 | "*.html", 9 | "*.json", 10 | "*.markdown", 11 | "*.md", 12 | "copy.js", 13 | "Gruntfile.js", 14 | "raphael.core.js", 15 | "raphael.svg.js", 16 | "raphael.vml.js", 17 | "reference.js" 18 | ], 19 | "homepage": "https://github.com/DmitryBaranovskiy/raphael", 20 | "_release": "2.1.4", 21 | "_resolution": { 22 | "type": "version", 23 | "tag": "v2.1.4", 24 | "commit": "a29d980d1f6b0aed9a0f18d751a76e862f5fbc4f" 25 | }, 26 | "_source": "git://github.com/DmitryBaranovskiy/raphael.git", 27 | "_target": ">= 2.0", 28 | "_originalSource": "raphael" 29 | } -------------------------------------------------------------------------------- /static/bower_components/raphael/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "raphael", 3 | "version": "2.1.4", 4 | "main": "raphael.js", 5 | "ignore": [ 6 | "eve", 7 | "**/.*", 8 | "*.html", 9 | "*.json", 10 | "*.markdown", 11 | "*.md", 12 | "copy.js", 13 | "Gruntfile.js", 14 | "raphael.core.js", 15 | "raphael.svg.js", 16 | "raphael.vml.js", 17 | "reference.js" 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /static/bower_components/raphael/dev/amdDev.js: -------------------------------------------------------------------------------- 1 | require(['../raphael'], function(Raphael){ 2 | var paper = Raphael(0, 0, 640, 720, "container"); 3 | //paper.circle(100, 100, 100); //example 4 | 5 | // Work here 6 | }); 7 | -------------------------------------------------------------------------------- /static/bower_components/raphael/dev/index.js: -------------------------------------------------------------------------------- 1 | var core = require('./raphael.core'); 2 | if(core.svg){ 3 | require('./raphael.svg'); 4 | } 5 | if(core.vml){ 6 | require('./raphael.vml'); 7 | } 8 | module.exports = core; -------------------------------------------------------------------------------- /static/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |SB Admin 2 6 | 9 | 10 | 11 | Go to /pages/index.html 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/less/mixins.less: -------------------------------------------------------------------------------- 1 | // Mixins 2 | -------------------------------------------------------------------------------- /static/less/variables.less: -------------------------------------------------------------------------------- 1 | // Variables 2 | 3 | @gray-darker: lighten(#000, 13.5%); 4 | @gray-dark: lighten(#000, 20%); 5 | @gray: lighten(#000, 33.5%); 6 | @gray-light: lighten(#000, 60%); 7 | @gray-lighter: lighten(#000, 93.5%); 8 | @gray-lightest: lighten(#000, 97.25%); 9 | @brand-primary: #428bca; 10 | @brand-success: #5cb85c; 11 | @brand-info: #5bc0de; 12 | @brand-warning: #f0ad4e; 13 | @brand-danger: #d9534f; 14 | 15 | -------------------------------------------------------------------------------- /uwsgi.ini: -------------------------------------------------------------------------------- 1 | [uwsgi] 2 | socket = /tmp/fourthgen.sock 3 | chdir = /app/fourthgen 4 | wsgi-file = fourthgen/wsgi.py 5 | touch-reload = /app/fourthgen/reload 6 | 7 | processes = 2 8 | threads = 4 9 | 10 | chmod-socket = 664 11 | chown-socket = www:www 12 | --------------------------------------------------------------------------------