├── .gitignore ├── LICENSE ├── README.md ├── appserver └── static │ ├── all_ebadges.css │ ├── all_ebadges.js │ ├── appIcon.png │ ├── check_status.js │ ├── countdown.css │ ├── css │ ├── KVStoreFieldEditor.css │ ├── KVStoreFieldView.css │ ├── LookupEdit.css │ ├── LookupList.css │ ├── SplunkDataTables.css │ ├── jquery-ui-timepicker-addon.css │ ├── lib │ │ ├── clippy.css │ │ ├── handsontable.full.min.css │ │ └── jquery.dataTables.css │ └── ui-lightness │ │ ├── images │ │ ├── animated-overlay.gif │ │ ├── ui-bg_diagonals-thick_18_b81900_40x40.png │ │ ├── ui-bg_diagonals-thick_20_666666_40x40.png │ │ ├── ui-bg_flat_10_000000_40x100.png │ │ ├── ui-bg_glass_100_f6f6f6_1x400.png │ │ ├── ui-bg_glass_100_fdf5ce_1x400.png │ │ ├── ui-bg_glass_65_ffffff_1x400.png │ │ ├── ui-bg_gloss-wave_35_f6a828_500x100.png │ │ ├── ui-bg_highlight-soft_100_eeeeee_1x100.png │ │ ├── ui-bg_highlight-soft_75_ffe45c_1x100.png │ │ ├── ui-icons_222222_256x240.png │ │ ├── ui-icons_228ef1_256x240.png │ │ ├── ui-icons_ef8c08_256x240.png │ │ ├── ui-icons_ffd27a_256x240.png │ │ └── ui-icons_ffffff_256x240.png │ │ └── jquery-ui.min.css │ ├── ctflogo.png │ ├── images │ ├── DataTables │ │ ├── sort_asc.png │ │ ├── sort_asc_disabled.png │ │ ├── sort_both.png │ │ ├── sort_desc.png │ │ └── sort_desc_disabled.png │ └── drag_and_drop.png │ ├── instantiate_countdown.js │ ├── jquery-ui │ ├── i18n │ │ ├── jquery-ui-i18n.min.js │ │ ├── jquery.ui.datepicker-af.min.js │ │ ├── jquery.ui.datepicker-ar-DZ.min.js │ │ ├── jquery.ui.datepicker-ar.min.js │ │ ├── jquery.ui.datepicker-az.min.js │ │ ├── jquery.ui.datepicker-be.min.js │ │ ├── jquery.ui.datepicker-bg.min.js │ │ ├── jquery.ui.datepicker-bs.min.js │ │ ├── jquery.ui.datepicker-ca.min.js │ │ ├── jquery.ui.datepicker-cs.min.js │ │ ├── jquery.ui.datepicker-cy-GB.min.js │ │ ├── jquery.ui.datepicker-da.min.js │ │ ├── jquery.ui.datepicker-de.min.js │ │ ├── jquery.ui.datepicker-el.min.js │ │ ├── jquery.ui.datepicker-en-AU.min.js │ │ ├── jquery.ui.datepicker-en-GB.min.js │ │ ├── jquery.ui.datepicker-en-NZ.min.js │ │ ├── jquery.ui.datepicker-eo.min.js │ │ ├── jquery.ui.datepicker-es.min.js │ │ ├── jquery.ui.datepicker-et.min.js │ │ ├── jquery.ui.datepicker-eu.min.js │ │ ├── jquery.ui.datepicker-fa.min.js │ │ ├── jquery.ui.datepicker-fi.min.js │ │ ├── jquery.ui.datepicker-fo.min.js │ │ ├── jquery.ui.datepicker-fr-CA.min.js │ │ ├── jquery.ui.datepicker-fr-CH.min.js │ │ ├── jquery.ui.datepicker-fr.min.js │ │ ├── jquery.ui.datepicker-gl.min.js │ │ ├── jquery.ui.datepicker-he.min.js │ │ ├── jquery.ui.datepicker-hi.min.js │ │ ├── jquery.ui.datepicker-hr.min.js │ │ ├── jquery.ui.datepicker-hu.min.js │ │ ├── jquery.ui.datepicker-hy.min.js │ │ ├── jquery.ui.datepicker-id.min.js │ │ ├── jquery.ui.datepicker-is.min.js │ │ ├── jquery.ui.datepicker-it.min.js │ │ ├── jquery.ui.datepicker-ja.min.js │ │ ├── jquery.ui.datepicker-ka.min.js │ │ ├── jquery.ui.datepicker-kk.min.js │ │ ├── jquery.ui.datepicker-km.min.js │ │ ├── jquery.ui.datepicker-ko.min.js │ │ ├── jquery.ui.datepicker-ky.min.js │ │ ├── jquery.ui.datepicker-lb.min.js │ │ ├── jquery.ui.datepicker-lt.min.js │ │ ├── jquery.ui.datepicker-lv.min.js │ │ ├── jquery.ui.datepicker-mk.min.js │ │ ├── jquery.ui.datepicker-ml.min.js │ │ ├── jquery.ui.datepicker-ms.min.js │ │ ├── jquery.ui.datepicker-nb.min.js │ │ ├── jquery.ui.datepicker-nl-BE.min.js │ │ ├── jquery.ui.datepicker-nl.min.js │ │ ├── jquery.ui.datepicker-nn.min.js │ │ ├── jquery.ui.datepicker-no.min.js │ │ ├── jquery.ui.datepicker-pl.min.js │ │ ├── jquery.ui.datepicker-pt-BR.min.js │ │ ├── jquery.ui.datepicker-pt.min.js │ │ ├── jquery.ui.datepicker-rm.min.js │ │ ├── jquery.ui.datepicker-ro.min.js │ │ ├── jquery.ui.datepicker-ru.min.js │ │ ├── jquery.ui.datepicker-sk.min.js │ │ ├── jquery.ui.datepicker-sl.min.js │ │ ├── jquery.ui.datepicker-sq.min.js │ │ ├── jquery.ui.datepicker-sr-SR.min.js │ │ ├── jquery.ui.datepicker-sr.min.js │ │ ├── jquery.ui.datepicker-sv.min.js │ │ ├── jquery.ui.datepicker-ta.min.js │ │ ├── jquery.ui.datepicker-th.min.js │ │ ├── jquery.ui.datepicker-tj.min.js │ │ ├── jquery.ui.datepicker-tr.min.js │ │ ├── jquery.ui.datepicker-uk.min.js │ │ ├── jquery.ui.datepicker-vi.min.js │ │ ├── jquery.ui.datepicker-zh-CN.min.js │ │ ├── jquery.ui.datepicker-zh-HK.min.js │ │ └── jquery.ui.datepicker-zh-TW.min.js │ └── jquery-ui.min.js │ ├── jquery.countdown.js │ ├── jquery.ui.timepicker.js │ ├── js │ ├── contrib │ │ └── kvstore.js │ ├── lib │ │ ├── DataTables │ │ │ ├── css │ │ │ │ ├── dataTables.bootstrap.css │ │ │ │ └── jquery.dataTables.css │ │ │ ├── images │ │ │ │ ├── Sorting icons.psd │ │ │ │ ├── back_disabled.png │ │ │ │ ├── back_enabled.png │ │ │ │ ├── back_enabled_hover.png │ │ │ │ ├── favicon.ico │ │ │ │ ├── forward_disabled.png │ │ │ │ ├── forward_enabled.png │ │ │ │ ├── forward_enabled_hover.png │ │ │ │ ├── sort_asc.png │ │ │ │ ├── sort_asc_disabled.png │ │ │ │ ├── sort_both.png │ │ │ │ ├── sort_desc.png │ │ │ │ └── sort_desc_disabled.png │ │ │ └── js │ │ │ │ ├── dataTables.bootstrap.js │ │ │ │ └── jquery.dataTables.js │ │ ├── clippy.js │ │ ├── clippy.min.js │ │ ├── console.js │ │ ├── csv.js │ │ ├── handsontable.full.min.js │ │ ├── moment.min.js │ │ └── text.js │ ├── templates │ │ ├── KVStoreFieldEditor.html │ │ ├── KVStoreFieldView.html │ │ ├── LookupEdit.html │ │ └── LookupList.html │ └── views │ │ ├── KVStoreFieldEditor.js │ │ ├── KVStoreFieldView.js │ │ ├── LookupEditView.js │ │ └── LookupListView.js │ ├── lookup_edit.css │ ├── lookup_edit.js │ ├── lookup_list.css │ ├── lookup_list.js │ ├── lookup_new.css │ ├── lookup_new.js │ ├── questionaccess.css │ ├── questionaccess.js │ ├── screenshot.png │ ├── time_setup.css │ ├── time_setup.js │ └── timepicker │ ├── i18n │ ├── jquery-ui-timepicker-af.js │ ├── jquery-ui-timepicker-bg.js │ ├── jquery-ui-timepicker-ca.js │ ├── jquery-ui-timepicker-cs.js │ ├── jquery-ui-timepicker-da.js │ ├── jquery-ui-timepicker-de.js │ ├── jquery-ui-timepicker-el.js │ ├── jquery-ui-timepicker-es.js │ ├── jquery-ui-timepicker-et.js │ ├── jquery-ui-timepicker-eu.js │ ├── jquery-ui-timepicker-fi.js │ ├── jquery-ui-timepicker-fr.js │ ├── jquery-ui-timepicker-gl.js │ ├── jquery-ui-timepicker-he.js │ ├── jquery-ui-timepicker-hr.js │ ├── jquery-ui-timepicker-hu.js │ ├── jquery-ui-timepicker-id.js │ ├── jquery-ui-timepicker-it.js │ ├── jquery-ui-timepicker-ja.js │ ├── jquery-ui-timepicker-ko.js │ ├── jquery-ui-timepicker-lt.js │ ├── jquery-ui-timepicker-nl.js │ ├── jquery-ui-timepicker-no.js │ ├── jquery-ui-timepicker-pl.js │ ├── jquery-ui-timepicker-pt-BR.js │ ├── jquery-ui-timepicker-pt.js │ ├── jquery-ui-timepicker-ro.js │ ├── jquery-ui-timepicker-ru.js │ ├── jquery-ui-timepicker-sk.js │ ├── jquery-ui-timepicker-sv.js │ ├── jquery-ui-timepicker-th.js │ ├── jquery-ui-timepicker-tr.js │ ├── jquery-ui-timepicker-uk.js │ ├── jquery-ui-timepicker-vi.js │ ├── jquery-ui-timepicker-zh-CN.js │ └── jquery-ui-timepicker-zh-TW.js │ ├── jquery-ui-sliderAccess.js │ └── jquery-ui-timepicker-addon.js ├── bin ├── README ├── backup-scoreboard.py ├── backuprestore.config.example ├── checkqaccess.py ├── restore-scoreboard.py ├── splunklib │ ├── __init__.py │ ├── binding.py │ ├── client.py │ ├── data.py │ ├── modularinput │ │ ├── __init__.py │ │ ├── argument.py │ │ ├── event.py │ │ ├── event_writer.py │ │ ├── input_definition.py │ │ ├── scheme.py │ │ ├── script.py │ │ ├── utils.py │ │ └── validation_definition.py │ ├── ordereddict.py │ ├── results.py │ └── searchcommands │ │ ├── __init__.py │ │ ├── decorators.py │ │ ├── environment.py │ │ ├── eventing_command.py │ │ ├── external_search_command.py │ │ ├── generating_command.py │ │ ├── internals.py │ │ ├── reporting_command.py │ │ ├── search_command.py │ │ ├── streaming_command.py │ │ └── validators.py ├── stagecontent.py ├── toggleqaccess.py └── whois_lookup.py ├── default ├── app.conf ├── authorize.conf ├── collections.conf ├── commands.conf ├── data │ └── ui │ │ ├── nav │ │ └── default.xml │ │ └── views │ │ ├── README │ │ ├── adjust_score.xml │ │ ├── adjust_score_result.xml │ │ ├── all_questions_by_team.xml │ │ ├── answers_by_user.xml │ │ ├── assign_ebadges.xml │ │ ├── badges_by_question_group.xml │ │ ├── competitors.xml │ │ ├── countdown.xml │ │ ├── cumulative_score_detail.xml │ │ ├── detect_collect.xml │ │ ├── detect_search.xml │ │ ├── event_info.xml │ │ ├── final_countdown.xml │ │ ├── geo_scoring_info.xml │ │ ├── kv_backup_history.xml │ │ ├── load_sample_answers.xml │ │ ├── load_sample_badge_entitlements.xml │ │ ├── load_sample_badges.xml │ │ ├── load_sample_hint_entitlements.xml │ │ ├── load_sample_hints.xml │ │ ├── load_sample_questions.xml │ │ ├── load_sample_user_agreements.xml │ │ ├── load_sample_usersteams.xml │ │ ├── load_staged_answers.xml │ │ ├── load_staged_badges.xml │ │ ├── load_staged_hints.xml │ │ ├── load_staged_questions.xml │ │ ├── load_staged_user_agreements.xml │ │ ├── load_staged_users.xml │ │ ├── q__a.xml │ │ ├── question_access.xml │ │ ├── question_difficulty_analytics.xml │ │ ├── question_timeanswer_densities.xml │ │ ├── scoreboard_admin_error.xml │ │ ├── scoreboard_health.xml │ │ ├── somafm_music_to_hack_by.xml │ │ ├── streaks_and_penalties.xml │ │ ├── time_setup.xml │ │ ├── timebased_question_and_answering_palette.xml │ │ ├── user_activity.xml │ │ └── user_investigator.xml ├── indexes.conf ├── inputs.conf ├── limits.conf ├── macros.conf ├── props.conf ├── savedsearches.conf └── transforms.conf ├── lookups ├── ctf_answers_sample.csv ├── ctf_badge_entitlements_sample.csv ├── ctf_badges_sample.csv ├── ctf_eulas_sample.csv ├── ctf_hint_entitlements_sample.csv ├── ctf_hints_sample.csv ├── ctf_questions_sample.csv └── ctf_users_sample.csv └── metadata └── default.meta /.gitignore: -------------------------------------------------------------------------------- 1 | backuprestore.config 2 | currentscore.csv 3 | *staged.csv 4 | *.pyc 5 | *.pyo 6 | .DS_Store 7 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SA-ctf_scoreboard_admin 2 | 3 | NOTE: As of January 2022, this app has been deprecated. Please visit https://bots.splunk.com for hands-on experiences using Splunk security products. Splunk will no longer provide assistance or support for this app. 4 | 5 | This is a companion app to to [The Splunk CTF Scoreboard app](https://github.com/splunk/SA-ctf_scoreboard). Please see the documentation there. 6 | 7 | ## Authors 8 | Written in 2016-2018 by David Herrald and Ryan Kovar, with contributions from Brad Lindow, James Brodsky, David Veuve, John Stoner, Steve Brant, Jesse Trucks, Lily Lee, Jon Lebaugh, Bill Babillon, Luke Murphey, Filip Wijnholds, and others. 9 | 10 | ## Copyright and License 11 | To the extent possible under law, the author(s) have dedicated 12 | all copyright and related and neighboring rights to this software 13 | to the public domain worldwide. This software is distributed 14 | without any warranty. You should have received a copy of the CC0 15 | Public Domain Dedication along with this software. If not, see 16 | http://creativecommons.org/publicdomain/zero/1.0/. 17 | 18 | 19 | ### Special Copyright/License Notes 20 | 21 | This repository includes the following open source components: 22 | * [jquery UI](http://jqueryui.com/) 23 | * [jQuery timepicker addon By: Trent Richardson](http://trentrichardson.com) 24 | * [The Final Countdown for jQuery v2.1.0](http://hilios.github.io/jQuery.countdown/) 25 | * [jQuery UI Timepicker Copyright 2010-2013](http://fgelinas.com/code/timepicker) 26 | 27 | -------------------------------------------------------------------------------- /appserver/static/all_ebadges.css: -------------------------------------------------------------------------------- 1 | .badge-image { 2 | padding:1px; 3 | border:1px solid #021a40; 4 | background-color:#ffffff; 5 | width:50px; 6 | height:50px; 7 | } 8 | 9 | .badge-image-row{ 10 | /*display:inline-block;*/ 11 | } 12 | 13 | .team-text{ 14 | font-size: 18px; 15 | font-weight: bold; 16 | 17 | } -------------------------------------------------------------------------------- /appserver/static/all_ebadges.js: -------------------------------------------------------------------------------- 1 | require([ 2 | 'underscore', 3 | 'jquery', 4 | 'splunkjs/mvc', 5 | 'splunkjs/mvc/tableview', 6 | "splunkjs/mvc/searchmanager", 7 | 'splunkjs/mvc/simplexml/ready!' 8 | ], function(_, $, mvc, TableView, SearchManager) { 9 | var current_sm = new SearchManager({ 10 | id: "current_sm", 11 | preview: true, 12 | search: mvc.tokenSafe('| inputlookup ctf_badges \ 13 | | lookup ctf_badge_entitlements BadgeNumber \ 14 | | search `get_user_info` \ 15 | | stats dc(Team) as "Team Count" values(Team) as Teams \ 16 | dc(DisplayUsername) as "User Count" \ 17 | values(DisplayUsername) as Users \ 18 | by BadgeNumber BadgeURL BadgeName BadgeDescription \ 19 | | sort BadgeNumber \ 20 | | rename BadgeNumber as "Num" \ 21 | | search Num="$ebadge$" \ 22 | | rename "Teams" as "Teams Represented"') 23 | }, {tokens: true}); 24 | 25 | var assign_sm = new SearchManager({ 26 | id: "assign_sm", 27 | preview: false, 28 | autostart: false, 29 | search: mvc.tokenSafe('| makeresults \ 30 | | sendalert award_ebadge \ 31 | param.recipient="$recipient$" \ 32 | param.ebadge="$ebadge$" \ 33 | param.notes="$notes$" \ 34 | param.award_to_entire_team="$award_to_entire_team$"'), 35 | }, {tokens: true}); 36 | 37 | var badge_table = new TableView({ 38 | id: "badge_table", 39 | managerid: "current_sm", 40 | el: $("#badge_div") 41 | }).render(); 42 | 43 | var defaultTokenModel = mvc.Components.get("default"); 44 | 45 | var CustomTableImageRenderer = TableView.BaseCellRenderer.extend({ 46 | canRender: function(cell) { 47 | return cell.field === 'BadgeURL' || cell.field === 'Team' || cell.field === 'BadgeName' || cell.field === 'Unique Count'; 48 | }, 49 | render: function($td, cell) { 50 | if (cell.field === 'BadgeURL') { 51 | badge_list = cell.value.split(","); 52 | prepared_html = '
'; 53 | badge_list.forEach(function(badge){ 54 | prepared_html += ''; 55 | }); 56 | prepared_html += '
'; 57 | $td.html(prepared_html); 58 | } 59 | if (cell.field === 'Team' || cell.field === 'Unique Count' || cell.field === 'BadgeName' ) { 60 | prepared_html = '
' + cell.value + '
'; 61 | $td.html(prepared_html); 62 | } 63 | } 64 | }); 65 | badge_table.addCellRenderer(new CustomTableImageRenderer()); 66 | 67 | var diybtn = document.getElementById("diy_submit"); 68 | diybtn.addEventListener("click", 69 | function(){ 70 | assign_sm.startSearch(); 71 | assign_sm.on('search:done', function() { 72 | current_sm.startSearch(); 73 | }); 74 | } 75 | ); 76 | 77 | }); -------------------------------------------------------------------------------- /appserver/static/appIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/appIcon.png -------------------------------------------------------------------------------- /appserver/static/countdown.css: -------------------------------------------------------------------------------- 1 | #clock{ 2 | background: #000000; 3 | color: #ffffff; 4 | height: 400px; 5 | line-height: 400px; 6 | width=100%; 7 | text-align: center; 8 | font-size: 15vw; 9 | } 10 | 11 | #clock-text{ 12 | background: #000000; 13 | color: #ffffff; 14 | text-align: center; 15 | font-size: 12px; 16 | line-height: 12px; 17 | font-weight:bold; 18 | } 19 | -------------------------------------------------------------------------------- /appserver/static/css/KVStoreFieldEditor.css: -------------------------------------------------------------------------------- 1 | #kv-store-field-name{display:inline-block}#kv-store-fields{margin-top:16px}.add-additional-field{margin-left:16px}.KVStoreFieldEditor>div{margin-left:16px;margin-top:32px}.KVStoreFieldEditor>h3{font-weight:normal}#lookup-kv-store-edit>div{border:1px solid #CCC;border-radius:8px;padding:16px;margin:16px} -------------------------------------------------------------------------------- /appserver/static/css/KVStoreFieldView.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/css/KVStoreFieldView.css -------------------------------------------------------------------------------- /appserver/static/css/LookupList.css: -------------------------------------------------------------------------------- 1 | .dropdown-secondary>.dropdown-toggle{border-radius:0;border:0;background:transparent !important;box-shadow:inset 0 0 0 !important;color:#1e93c6}.progress{width:400px}.type-filter,.app-filter,.scope-filter{margin-top:8px;margin-left:16px}.type-filter>.dropdown-menu>li>a,.app-filter>.dropdown-menu>li>a{padding-left:22px}.dropdown-menu{background-color:white}.icon-check.hide{display:none}.dropdown-secondary>ul{max-height:320px;overflow-y:scroll}#content{min-height:360px}.search-query{margin-top:8px;margin-left:16px}.loading-placeholder{margin-left:64px}.new-lookup-button-group{margin-top:8px;margin-right:16px}#table_wrapper>.row-fluid:first-child{display:none}#table_wrapper>.row-fluid{margin-top:16px;margin-left:16px}#table_wrapper{clear:both}#table_paginate{float:right;margin-right:32px}td{background-color:white}.disable-lookup-info-table{margin:16px 0 8px 8px}.disable-lookup-info{font-weight:bold;padding-right:12px}.form-search{margin-bottom:8px}.action-link{margin-right:8px;margin-left:2px}.lookups-count{padding-top:13px;padding-left:12px}.btn-group.open .btn-primary.dropdown-toggle{background-color:#65a637} -------------------------------------------------------------------------------- /appserver/static/css/SplunkDataTables.css: -------------------------------------------------------------------------------- 1 | .sorting:after{font-family:Splunk Icons;content:"\2195";padding-left:5px;color:#bbb}.sorting_asc:after{font-family:Splunk Icons;content:"\21A5";padding-left:5px;color:black}.sorting_desc:after{font-family:Splunk Icons;content:"\21A7";padding-left:5px;color:black} -------------------------------------------------------------------------------- /appserver/static/css/jquery-ui-timepicker-addon.css: -------------------------------------------------------------------------------- 1 | .ui-timepicker-div .ui-widget-header { margin-bottom: 8px; } 2 | .ui-timepicker-div dl { text-align: left; } 3 | .ui-timepicker-div dl dt { height: 25px; margin-bottom: -25px; } 4 | .ui-timepicker-div dl dd { margin: 0 10px 10px 65px; } 5 | .ui-timepicker-div td { font-size: 90%; } 6 | .ui-tpicker-grid-label { background: none; border: none; margin: 0; padding: 0; } 7 | 8 | .ui-timepicker-rtl{ direction: rtl; } 9 | .ui-timepicker-rtl dl { text-align: right; } 10 | .ui-timepicker-rtl dl dd { margin: 0 65px 10px 10px; } -------------------------------------------------------------------------------- /appserver/static/css/lib/clippy.css: -------------------------------------------------------------------------------- 1 | .clippy,.clippy-balloon{position:fixed;z-index:1000;cursor:pointer}.clippy-balloon{background:#FFC;color:black;padding:8px;border:1px solid black;border-radius:5px}.clippy-content{max-width:200px;min-width:120px;font-family:"Microsoft Sans",sans-serif;font-size:10pt}.clippy-tip{width:10px;height:16px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAgCAMAAAAlvKiEAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAlQTFRF///MAAAA////52QwgAAAAAN0Uk5T//8A18oNQQAAAGxJREFUeNqs0kEOwCAIRFHn3//QTUU6xMyyxii+jQosrTPkyPEM6IN3FtzIRk1U4dFeKWQiH6pRRowMVKEmvronEynkwj0uZJgR22+YLopPSo9P34wJSamLSU7lSIWLJU7NkNomNlhqxUeAAQC+TQLZyEuJBwAAAABJRU5ErkJggg==) no-repeat;position:absolute}.clippy-top-left .clippy-tip{top:100%;margin-top:0;left:100%;margin-left:-50px}.clippy-top-right .clippy-tip{top:100%;margin-top:0;left:0;margin-left:50px;background-position:-10px 0}.clippy-bottom-right .clippy-tip{top:0;margin-top:-16px;left:0;margin-left:50px;background-position:-10px -16px}.clippy-bottom-left .clippy-tip{top:0;margin-top:-16px;left:100%;margin-left:-50px;background-position:0 -16px} -------------------------------------------------------------------------------- /appserver/static/css/lib/jquery.dataTables.css: -------------------------------------------------------------------------------- 1 | table.dataTable{margin:0 auto;clear:both;width:100%}table.dataTable thead th{padding:3px 18px 3px 10px;border-bottom:1px solid black;font-weight:bold;cursor:pointer;*cursor:hand}table.dataTable tfoot th{padding:3px 18px 3px 10px;border-top:1px solid black;font-weight:bold}table.dataTable td{padding:3px 10px}table.dataTable td.center,table.dataTable td.dataTables_empty{text-align:center}table.dataTable tr.odd{background-color:#e2e4ff}table.dataTable tr.even{background-color:white}table.dataTable tr.odd td.sorting_1{background-color:#d3d6ff}table.dataTable tr.odd td.sorting_2{background-color:#dadcff}table.dataTable tr.odd td.sorting_3{background-color:#e0e2ff}table.dataTable tr.even td.sorting_1{background-color:#eaebff}table.dataTable tr.even td.sorting_2{background-color:#f2f3ff}table.dataTable tr.even td.sorting_3{background-color:#f9f9ff}.dataTables_wrapper{position:relative;clear:both;*zoom:1}.dataTables_length{float:left}.dataTables_filter{float:right;text-align:right}.dataTables_info{clear:both;float:left}.dataTables_paginate{float:right;text-align:right}.paginate_disabled_previous,.paginate_enabled_previous,.paginate_disabled_next,.paginate_enabled_next{height:19px;float:left;cursor:pointer;*cursor:hand;color:#111 !important}.paginate_disabled_previous:hover,.paginate_enabled_previous:hover,.paginate_disabled_next:hover,.paginate_enabled_next:hover{text-decoration:none !important}.paginate_disabled_previous:active,.paginate_enabled_previous:active,.paginate_disabled_next:active,.paginate_enabled_next:active{outline:0}.paginate_disabled_previous,.paginate_disabled_next{color:#666 !important}.paginate_disabled_previous,.paginate_enabled_previous{padding-left:23px}.paginate_disabled_next,.paginate_enabled_next{padding-right:23px;margin-left:10px}.paginate_enabled_previous{background:url('../images/back_enabled.png') no-repeat top left}.paginate_enabled_previous:hover{background:url('../images/back_enabled_hover.png') no-repeat top left}.paginate_disabled_previous{background:url('../images/back_disabled.png') no-repeat top left}.paginate_enabled_next{background:url('../images/forward_enabled.png') no-repeat top right}.paginate_enabled_next:hover{background:url('../images/forward_enabled_hover.png') no-repeat top right}.paginate_disabled_next{background:url('../images/forward_disabled.png') no-repeat top right}.paging_full_numbers{height:22px;line-height:22px}.paging_full_numbers a:active{outline:0}.paging_full_numbers a:hover{text-decoration:none}.paging_full_numbers a.paginate_button,.paging_full_numbers a.paginate_active{border:1px solid #aaa;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;padding:2px 5px;margin:0 3px;cursor:pointer;*cursor:hand;color:#333 !important}.paging_full_numbers a.paginate_button{background-color:#ddd}.paging_full_numbers a.paginate_button:hover{background-color:#ccc;text-decoration:none !important}.paging_full_numbers a.paginate_active{background-color:#99b3ff}.dataTables_processing{position:absolute;top:50%;left:50%;width:250px;height:30px;margin-left:-125px;margin-top:-15px;padding:14px 0 2px 0;border:1px solid #ddd;text-align:center;color:#999;font-size:14px;background-color:white}.sorting{background:url('../images/sort_both.png') no-repeat center right}.sorting_asc{background:url('../images/sort_asc.png') no-repeat center right}.sorting_desc{background:url('../images/sort_desc.png') no-repeat center right}.sorting_asc_disabled{background:url('../images/sort_asc_disabled.png') no-repeat center right}.sorting_desc_disabled{background:url('../images/sort_desc_disabled.png') no-repeat center right}table.dataTable thead th:active,table.dataTable thead td:active{outline:0}.dataTables_scroll{clear:both}.dataTables_scrollBody{*margin-top:-1px;-webkit-overflow-scrolling:touch} -------------------------------------------------------------------------------- /appserver/static/css/ui-lightness/images/animated-overlay.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/css/ui-lightness/images/animated-overlay.gif -------------------------------------------------------------------------------- /appserver/static/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png -------------------------------------------------------------------------------- /appserver/static/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png -------------------------------------------------------------------------------- /appserver/static/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png -------------------------------------------------------------------------------- /appserver/static/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png -------------------------------------------------------------------------------- /appserver/static/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png -------------------------------------------------------------------------------- /appserver/static/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png -------------------------------------------------------------------------------- /appserver/static/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png -------------------------------------------------------------------------------- /appserver/static/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png -------------------------------------------------------------------------------- /appserver/static/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png -------------------------------------------------------------------------------- /appserver/static/css/ui-lightness/images/ui-icons_222222_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/css/ui-lightness/images/ui-icons_222222_256x240.png -------------------------------------------------------------------------------- /appserver/static/css/ui-lightness/images/ui-icons_228ef1_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/css/ui-lightness/images/ui-icons_228ef1_256x240.png -------------------------------------------------------------------------------- /appserver/static/css/ui-lightness/images/ui-icons_ef8c08_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/css/ui-lightness/images/ui-icons_ef8c08_256x240.png -------------------------------------------------------------------------------- /appserver/static/css/ui-lightness/images/ui-icons_ffd27a_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/css/ui-lightness/images/ui-icons_ffd27a_256x240.png -------------------------------------------------------------------------------- /appserver/static/css/ui-lightness/images/ui-icons_ffffff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/css/ui-lightness/images/ui-icons_ffffff_256x240.png -------------------------------------------------------------------------------- /appserver/static/ctflogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/ctflogo.png -------------------------------------------------------------------------------- /appserver/static/images/DataTables/sort_asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/images/DataTables/sort_asc.png -------------------------------------------------------------------------------- /appserver/static/images/DataTables/sort_asc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/images/DataTables/sort_asc_disabled.png -------------------------------------------------------------------------------- /appserver/static/images/DataTables/sort_both.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/images/DataTables/sort_both.png -------------------------------------------------------------------------------- /appserver/static/images/DataTables/sort_desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/images/DataTables/sort_desc.png -------------------------------------------------------------------------------- /appserver/static/images/DataTables/sort_desc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/images/DataTables/sort_desc_disabled.png -------------------------------------------------------------------------------- /appserver/static/images/drag_and_drop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/images/drag_and_drop.png -------------------------------------------------------------------------------- /appserver/static/instantiate_countdown.js: -------------------------------------------------------------------------------- 1 | require(["jquery", 2 | "splunkjs/mvc/utils", 3 | "splunkjs/mvc/searchmanager", 4 | "/static/app/SA-ctf_scoreboard_admin/jquery.countdown.js", 5 | "splunkjs/ready!", 6 | "splunkjs/mvc/simplexml/ready!"], function($, utils, SearchManager){ 7 | 8 | // Detemine competition end time and start the clock. 9 | var sm = new SearchManager({ 10 | "id": 'getEndTimeSM', 11 | "cancelOnUnload": true, 12 | "latest_time": "", 13 | "status_buckets": 0, 14 | "earliest_time": "0", 15 | "search": "|inputlookup ctf_questions | stats max(EndTime) as EndTime | fields + EndTime", 16 | "app": utils.getCurrentApp(), 17 | "preview": true, 18 | "runWhenTimeIsUndefined": false, 19 | "autostart": true 20 | }, { tokens: true, tokenNamespace: "submitted" }); 21 | 22 | sm.on('search:done', function(properties) { 23 | var searchName = properties.content.request.label 24 | if (properties.content.resultCount == 0) { 25 | console.log(searchName, "gave no results, so timer cannot be started.", properties) 26 | } else { 27 | var results = splunkjs.mvc.Components.getInstance(searchName).data('results', { output_mode: 'json', count: 0 }); 28 | results.on("data", function(properties) { 29 | var searchName = properties.attributes.manager.id 30 | var data = properties.data().results 31 | epoch = parseInt(data[0]['EndTime'],10); 32 | var d = new Date(0); 33 | d.setUTCSeconds(epoch); 34 | // Instantiate the countdown timer with the time of the last question in ctf_questions. 35 | $('#clock').countdown(d, function(event) { 36 | $(this).html(event.strftime('%D:%H:%M:%S')); 37 | }); 38 | }); 39 | }; 40 | }); 41 | }); 42 | -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-af.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(t){t.datepicker.regional.af={closeText:"Selekteer",prevText:"Vorige",nextText:"Volgende",currentText:"Vandag",monthNames:["Januarie","Februarie","Maart","April","Mei","Junie","Julie","Augustus","September","Oktober","November","Desember"],monthNamesShort:["Jan","Feb","Mrt","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Des"],dayNames:["Sondag","Maandag","Dinsdag","Woensdag","Donderdag","Vrydag","Saterdag"],dayNamesShort:["Son","Maa","Din","Woe","Don","Vry","Sat"],dayNamesMin:["So","Ma","Di","Wo","Do","Vr","Sa"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},t.datepicker.setDefaults(t.datepicker.regional.af)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-ar-DZ.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(t){t.datepicker.regional["ar-DZ"]={closeText:"إغلاق",prevText:"<السابق",nextText:"التالي>",currentText:"اليوم",monthNames:["جانفي","فيفري","مارس","أفريل","ماي","جوان","جويلية","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesShort:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesMin:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],weekHeader:"أسبوع",dateFormat:"dd/mm/yy",firstDay:6,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""},t.datepicker.setDefaults(t.datepicker.regional["ar-DZ"])}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-ar.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(t){t.datepicker.regional.ar={closeText:"إغلاق",prevText:"<السابق",nextText:"التالي>",currentText:"اليوم",monthNames:["كانون الثاني","شباط","آذار","نيسان","مايو","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesShort:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesMin:["ح","ن","ث","ر","خ","ج","س"],weekHeader:"أسبوع",dateFormat:"dd/mm/yy",firstDay:6,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""},t.datepicker.setDefaults(t.datepicker.regional.ar)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-az.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(t){t.datepicker.regional.az={closeText:"Bağla",prevText:"<Geri",nextText:"İrəli>",currentText:"Bugün",monthNames:["Yanvar","Fevral","Mart","Aprel","May","İyun","İyul","Avqust","Sentyabr","Oktyabr","Noyabr","Dekabr"],monthNamesShort:["Yan","Fev","Mar","Apr","May","İyun","İyul","Avq","Sen","Okt","Noy","Dek"],dayNames:["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"],dayNamesShort:["B","Be","Ça","Ç","Ca","C","Ş"],dayNamesMin:["B","B","Ç","С","Ç","C","Ş"],weekHeader:"Hf",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},t.datepicker.setDefaults(t.datepicker.regional.az)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-be.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(t){t.datepicker.regional.be={closeText:"Зачыніць",prevText:"←Папяр.",nextText:"Наст.→",currentText:"Сёньня",monthNames:["Студзень","Люты","Сакавік","Красавік","Травень","Чэрвень","Ліпень","Жнівень","Верасень","Кастрычнік","Лістапад","Сьнежань"],monthNamesShort:["Сту","Лют","Сак","Кра","Тра","Чэр","Ліп","Жні","Вер","Кас","Ліс","Сьн"],dayNames:["нядзеля","панядзелак","аўторак","серада","чацьвер","пятніца","субота"],dayNamesShort:["ндз","пнд","аўт","срд","чцв","птн","сбт"],dayNamesMin:["Нд","Пн","Аў","Ср","Чц","Пт","Сб"],weekHeader:"Тд",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},t.datepicker.setDefaults(t.datepicker.regional.be)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-bg.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(t){t.datepicker.regional.bg={closeText:"затвори",prevText:"<назад",nextText:"напред>",nextBigText:">>",currentText:"днес",monthNames:["Януари","Февруари","Март","Април","Май","Юни","Юли","Август","Септември","Октомври","Ноември","Декември"],monthNamesShort:["Яну","Фев","Мар","Апр","Май","Юни","Юли","Авг","Сеп","Окт","Нов","Дек"],dayNames:["Неделя","Понеделник","Вторник","Сряда","Четвъртък","Петък","Събота"],dayNamesShort:["Нед","Пон","Вто","Сря","Чет","Пет","Съб"],dayNamesMin:["Не","По","Вт","Ср","Че","Пе","Съ"],weekHeader:"Wk",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},t.datepicker.setDefaults(t.datepicker.regional.bg)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-bs.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(t){t.datepicker.regional.bs={closeText:"Zatvori",prevText:"<",nextText:">",currentText:"Danas",monthNames:["Januar","Februar","Mart","April","Maj","Juni","Juli","August","Septembar","Oktobar","Novembar","Decembar"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],dayNames:["Nedelja","Ponedeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"],dayNamesShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],dayNamesMin:["Ne","Po","Ut","Sr","Če","Pe","Su"],weekHeader:"Wk",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},t.datepicker.setDefaults(t.datepicker.regional.bs)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-ca.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(t){t.datepicker.regional.ca={closeText:"Tanca",prevText:"Anterior",nextText:"Següent",currentText:"Avui",monthNames:["gener","febrer","març","abril","maig","juny","juliol","agost","setembre","octubre","novembre","desembre"],monthNamesShort:["gen","feb","març","abr","maig","juny","jul","ag","set","oct","nov","des"],dayNames:["diumenge","dilluns","dimarts","dimecres","dijous","divendres","dissabte"],dayNamesShort:["dg","dl","dt","dc","dj","dv","ds"],dayNamesMin:["dg","dl","dt","dc","dj","dv","ds"],weekHeader:"Set",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},t.datepicker.setDefaults(t.datepicker.regional.ca)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-cs.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(t){t.datepicker.regional.cs={closeText:"Zavřít",prevText:"<Dříve",nextText:"Později>",currentText:"Nyní",monthNames:["leden","únor","březen","duben","květen","červen","červenec","srpen","září","říjen","listopad","prosinec"],monthNamesShort:["led","úno","bře","dub","kvě","čer","čvc","srp","zář","říj","lis","pro"],dayNames:["neděle","pondělí","úterý","středa","čtvrtek","pátek","sobota"],dayNamesShort:["ne","po","út","st","čt","pá","so"],dayNamesMin:["ne","po","út","st","čt","pá","so"],weekHeader:"Týd",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},t.datepicker.setDefaults(t.datepicker.regional.cs)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-cy-GB.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(t){t.datepicker.regional["cy-GB"]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["Ionawr","Chwefror","Mawrth","Ebrill","Mai","Mehefin","Gorffennaf","Awst","Medi","Hydref","Tachwedd","Rhagfyr"],monthNamesShort:["Ion","Chw","Maw","Ebr","Mai","Meh","Gor","Aws","Med","Hyd","Tac","Rha"],dayNames:["Dydd Sul","Dydd Llun","Dydd Mawrth","Dydd Mercher","Dydd Iau","Dydd Gwener","Dydd Sadwrn"],dayNamesShort:["Sul","Llu","Maw","Mer","Iau","Gwe","Sad"],dayNamesMin:["Su","Ll","Ma","Me","Ia","Gw","Sa"],weekHeader:"Wy",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},t.datepicker.setDefaults(t.datepicker.regional["cy-GB"])}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-da.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(t){t.datepicker.regional.da={closeText:"Luk",prevText:"<Forrige",nextText:"Næste>",currentText:"Idag",monthNames:["Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],dayNames:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"],dayNamesShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],dayNamesMin:["Sø","Ma","Ti","On","To","Fr","Lø"],weekHeader:"Uge",dateFormat:"dd-mm-yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},t.datepicker.setDefaults(t.datepicker.regional.da)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-de.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(t){t.datepicker.regional.de={closeText:"Schließen",prevText:"<Zurück",nextText:"Vor>",currentText:"Heute",monthNames:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthNamesShort:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],dayNames:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],dayNamesShort:["So","Mo","Di","Mi","Do","Fr","Sa"],dayNamesMin:["So","Mo","Di","Mi","Do","Fr","Sa"],weekHeader:"KW",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},t.datepicker.setDefaults(t.datepicker.regional.de)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-el.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(t){t.datepicker.regional.el={closeText:"Κλείσιμο",prevText:"Προηγούμενος",nextText:"Επόμενος",currentText:"Τρέχων Μήνας",monthNames:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"],monthNamesShort:["Ιαν","Φεβ","Μαρ","Απρ","Μαι","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],dayNames:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],dayNamesShort:["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],dayNamesMin:["Κυ","Δε","Τρ","Τε","Πε","Πα","Σα"],weekHeader:"Εβδ",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},t.datepicker.setDefaults(t.datepicker.regional.el)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-en-AU.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(t){t.datepicker.regional["en-AU"]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},t.datepicker.setDefaults(t.datepicker.regional["en-AU"])}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-en-GB.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(t){t.datepicker.regional["en-GB"]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},t.datepicker.setDefaults(t.datepicker.regional["en-GB"])}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-en-NZ.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(t){t.datepicker.regional["en-NZ"]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},t.datepicker.setDefaults(t.datepicker.regional["en-NZ"])}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-eo.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(t){t.datepicker.regional.eo={closeText:"Fermi",prevText:"<Anta",nextText:"Sekv>",currentText:"Nuna",monthNames:["Januaro","Februaro","Marto","Aprilo","Majo","Junio","Julio","Aŭgusto","Septembro","Oktobro","Novembro","Decembro"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aŭg","Sep","Okt","Nov","Dec"],dayNames:["Dimanĉo","Lundo","Mardo","Merkredo","Ĵaŭdo","Vendredo","Sabato"],dayNamesShort:["Dim","Lun","Mar","Mer","Ĵaŭ","Ven","Sab"],dayNamesMin:["Di","Lu","Ma","Me","Ĵa","Ve","Sa"],weekHeader:"Sb",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},t.datepicker.setDefaults(t.datepicker.regional.eo)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-es.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(t){t.datepicker.regional.es={closeText:"Cerrar",prevText:"<Ant",nextText:"Sig>",currentText:"Hoy",monthNames:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],monthNamesShort:["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],dayNames:["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"],dayNamesShort:["Dom","Lun","Mar","Mié","Juv","Vie","Sáb"],dayNamesMin:["Do","Lu","Ma","Mi","Ju","Vi","Sá"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},t.datepicker.setDefaults(t.datepicker.regional.es)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-et.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(t){t.datepicker.regional.et={closeText:"Sulge",prevText:"Eelnev",nextText:"Järgnev",currentText:"Täna",monthNames:["Jaanuar","Veebruar","Märts","Aprill","Mai","Juuni","Juuli","August","September","Oktoober","November","Detsember"],monthNamesShort:["Jaan","Veebr","Märts","Apr","Mai","Juuni","Juuli","Aug","Sept","Okt","Nov","Dets"],dayNames:["Pühapäev","Esmaspäev","Teisipäev","Kolmapäev","Neljapäev","Reede","Laupäev"],dayNamesShort:["Pühap","Esmasp","Teisip","Kolmap","Neljap","Reede","Laup"],dayNamesMin:["P","E","T","K","N","R","L"],weekHeader:"näd",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},t.datepicker.setDefaults(t.datepicker.regional.et)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-eu.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(t){t.datepicker.regional.eu={closeText:"Egina",prevText:"<Aur",nextText:"Hur>",currentText:"Gaur",monthNames:["urtarrila","otsaila","martxoa","apirila","maiatza","ekaina","uztaila","abuztua","iraila","urria","azaroa","abendua"],monthNamesShort:["urt.","ots.","mar.","api.","mai.","eka.","uzt.","abu.","ira.","urr.","aza.","abe."],dayNames:["igandea","astelehena","asteartea","asteazkena","osteguna","ostirala","larunbata"],dayNamesShort:["ig.","al.","ar.","az.","og.","ol.","lr."],dayNamesMin:["ig","al","ar","az","og","ol","lr"],weekHeader:"As",dateFormat:"yy-mm-dd",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},t.datepicker.setDefaults(t.datepicker.regional.eu)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-fa.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(t){t.datepicker.regional.fa={closeText:"بستن",prevText:"<قبلی",nextText:"بعدی>",currentText:"امروز",monthNames:["فروردين","ارديبهشت","خرداد","تير","مرداد","شهريور","مهر","آبان","آذر","دی","بهمن","اسفند"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["يکشنبه","دوشنبه","سه‌شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],dayNamesShort:["ی","د","س","چ","پ","ج","ش"],dayNamesMin:["ی","د","س","چ","پ","ج","ش"],weekHeader:"هف",dateFormat:"yy/mm/dd",firstDay:6,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""},t.datepicker.setDefaults(t.datepicker.regional.fa)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-fi.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(t){t.datepicker.regional.fi={closeText:"Sulje",prevText:"«Edellinen",nextText:"Seuraava»",currentText:"Tänään",monthNames:["Tammikuu","Helmikuu","Maaliskuu","Huhtikuu","Toukokuu","Kesäkuu","Heinäkuu","Elokuu","Syyskuu","Lokakuu","Marraskuu","Joulukuu"],monthNamesShort:["Tammi","Helmi","Maalis","Huhti","Touko","Kesä","Heinä","Elo","Syys","Loka","Marras","Joulu"],dayNamesShort:["Su","Ma","Ti","Ke","To","Pe","La"],dayNames:["Sunnuntai","Maanantai","Tiistai","Keskiviikko","Torstai","Perjantai","Lauantai"],dayNamesMin:["Su","Ma","Ti","Ke","To","Pe","La"],weekHeader:"Vk",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},t.datepicker.setDefaults(t.datepicker.regional.fi)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-fo.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(t){t.datepicker.regional.fo={closeText:"Lat aftur",prevText:"<Fyrra",nextText:"Næsta>",currentText:"Í dag",monthNames:["Januar","Februar","Mars","Apríl","Mei","Juni","Juli","August","September","Oktober","November","Desember"],monthNamesShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Des"],dayNames:["Sunnudagur","Mánadagur","Týsdagur","Mikudagur","Hósdagur","Fríggjadagur","Leyardagur"],dayNamesShort:["Sun","Mán","Týs","Mik","Hós","Frí","Ley"],dayNamesMin:["Su","Má","Tý","Mi","Hó","Fr","Le"],weekHeader:"Vk",dateFormat:"dd-mm-yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},t.datepicker.setDefaults(t.datepicker.regional.fo)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-fr-CA.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(t){t.datepicker.regional["fr-CA"]={closeText:"Fermer",prevText:"Précédent",nextText:"Suivant",currentText:"Aujourd'hui",monthNames:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],monthNamesShort:["janv.","févr.","mars","avril","mai","juin","juil.","août","sept.","oct.","nov.","déc."],dayNames:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],dayNamesShort:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],dayNamesMin:["D","L","M","M","J","V","S"],weekHeader:"Sem.",dateFormat:"yy-mm-dd",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},t.datepicker.setDefaults(t.datepicker.regional["fr-CA"])}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-fr-CH.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(t){t.datepicker.regional["fr-CH"]={closeText:"Fermer",prevText:"<Préc",nextText:"Suiv>",currentText:"Courant",monthNames:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],monthNamesShort:["Jan","Fév","Mar","Avr","Mai","Jun","Jul","Aoû","Sep","Oct","Nov","Déc"],dayNames:["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"],dayNamesShort:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],dayNamesMin:["Di","Lu","Ma","Me","Je","Ve","Sa"],weekHeader:"Sm",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},t.datepicker.setDefaults(t.datepicker.regional["fr-CH"])}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-fr.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.fr={closeText:"Fermer",prevText:"Précédent",nextText:"Suivant",currentText:"Aujourd'hui",monthNames:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],monthNamesShort:["Janv.","Févr.","Mars","Avril","Mai","Juin","Juil.","Août","Sept.","Oct.","Nov.","Déc."],dayNames:["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"],dayNamesShort:["Dim.","Lun.","Mar.","Mer.","Jeu.","Ven.","Sam."],dayNamesMin:["D","L","M","M","J","V","S"],weekHeader:"Sem.",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.fr)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-gl.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.gl={closeText:"Pechar",prevText:"<Ant",nextText:"Seg>",currentText:"Hoxe",monthNames:["Xaneiro","Febreiro","Marzo","Abril","Maio","Xuño","Xullo","Agosto","Setembro","Outubro","Novembro","Decembro"],monthNamesShort:["Xan","Feb","Mar","Abr","Mai","Xuñ","Xul","Ago","Set","Out","Nov","Dec"],dayNames:["Domingo","Luns","Martes","Mércores","Xoves","Venres","Sábado"],dayNamesShort:["Dom","Lun","Mar","Mér","Xov","Ven","Sáb"],dayNamesMin:["Do","Lu","Ma","Mé","Xo","Ve","Sá"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.gl)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-he.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.he={closeText:"סגור",prevText:"<הקודם",nextText:"הבא>",currentText:"היום",monthNames:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],monthNamesShort:["ינו","פבר","מרץ","אפר","מאי","יוני","יולי","אוג","ספט","אוק","נוב","דצמ"],dayNames:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת"],dayNamesShort:["א'","ב'","ג'","ד'","ה'","ו'","שבת"],dayNamesMin:["א'","ב'","ג'","ד'","ה'","ו'","שבת"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.he)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-hi.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.hi={closeText:"बंद",prevText:"पिछला",nextText:"अगला",currentText:"आज",monthNames:["जनवरी ","फरवरी","मार्च","अप्रेल","मई","जून","जूलाई","अगस्त ","सितम्बर","अक्टूबर","नवम्बर","दिसम्बर"],monthNamesShort:["जन","फर","मार्च","अप्रेल","मई","जून","जूलाई","अग","सित","अक्ट","नव","दि"],dayNames:["रविवार","सोमवार","मंगलवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"],dayNamesShort:["रवि","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],dayNamesMin:["रवि","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],weekHeader:"हफ्ता",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.hi)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-hr.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.hr={closeText:"Zatvori",prevText:"<",nextText:">",currentText:"Danas",monthNames:["Siječanj","Veljača","Ožujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"],monthNamesShort:["Sij","Velj","Ožu","Tra","Svi","Lip","Srp","Kol","Ruj","Lis","Stu","Pro"],dayNames:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"],dayNamesShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],dayNamesMin:["Ne","Po","Ut","Sr","Če","Pe","Su"],weekHeader:"Tje",dateFormat:"dd.mm.yy.",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.hr)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-hu.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.hu={closeText:"bezár",prevText:"vissza",nextText:"előre",currentText:"ma",monthNames:["Január","Február","Március","Április","Május","Június","Július","Augusztus","Szeptember","Október","November","December"],monthNamesShort:["Jan","Feb","Már","Ápr","Máj","Jún","Júl","Aug","Szep","Okt","Nov","Dec"],dayNames:["Vasárnap","Hétfő","Kedd","Szerda","Csütörtök","Péntek","Szombat"],dayNamesShort:["Vas","Hét","Ked","Sze","Csü","Pén","Szo"],dayNamesMin:["V","H","K","Sze","Cs","P","Szo"],weekHeader:"Hét",dateFormat:"yy.mm.dd.",firstDay:1,isRTL:!1,showMonthAfterYear:!0,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.hu)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-hy.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.hy={closeText:"Փակել",prevText:"<Նախ.",nextText:"Հաջ.>",currentText:"Այսօր",monthNames:["Հունվար","Փետրվար","Մարտ","Ապրիլ","Մայիս","Հունիս","Հուլիս","Օգոստոս","Սեպտեմբեր","Հոկտեմբեր","Նոյեմբեր","Դեկտեմբեր"],monthNamesShort:["Հունվ","Փետր","Մարտ","Ապր","Մայիս","Հունիս","Հուլ","Օգս","Սեպ","Հոկ","Նոյ","Դեկ"],dayNames:["կիրակի","եկուշաբթի","երեքշաբթի","չորեքշաբթի","հինգշաբթի","ուրբաթ","շաբաթ"],dayNamesShort:["կիր","երկ","երք","չրք","հնգ","ուրբ","շբթ"],dayNamesMin:["կիր","երկ","երք","չրք","հնգ","ուրբ","շբթ"],weekHeader:"ՇԲՏ",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.hy)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-id.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.id={closeText:"Tutup",prevText:"<mundur",nextText:"maju>",currentText:"hari ini",monthNames:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","Nopember","Desember"],monthNamesShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agus","Sep","Okt","Nop","Des"],dayNames:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],dayNamesShort:["Min","Sen","Sel","Rab","kam","Jum","Sab"],dayNamesMin:["Mg","Sn","Sl","Rb","Km","jm","Sb"],weekHeader:"Mg",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.id)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-is.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.is={closeText:"Loka",prevText:"< Fyrri",nextText:"Næsti >",currentText:"Í dag",monthNames:["Janúar","Febrúar","Mars","Apríl","Maí","Júní","Júlí","Ágúst","September","Október","Nóvember","Desember"],monthNamesShort:["Jan","Feb","Mar","Apr","Maí","Jún","Júl","Ágú","Sep","Okt","Nóv","Des"],dayNames:["Sunnudagur","Mánudagur","Þriðjudagur","Miðvikudagur","Fimmtudagur","Föstudagur","Laugardagur"],dayNamesShort:["Sun","Mán","Þri","Mið","Fim","Fös","Lau"],dayNamesMin:["Su","Má","Þr","Mi","Fi","Fö","La"],weekHeader:"Vika",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.is)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-it.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.it={closeText:"Chiudi",prevText:"<Prec",nextText:"Succ>",currentText:"Oggi",monthNames:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],monthNamesShort:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],dayNames:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],dayNamesShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],dayNamesMin:["Do","Lu","Ma","Me","Gi","Ve","Sa"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.it)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-ja.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.ja={closeText:"閉じる",prevText:"<前",nextText:"次>",currentText:"今日",monthNames:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],monthNamesShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dayNames:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],dayNamesShort:["日","月","火","水","木","金","土"],dayNamesMin:["日","月","火","水","木","金","土"],weekHeader:"週",dateFormat:"yy/mm/dd",firstDay:0,isRTL:!1,showMonthAfterYear:!0,yearSuffix:"年"},e.datepicker.setDefaults(e.datepicker.regional.ja)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-ka.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.ka={closeText:"დახურვა",prevText:"< წინა",nextText:"შემდეგი >",currentText:"დღეს",monthNames:["იანვარი","თებერვალი","მარტი","აპრილი","მაისი","ივნისი","ივლისი","აგვისტო","სექტემბერი","ოქტომბერი","ნოემბერი","დეკემბერი"],monthNamesShort:["იან","თებ","მარ","აპრ","მაი","ივნ","ივლ","აგვ","სექ","ოქტ","ნოე","დეკ"],dayNames:["კვირა","ორშაბათი","სამშაბათი","ოთხშაბათი","ხუთშაბათი","პარასკევი","შაბათი"],dayNamesShort:["კვ","ორშ","სამ","ოთხ","ხუთ","პარ","შაბ"],dayNamesMin:["კვ","ორშ","სამ","ოთხ","ხუთ","პარ","შაბ"],weekHeader:"კვირა",dateFormat:"dd-mm-yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.ka)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-kk.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.kk={closeText:"Жабу",prevText:"<Алдыңғы",nextText:"Келесі>",currentText:"Бүгін",monthNames:["Қаңтар","Ақпан","Наурыз","Сәуір","Мамыр","Маусым","Шілде","Тамыз","Қыркүйек","Қазан","Қараша","Желтоқсан"],monthNamesShort:["Қаң","Ақп","Нау","Сәу","Мам","Мау","Шіл","Там","Қыр","Қаз","Қар","Жел"],dayNames:["Жексенбі","Дүйсенбі","Сейсенбі","Сәрсенбі","Бейсенбі","Жұма","Сенбі"],dayNamesShort:["жкс","дсн","ссн","срс","бсн","жма","снб"],dayNamesMin:["Жк","Дс","Сс","Ср","Бс","Жм","Сн"],weekHeader:"Не",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.kk)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-km.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.km={closeText:"ធ្វើ​រួច",prevText:"មុន",nextText:"បន្ទាប់",currentText:"ថ្ងៃ​នេះ",monthNames:["មករា","កុម្ភៈ","មីនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],monthNamesShort:["មករា","កុម្ភៈ","មីនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],dayNames:["អាទិត្យ","ចន្ទ","អង្គារ","ពុធ","ព្រហស្បតិ៍","សុក្រ","សៅរ៍"],dayNamesShort:["អា","ច","អ","ពុ","ព្រហ","សុ","សៅ"],dayNamesMin:["អា","ច","អ","ពុ","ព្រហ","សុ","សៅ"],weekHeader:"សប្ដាហ៍",dateFormat:"dd-mm-yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.km)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-ko.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.ko={closeText:"닫기",prevText:"이전달",nextText:"다음달",currentText:"오늘",monthNames:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],monthNamesShort:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dayNames:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],dayNamesShort:["일","월","화","수","목","금","토"],dayNamesMin:["일","월","화","수","목","금","토"],weekHeader:"Wk",dateFormat:"yy-mm-dd",firstDay:0,isRTL:!1,showMonthAfterYear:!0,yearSuffix:"년"},e.datepicker.setDefaults(e.datepicker.regional.ko)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-ky.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.ky={closeText:"Жабуу",prevText:"<Мур",nextText:"Кий>",currentText:"Бүгүн",monthNames:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthNamesShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],dayNames:["жекшемби","дүйшөмбү","шейшемби","шаршемби","бейшемби","жума","ишемби"],dayNamesShort:["жек","дүй","шей","шар","бей","жум","ише"],dayNamesMin:["Жк","Дш","Шш","Шр","Бш","Жм","Иш"],weekHeader:"Жум",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.ky)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-lb.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.lb={closeText:"Fäerdeg",prevText:"Zréck",nextText:"Weider",currentText:"Haut",monthNames:["Januar","Februar","Mäerz","Abrëll","Mee","Juni","Juli","August","September","Oktober","November","Dezember"],monthNamesShort:["Jan","Feb","Mäe","Abr","Mee","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],dayNames:["Sonndeg","Méindeg","Dënschdeg","Mëttwoch","Donneschdeg","Freideg","Samschdeg"],dayNamesShort:["Son","Méi","Dën","Mët","Don","Fre","Sam"],dayNamesMin:["So","Mé","Dë","Më","Do","Fr","Sa"],weekHeader:"W",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.lb)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-lt.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.lt={closeText:"Uždaryti",prevText:"<Atgal",nextText:"Pirmyn>",currentText:"Šiandien",monthNames:["Sausis","Vasaris","Kovas","Balandis","Gegužė","Birželis","Liepa","Rugpjūtis","Rugsėjis","Spalis","Lapkritis","Gruodis"],monthNamesShort:["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rugp","Rugs","Spa","Lap","Gru"],dayNames:["sekmadienis","pirmadienis","antradienis","trečiadienis","ketvirtadienis","penktadienis","šeštadienis"],dayNamesShort:["sek","pir","ant","tre","ket","pen","šeš"],dayNamesMin:["Se","Pr","An","Tr","Ke","Pe","Še"],weekHeader:"Wk",dateFormat:"yy-mm-dd",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.lt)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-lv.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.lv={closeText:"Aizvērt",prevText:"Iepr",nextText:"Nāka",currentText:"Šodien",monthNames:["Janvāris","Februāris","Marts","Aprīlis","Maijs","Jūnijs","Jūlijs","Augusts","Septembris","Oktobris","Novembris","Decembris"],monthNamesShort:["Jan","Feb","Mar","Apr","Mai","Jūn","Jūl","Aug","Sep","Okt","Nov","Dec"],dayNames:["svētdiena","pirmdiena","otrdiena","trešdiena","ceturtdiena","piektdiena","sestdiena"],dayNamesShort:["svt","prm","otr","tre","ctr","pkt","sst"],dayNamesMin:["Sv","Pr","Ot","Tr","Ct","Pk","Ss"],weekHeader:"Nav",dateFormat:"dd-mm-yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.lv)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-mk.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.mk={closeText:"Затвори",prevText:"<",nextText:">",currentText:"Денес",monthNames:["Јануари","Февруари","Март","Април","Мај","Јуни","Јули","Август","Септември","Октомври","Ноември","Декември"],monthNamesShort:["Јан","Фев","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Ное","Дек"],dayNames:["Недела","Понеделник","Вторник","Среда","Четврток","Петок","Сабота"],dayNamesShort:["Нед","Пон","Вто","Сре","Чет","Пет","Саб"],dayNamesMin:["Не","По","Вт","Ср","Че","Пе","Са"],weekHeader:"Сед",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.mk)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-ml.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.ml={closeText:"ശരി",prevText:"മുന്നത്തെ",nextText:"അടുത്തത് ",currentText:"ഇന്ന്",monthNames:["ജനുവരി","ഫെബ്രുവരി","മാര്‍ച്ച്","ഏപ്രില്‍","മേയ്","ജൂണ്‍","ജൂലൈ","ആഗസ്റ്റ്","സെപ്റ്റംബര്‍","ഒക്ടോബര്‍","നവംബര്‍","ഡിസംബര്‍"],monthNamesShort:["ജനു","ഫെബ്","മാര്‍","ഏപ്രി","മേയ്","ജൂണ്‍","ജൂലാ","ആഗ","സെപ്","ഒക്ടോ","നവം","ഡിസ"],dayNames:["ഞായര്‍","തിങ്കള്‍","ചൊവ്വ","ബുധന്‍","വ്യാഴം","വെള്ളി","ശനി"],dayNamesShort:["ഞായ","തിങ്ക","ചൊവ്വ","ബുധ","വ്യാഴം","വെള്ളി","ശനി"],dayNamesMin:["ഞാ","തി","ചൊ","ബു","വ്യാ","വെ","ശ"],weekHeader:"ആ",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.ml)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-ms.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.ms={closeText:"Tutup",prevText:"<Sebelum",nextText:"Selepas>",currentText:"hari ini",monthNames:["Januari","Februari","Mac","April","Mei","Jun","Julai","Ogos","September","Oktober","November","Disember"],monthNamesShort:["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ogo","Sep","Okt","Nov","Dis"],dayNames:["Ahad","Isnin","Selasa","Rabu","Khamis","Jumaat","Sabtu"],dayNamesShort:["Aha","Isn","Sel","Rab","kha","Jum","Sab"],dayNamesMin:["Ah","Is","Se","Ra","Kh","Ju","Sa"],weekHeader:"Mg",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.ms)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-nb.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.nb={closeText:"Lukk",prevText:"«Forrige",nextText:"Neste»",currentText:"I dag",monthNames:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],monthNamesShort:["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des"],dayNamesShort:["søn","man","tir","ons","tor","fre","lør"],dayNames:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],dayNamesMin:["sø","ma","ti","on","to","fr","lø"],weekHeader:"Uke",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.nb)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-nl-BE.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional["nl-BE"]={closeText:"Sluiten",prevText:"←",nextText:"→",currentText:"Vandaag",monthNames:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],monthNamesShort:["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"],dayNames:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],dayNamesShort:["zon","maa","din","woe","don","vri","zat"],dayNamesMin:["zo","ma","di","wo","do","vr","za"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional["nl-BE"])}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-nl.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.nl={closeText:"Sluiten",prevText:"←",nextText:"→",currentText:"Vandaag",monthNames:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],monthNamesShort:["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"],dayNames:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],dayNamesShort:["zon","maa","din","woe","don","vri","zat"],dayNamesMin:["zo","ma","di","wo","do","vr","za"],weekHeader:"Wk",dateFormat:"dd-mm-yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.nl)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-nn.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.nn={closeText:"Lukk",prevText:"«Førre",nextText:"Neste»",currentText:"I dag",monthNames:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],monthNamesShort:["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des"],dayNamesShort:["sun","mån","tys","ons","tor","fre","lau"],dayNames:["sundag","måndag","tysdag","onsdag","torsdag","fredag","laurdag"],dayNamesMin:["su","må","ty","on","to","fr","la"],weekHeader:"Veke",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.nn)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-no.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.no={closeText:"Lukk",prevText:"«Forrige",nextText:"Neste»",currentText:"I dag",monthNames:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],monthNamesShort:["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des"],dayNamesShort:["søn","man","tir","ons","tor","fre","lør"],dayNames:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],dayNamesMin:["sø","ma","ti","on","to","fr","lø"],weekHeader:"Uke",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.no)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-pl.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.pl={closeText:"Zamknij",prevText:"<Poprzedni",nextText:"Następny>",currentText:"Dziś",monthNames:["Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec","Lipiec","Sierpień","Wrzesień","Październik","Listopad","Grudzień"],monthNamesShort:["Sty","Lu","Mar","Kw","Maj","Cze","Lip","Sie","Wrz","Pa","Lis","Gru"],dayNames:["Niedziela","Poniedziałek","Wtorek","Środa","Czwartek","Piątek","Sobota"],dayNamesShort:["Nie","Pn","Wt","Śr","Czw","Pt","So"],dayNamesMin:["N","Pn","Wt","Śr","Cz","Pt","So"],weekHeader:"Tydz",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.pl)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-pt-BR.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional["pt-BR"]={closeText:"Fechar",prevText:"<Anterior",nextText:"Próximo>",currentText:"Hoje",monthNames:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthNamesShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],dayNames:["Domingo","Segunda-feira","Terça-feira","Quarta-feira","Quinta-feira","Sexta-feira","Sábado"],dayNamesShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],dayNamesMin:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional["pt-BR"])}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-pt.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.pt={closeText:"Fechar",prevText:"<Anterior",nextText:"Seguinte",currentText:"Hoje",monthNames:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthNamesShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],dayNames:["Domingo","Segunda-feira","Terça-feira","Quarta-feira","Quinta-feira","Sexta-feira","Sábado"],dayNamesShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],dayNamesMin:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],weekHeader:"Sem",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.pt)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-rm.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.rm={closeText:"Serrar",prevText:"<Suandant",nextText:"Precedent>",currentText:"Actual",monthNames:["Schaner","Favrer","Mars","Avrigl","Matg","Zercladur","Fanadur","Avust","Settember","October","November","December"],monthNamesShort:["Scha","Fev","Mar","Avr","Matg","Zer","Fan","Avu","Sett","Oct","Nov","Dec"],dayNames:["Dumengia","Glindesdi","Mardi","Mesemna","Gievgia","Venderdi","Sonda"],dayNamesShort:["Dum","Gli","Mar","Mes","Gie","Ven","Som"],dayNamesMin:["Du","Gl","Ma","Me","Gi","Ve","So"],weekHeader:"emna",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.rm)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-ro.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.ro={closeText:"Închide",prevText:"« Luna precedentă",nextText:"Luna următoare »",currentText:"Azi",monthNames:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie"],monthNamesShort:["Ian","Feb","Mar","Apr","Mai","Iun","Iul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Duminică","Luni","Marţi","Miercuri","Joi","Vineri","Sâmbătă"],dayNamesShort:["Dum","Lun","Mar","Mie","Joi","Vin","Sâm"],dayNamesMin:["Du","Lu","Ma","Mi","Jo","Vi","Sâ"],weekHeader:"Săpt",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.ro)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-ru.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.ru={closeText:"Закрыть",prevText:"<Пред",nextText:"След>",currentText:"Сегодня",monthNames:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthNamesShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],dayNames:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],dayNamesShort:["вск","пнд","втр","срд","чтв","птн","сбт"],dayNamesMin:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],weekHeader:"Нед",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.ru)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-sk.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.sk={closeText:"Zavrieť",prevText:"<Predchádzajúci",nextText:"Nasledujúci>",currentText:"Dnes",monthNames:["január","február","marec","apríl","máj","jún","júl","august","september","október","november","december"],monthNamesShort:["Jan","Feb","Mar","Apr","Máj","Jún","Júl","Aug","Sep","Okt","Nov","Dec"],dayNames:["nedeľa","pondelok","utorok","streda","štvrtok","piatok","sobota"],dayNamesShort:["Ned","Pon","Uto","Str","Štv","Pia","Sob"],dayNamesMin:["Ne","Po","Ut","St","Št","Pia","So"],weekHeader:"Ty",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.sk)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-sl.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.sl={closeText:"Zapri",prevText:"<Prejšnji",nextText:"Naslednji>",currentText:"Trenutni",monthNames:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],dayNames:["Nedelja","Ponedeljek","Torek","Sreda","Četrtek","Petek","Sobota"],dayNamesShort:["Ned","Pon","Tor","Sre","Čet","Pet","Sob"],dayNamesMin:["Ne","Po","To","Sr","Če","Pe","So"],weekHeader:"Teden",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.sl)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-sq.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.sq={closeText:"mbylle",prevText:"<mbrapa",nextText:"Përpara>",currentText:"sot",monthNames:["Janar","Shkurt","Mars","Prill","Maj","Qershor","Korrik","Gusht","Shtator","Tetor","Nëntor","Dhjetor"],monthNamesShort:["Jan","Shk","Mar","Pri","Maj","Qer","Kor","Gus","Sht","Tet","Nën","Dhj"],dayNames:["E Diel","E Hënë","E Martë","E Mërkurë","E Enjte","E Premte","E Shtune"],dayNamesShort:["Di","Hë","Ma","Më","En","Pr","Sh"],dayNamesMin:["Di","Hë","Ma","Më","En","Pr","Sh"],weekHeader:"Ja",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.sq)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-sr-SR.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional["sr-SR"]={closeText:"Zatvori",prevText:"<",nextText:">",currentText:"Danas",monthNames:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],dayNames:["Nedelja","Ponedeljak","Utorak","Sreda","Četvrtak","Petak","Subota"],dayNamesShort:["Ned","Pon","Uto","Sre","Čet","Pet","Sub"],dayNamesMin:["Ne","Po","Ut","Sr","Če","Pe","Su"],weekHeader:"Sed",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional["sr-SR"])}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-sr.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.sr={closeText:"Затвори",prevText:"<",nextText:">",currentText:"Данас",monthNames:["Јануар","Фебруар","Март","Април","Мај","Јун","Јул","Август","Септембар","Октобар","Новембар","Децембар"],monthNamesShort:["Јан","Феб","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Нов","Дец"],dayNames:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"],dayNamesShort:["Нед","Пон","Уто","Сре","Чет","Пет","Суб"],dayNamesMin:["Не","По","Ут","Ср","Че","Пе","Су"],weekHeader:"Сед",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.sr)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-sv.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.sv={closeText:"Stäng",prevText:"«Förra",nextText:"Nästa»",currentText:"Idag",monthNames:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],dayNamesShort:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"],dayNames:["Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"],dayNamesMin:["Sö","Må","Ti","On","To","Fr","Lö"],weekHeader:"Ve",dateFormat:"yy-mm-dd",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.sv)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-ta.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.ta={closeText:"மூடு",prevText:"முன்னையது",nextText:"அடுத்தது",currentText:"இன்று",monthNames:["தை","மாசி","பங்குனி","சித்திரை","வைகாசி","ஆனி","ஆடி","ஆவணி","புரட்டாசி","ஐப்பசி","கார்த்திகை","மார்கழி"],monthNamesShort:["தை","மாசி","பங்","சித்","வைகா","ஆனி","ஆடி","ஆவ","புர","ஐப்","கார்","மார்"],dayNames:["ஞாயிற்றுக்கிழமை","திங்கட்கிழமை","செவ்வாய்க்கிழமை","புதன்கிழமை","வியாழக்கிழமை","வெள்ளிக்கிழமை","சனிக்கிழமை"],dayNamesShort:["ஞாயிறு","திங்கள்","செவ்வாய்","புதன்","வியாழன்","வெள்ளி","சனி"],dayNamesMin:["ஞா","தி","செ","பு","வி","வெ","ச"],weekHeader:"Не",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.ta)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-th.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.th={closeText:"ปิด",prevText:"« ย้อน",nextText:"ถัดไป »",currentText:"วันนี้",monthNames:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],monthNamesShort:["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค."],dayNames:["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัสบดี","ศุกร์","เสาร์"],dayNamesShort:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."],dayNamesMin:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.th)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-tj.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.tj={closeText:"Идома",prevText:"<Қафо",nextText:"Пеш>",currentText:"Имрӯз",monthNames:["Январ","Феврал","Март","Апрел","Май","Июн","Июл","Август","Сентябр","Октябр","Ноябр","Декабр"],monthNamesShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],dayNames:["якшанбе","душанбе","сешанбе","чоршанбе","панҷшанбе","ҷумъа","шанбе"],dayNamesShort:["якш","душ","сеш","чор","пан","ҷум","шан"],dayNamesMin:["Як","Дш","Сш","Чш","Пш","Ҷм","Шн"],weekHeader:"Хф",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.tj)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-tr.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.tr={closeText:"kapat",prevText:"<geri",nextText:"ileri>",currentText:"bugün",monthNames:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],monthNamesShort:["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara"],dayNames:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"],dayNamesShort:["Pz","Pt","Sa","Ça","Pe","Cu","Ct"],dayNamesMin:["Pz","Pt","Sa","Ça","Pe","Cu","Ct"],weekHeader:"Hf",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.tr)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-uk.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.uk={closeText:"Закрити",prevText:"<",nextText:">",currentText:"Сьогодні",monthNames:["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"],monthNamesShort:["Січ","Лют","Бер","Кві","Тра","Чер","Лип","Сер","Вер","Жов","Лис","Гру"],dayNames:["неділя","понеділок","вівторок","середа","четвер","п’ятниця","субота"],dayNamesShort:["нед","пнд","вів","срд","чтв","птн","сбт"],dayNamesMin:["Нд","Пн","Вт","Ср","Чт","Пт","Сб"],weekHeader:"Тиж",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.uk)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-vi.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional.vi={closeText:"Đóng",prevText:"<Trước",nextText:"Tiếp>",currentText:"Hôm nay",monthNames:["Tháng Một","Tháng Hai","Tháng Ba","Tháng Tư","Tháng Năm","Tháng Sáu","Tháng Bảy","Tháng Tám","Tháng Chín","Tháng Mười","Tháng Mười Một","Tháng Mười Hai"],monthNamesShort:["Tháng 1","Tháng 2","Tháng 3","Tháng 4","Tháng 5","Tháng 6","Tháng 7","Tháng 8","Tháng 9","Tháng 10","Tháng 11","Tháng 12"],dayNames:["Chủ Nhật","Thứ Hai","Thứ Ba","Thứ Tư","Thứ Năm","Thứ Sáu","Thứ Bảy"],dayNamesShort:["CN","T2","T3","T4","T5","T6","T7"],dayNamesMin:["CN","T2","T3","T4","T5","T6","T7"],weekHeader:"Tu",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.vi)}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-zh-CN.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional["zh-CN"]={closeText:"关闭",prevText:"<上月",nextText:"下月>",currentText:"今天",monthNames:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthNamesShort:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayNames:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],dayNamesShort:["周日","周一","周二","周三","周四","周五","周六"],dayNamesMin:["日","一","二","三","四","五","六"],weekHeader:"周",dateFormat:"yy-mm-dd",firstDay:1,isRTL:!1,showMonthAfterYear:!0,yearSuffix:"年"},e.datepicker.setDefaults(e.datepicker.regional["zh-CN"])}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-zh-HK.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional["zh-HK"]={closeText:"關閉",prevText:"<上月",nextText:"下月>",currentText:"今天",monthNames:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthNamesShort:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayNames:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],dayNamesShort:["周日","周一","周二","周三","周四","周五","周六"],dayNamesMin:["日","一","二","三","四","五","六"],weekHeader:"周",dateFormat:"dd-mm-yy",firstDay:0,isRTL:!1,showMonthAfterYear:!0,yearSuffix:"年"},e.datepicker.setDefaults(e.datepicker.regional["zh-HK"])}); -------------------------------------------------------------------------------- /appserver/static/jquery-ui/i18n/jquery.ui.datepicker-zh-TW.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.2 - 2013-03-22 2 | * http://jqueryui.com 3 | * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ 4 | jQuery(function(e){e.datepicker.regional["zh-TW"]={closeText:"關閉",prevText:"<上月",nextText:"下月>",currentText:"今天",monthNames:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthNamesShort:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayNames:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],dayNamesShort:["周日","周一","周二","周三","周四","周五","周六"],dayNamesMin:["日","一","二","三","四","五","六"],weekHeader:"周",dateFormat:"yy/mm/dd",firstDay:1,isRTL:!1,showMonthAfterYear:!0,yearSuffix:"年"},e.datepicker.setDefaults(e.datepicker.regional["zh-TW"])}); -------------------------------------------------------------------------------- /appserver/static/js/contrib/kvstore.js: -------------------------------------------------------------------------------- 1 | define(["require","jquery","underscore","backbone","splunkjs/mvc/utils","util/splunkd_utils"],function(b,d,a){var e=b("jquery");var h=b("underscore");var g=b("backbone");var c=b("splunkjs/mvc/utils");var k=b("util/splunkd_utils");var j="nobody";d={};function i(){return{owner:j,app:c.getCurrentApp()}}function f(l,m){m=m||{};return k.fullpath("storage/collections/data/"+encodeURI(l),{owner:m.owner||j,app:m.app||c.getCurrentApp()})}d.Model=g.Model.extend({defaults:{_user:"nobody"},idAttribute:"_key",collectionName:null,namespace:i,initialize:function(l,m){if(m){if(m.isNew){this._isNew=true}var n=m.namespace;if(m.collection&&m.collection.namespace){n=h.extend(n||{},m.collection.namespace)}if(!h.isUndefined(n)){this.namespace=h.clone(n);if(!h.isUndefined(this.namespace.owner)){this.set("_user",this.namespace.owner)}}}return g.Model.prototype.initialize.apply(this,arguments)},isNew:function(l){if(!h.isUndefined(l)){if(l){this._isNew=true}else{delete this._isNew}}if(this._isNew){return true}else{return g.Model.prototype.isNew.apply(this,arguments)}},urlRoot:function(){return f(this.collectionName,h.result(this,"namespace"))},save:function(o,p,n){if(this.id===""){return e.Deferred().reject(null,null,new Error("Model with empty string as a _key cannot be saved"))}var m;if(o==null||typeof o==="object"){m=o;n=p}else{(m={})[o]=p}if(!this.isNew()&&!this._isNew){n=h.extend({type:"POST"},n)}if(this._isNew){this._isNew=true;n=h.clone(n)||{};var l=this;var q=n.success;n.success=function(){l.isNew(false);if(q){q.apply(this,arguments)}}}return g.Model.prototype.save.call(this,m,n)},destroy:function(l){if(this.id===""){return e.Deferred().reject(null,null,new Error("Model with empty string as a _key cannot be destroyed"))}var m;if(!l||!l.dataType){m={dataType:"text"};if(l){m=h.extend(m,l)}}else{m=l}return g.Model.prototype.destroy.call(this,m)},fetch:function(){if(this.id===""){return e.Deferred().reject(null,null,new Error("Model with empty string as a _key cannot be fetched"))}return g.Model.prototype.fetch.apply(this,arguments)}});d.Collection=g.Collection.extend({collectionName:null,namespace:i,initialize:function(m,l){if(l){if(!h.isUndefined(l.namespace)){this.namespace=h.clone(l.namespace)}}return g.Collection.prototype.initialize.apply(this,arguments)},url:function(){return f(this.collectionName,h.result(this,"namespace"))}});return d}); -------------------------------------------------------------------------------- /appserver/static/js/lib/DataTables/css/dataTables.bootstrap.css: -------------------------------------------------------------------------------- 1 | div.dataTables_length label{float:left;text-align:left}div.dataTables_length select{width:75px}div.dataTables_filter label{float:right}div.dataTables_info{padding-top:8px}div.dataTables_paginate{float:right;margin:0}table.table{clear:both;margin-bottom:6px !important;max-width:none !important}table.table thead .sorting,table.table thead .sorting_asc,table.table thead .sorting_desc,table.table thead .sorting_asc_disabled,table.table thead .sorting_desc_disabled{cursor:pointer;*cursor:hand}table.table thead .sorting{background:url('../images/sort_both.png') no-repeat center right}table.table thead .sorting_asc{background:url('../images/sort_asc.png') no-repeat center right}table.table thead .sorting_desc{background:url('../images/sort_desc.png') no-repeat center right}table.table thead .sorting_asc_disabled{background:url('../images/sort_asc_disabled.png') no-repeat center right}table.table thead .sorting_desc_disabled{background:url('../images/sort_desc_disabled.png') no-repeat center right}table.dataTable th:active{outline:0}div.dataTables_scrollHead table{margin-bottom:0 !important;border-bottom-left-radius:0;border-bottom-right-radius:0}div.dataTables_scrollHead table thead tr:last-child th:first-child,div.dataTables_scrollHead table thead tr:last-child td:first-child{border-bottom-left-radius:0 !important;border-bottom-right-radius:0 !important}div.dataTables_scrollBody table{border-top:0;margin-top:0 !important;margin-bottom:0 !important}div.dataTables_scrollBody tbody tr:first-child th,div.dataTables_scrollBody tbody tr:first-child td{border-top:0}div.dataTables_scrollFoot table{margin-top:0 !important;border-top:0}.table tbody tr.active td,.table tbody tr.active th{background-color:#08C;color:white}.table tbody tr.active:hover td,.table tbody tr.active:hover th{background-color:#0075b0 !important}.table tbody tr.active a{color:white}.table-striped tbody tr.active:nth-child(odd) td,.table-striped tbody tr.active:nth-child(odd) th{background-color:#017ebc}table.DTTT_selectable tbody tr{cursor:pointer;*cursor:hand}div.DTTT .btn{color:#333 !important;font-size:12px}div.DTTT .btn:hover{text-decoration:none !important}ul.DTTT_dropdown.dropdown-menu{z-index:2003}ul.DTTT_dropdown.dropdown-menu a{color:#333 !important}ul.DTTT_dropdown.dropdown-menu li{position:relative}ul.DTTT_dropdown.dropdown-menu li:hover a{background-color:#08c;color:white !important}div.DTTT_collection_background{z-index:2002}div.DTTT_print_info.modal{height:150px;margin-top:-75px;text-align:center}div.DTTT_print_info h6{font-weight:normal;font-size:28px;line-height:28px;margin:1em}div.DTTT_print_info p{font-size:14px;line-height:20px}div.DTFC_LeftHeadWrapper table,div.DTFC_LeftFootWrapper table,div.DTFC_RightHeadWrapper table,div.DTFC_RightFootWrapper table,table.DTFC_Cloned tr.even{background-color:white;margin-bottom:0}div.DTFC_RightHeadWrapper table,div.DTFC_LeftHeadWrapper table{margin-bottom:0 !important;border-top-right-radius:0 !important;border-bottom-left-radius:0 !important;border-bottom-right-radius:0 !important}div.DTFC_RightHeadWrapper table thead tr:last-child th:first-child,div.DTFC_RightHeadWrapper table thead tr:last-child td:first-child,div.DTFC_LeftHeadWrapper table thead tr:last-child th:first-child,div.DTFC_LeftHeadWrapper table thead tr:last-child td:first-child{border-bottom-left-radius:0 !important;border-bottom-right-radius:0 !important}div.DTFC_RightBodyWrapper table,div.DTFC_LeftBodyWrapper table{border-top:0;margin-bottom:0 !important}div.DTFC_RightBodyWrapper tbody tr:first-child th,div.DTFC_RightBodyWrapper tbody tr:first-child td,div.DTFC_LeftBodyWrapper tbody tr:first-child th,div.DTFC_LeftBodyWrapper tbody tr:first-child td{border-top:0}div.DTFC_RightFootWrapper table,div.DTFC_LeftFootWrapper table{border-top:0} -------------------------------------------------------------------------------- /appserver/static/js/lib/DataTables/images/Sorting icons.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/js/lib/DataTables/images/Sorting icons.psd -------------------------------------------------------------------------------- /appserver/static/js/lib/DataTables/images/back_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/js/lib/DataTables/images/back_disabled.png -------------------------------------------------------------------------------- /appserver/static/js/lib/DataTables/images/back_enabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/js/lib/DataTables/images/back_enabled.png -------------------------------------------------------------------------------- /appserver/static/js/lib/DataTables/images/back_enabled_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/js/lib/DataTables/images/back_enabled_hover.png -------------------------------------------------------------------------------- /appserver/static/js/lib/DataTables/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/js/lib/DataTables/images/favicon.ico -------------------------------------------------------------------------------- /appserver/static/js/lib/DataTables/images/forward_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/js/lib/DataTables/images/forward_disabled.png -------------------------------------------------------------------------------- /appserver/static/js/lib/DataTables/images/forward_enabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/js/lib/DataTables/images/forward_enabled.png -------------------------------------------------------------------------------- /appserver/static/js/lib/DataTables/images/forward_enabled_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/js/lib/DataTables/images/forward_enabled_hover.png -------------------------------------------------------------------------------- /appserver/static/js/lib/DataTables/images/sort_asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/js/lib/DataTables/images/sort_asc.png -------------------------------------------------------------------------------- /appserver/static/js/lib/DataTables/images/sort_asc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/js/lib/DataTables/images/sort_asc_disabled.png -------------------------------------------------------------------------------- /appserver/static/js/lib/DataTables/images/sort_both.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/js/lib/DataTables/images/sort_both.png -------------------------------------------------------------------------------- /appserver/static/js/lib/DataTables/images/sort_desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/js/lib/DataTables/images/sort_desc.png -------------------------------------------------------------------------------- /appserver/static/js/lib/DataTables/images/sort_desc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/js/lib/DataTables/images/sort_desc_disabled.png -------------------------------------------------------------------------------- /appserver/static/js/lib/DataTables/js/dataTables.bootstrap.js: -------------------------------------------------------------------------------- 1 | $.extend(true,$.fn.dataTable.defaults,{sDom:"<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>",sPaginationType:"bootstrap",oLanguage:{sLengthMenu:"_MENU_ records per page"}});$.extend($.fn.dataTableExt.oStdClasses,{sWrapper:"dataTables_wrapper form-inline"});$.fn.dataTableExt.oApi.fnPagingInfo=function(a){return{iStart:a._iDisplayStart,iEnd:a.fnDisplayEnd(),iLength:a._iDisplayLength,iTotal:a.fnRecordsTotal(),iFilteredTotal:a.fnRecordsDisplay(),iPage:a._iDisplayLength===-1?0:Math.ceil(a._iDisplayStart/a._iDisplayLength),iTotalPages:a._iDisplayLength===-1?0:Math.ceil(a.fnRecordsDisplay()/a._iDisplayLength)}};$.extend($.fn.dataTableExt.oPagination,{bootstrap:{fnInit:function(e,b,d){var a=e.oLanguage.oPaginate;var f=function(g){g.preventDefault();if(e.oApi._fnPageChange(e,g.data.action)){d(e)}};$(b).addClass("pagination").append('");var c=$("a",b);$(c[0]).bind("click.DT",{action:"previous"},f);$(c[1]).bind("click.DT",{action:"next"},f)},fnUpdate:function(c,k){var l=5;var e=c.oInstance.fnPagingInfo();var h=c.aanFeatures.p;var g,m,f,d,a,n,b=Math.floor(l/2);if(e.iTotalPages=(e.iTotalPages-b)){a=e.iTotalPages-l+1;n=e.iTotalPages}else{a=e.iPage-b+1;n=a+l-1}}}for(g=0,m=h.length;g'+f+"").insertBefore($("li:last",h[g])[0]).bind("click",function(i){i.preventDefault();c._iDisplayStart=(parseInt($("a",this).text(),10)-1)*e.iLength;k(c)})}if(e.iPage===0){$("li:first",h[g]).addClass("disabled")}else{$("li:first",h[g]).removeClass("disabled")}if(e.iPage===e.iTotalPages-1||e.iTotalPages===0){$("li:last",h[g]).addClass("disabled")}else{$("li:last",h[g]).removeClass("disabled")}}}}});if($.fn.DataTable.TableTools){$.extend(true,$.fn.DataTable.TableTools.classes,{container:"DTTT btn-group",buttons:{normal:"btn",disabled:"disabled"},collection:{container:"DTTT_dropdown dropdown-menu",buttons:{normal:"",disabled:"disabled"}},print:{info:"DTTT_print_info modal"},select:{row:"active"}});$.extend(true,$.fn.DataTable.TableTools.DEFAULTS.oTags,{collection:{container:"ul",button:"li",liner:"a"}})}; -------------------------------------------------------------------------------- /appserver/static/js/lib/console.js: -------------------------------------------------------------------------------- 1 | (function(){var e;var d=function(){};var b=["assert","clear","count","debug","dir","dirxml","error","exception","group","groupCollapsed","groupEnd","info","log","markTimeline","profile","profileEnd","table","time","timeEnd","timeStamp","trace","warn"];var c=b.length;var a=(window.console=window.console||{});while(c--){e=b[c];if(!a[e]){a[e]=d}}}()); -------------------------------------------------------------------------------- /appserver/static/js/templates/KVStoreFieldEditor.html: -------------------------------------------------------------------------------- 1 |
2 |

Key-value collection schema

3 |
4 |
5 | Add another field 6 |
-------------------------------------------------------------------------------- /appserver/static/js/templates/KVStoreFieldView.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 10 | 11 | Remove 12 | 13 | 14 |
-------------------------------------------------------------------------------- /appserver/static/js/views/KVStoreFieldEditor.js: -------------------------------------------------------------------------------- 1 | require.config({paths:{text:"../app/lookup_editor/js/lib/text",console:"../app/lookup_editor/js/lib/console",kv_store_field_view:"../app/lookup_editor/js/views/KVStoreFieldView"}});define(["underscore","backbone","splunkjs/mvc","util/splunkd_utils","jquery","splunkjs/mvc/simplesplunkview","kv_store_field_view","text!../app/lookup_editor/js/templates/KVStoreFieldEditor.html","css!../app/lookup_editor/css/KVStoreFieldEditor.css"],function(i,h,a,b,c,f,e,d){var g=f.extend({className:"KVStoreFieldEditor",defaults:{default_field_count:5},events:{"click .add-additional-field":"doAddField"},initialize:function(){this.options=i.extend({},this.defaults,this.options);this.field_views=[];this.field_counter=0;this.default_field_count=this.options.default_field_count;this.listenTo(h,"kv_field:remove",this.removeField.bind(this))},validate:function(){var j=false;for(var n=0;n-1){this.field_views[n].showErrorMessage("The name cannot contain a $");q=true}}if(q){return"Field names cannot contain $ characters"}return true},removeField:function(j){this.field_views=i.without(this.field_views,i.findWhere(this.field_views,{unique_identifier:j}))},doAddField:function(){this.addFieldView("","string")},addFieldView:function(l,m){var k="kv_store_field_"+this.field_counter;c('
').appendTo("#kv-store-fields");var j=new e({el:c("#"+k,this.$el),unique_identifier:k});this.field_views.push(j);j.render();this.field_counter++},modifyKVStoreLookupSchema:function(k,l,j,o){if(typeof j=="undefined"){j="nobody"}if(typeof o=="undefined"){o=null}var m={};for(var n=0;n0},getFieldName:function(){return c("#kv-store-field-name",this.$el).val()},getFieldType:function(){return c("#kv-store-field-type",this.$el).val()},showErrorMessage:function(j){c(".kv-store-field",this.$el).addClass("error");c(".help-inline",this.$el).text(j)},hideErrorMessage:function(){c(".kv-store-field",this.$el).removeClass("error");c(".help-inline",this.$el).text("")},render:function(){this.$el.html(i.template(e,{show_remove:this.show_remove,field_type:this.field_type,field_name:this.field_name}))},doRemoveField:function(){h.trigger("kv_field:remove",this.unique_identifier);this.$el.remove()}});return f}); -------------------------------------------------------------------------------- /appserver/static/lookup_edit.css: -------------------------------------------------------------------------------- 1 | #row1>#panel1>.dashboard-panel{background-color:transparent}.dashboard-body{padding:0}.panel-body.html{padding:0 !important}td:first-child{width:16px}.dashboard-header,#list_link,.bottom_controls{margin-left:16px;margin-right:16px} -------------------------------------------------------------------------------- /appserver/static/lookup_edit.js: -------------------------------------------------------------------------------- 1 | ≤require.config({paths:{lookup_edit:"../app/SA-ctf_scoreboard_admin/js/views/LookupEditView"}});require(["jquery","underscore","backbone","lookup_edit","splunkjs/mvc/simplexml/ready!"],function(d,c,e,b){var a=new b({el:d("#lookups_editor")});a.render()}); -------------------------------------------------------------------------------- /appserver/static/lookup_list.css: -------------------------------------------------------------------------------- 1 | #row1>#panel1>.dashboard-panel{background-color:transparent}.dashboard-body{padding:0}.panel-body.html{padding:0 !important}.dataTable td:nth-of-type(1){font-size:14px}.dataTable td:first-child{width:16px}.dashboard-header,#list_link,.bottom_controls{margin-left:16px;margin-right:16px}.btn-primary.pull-right{margin-right:16px}.create-new-lookup-dropdown{width:220px;margin-left:-143px;margin-top:2px} -------------------------------------------------------------------------------- /appserver/static/lookup_list.js: -------------------------------------------------------------------------------- 1 | require.config({paths:{lookup_list:"../app/lookup_editor/js/views/LookupListView"}});require(["jquery","underscore","backbone","lookup_list","splunkjs/mvc/simplexml/ready!"],function(d,b,e,c){var a=new c({el:d("#lookups_list")});a.render()}); -------------------------------------------------------------------------------- /appserver/static/lookup_new.css: -------------------------------------------------------------------------------- 1 | .lookup-description{position:relative;margin:10px 0 0 0;padding:10px 19px 14px;background-color:#fff;border:1px solid #ddd;border-radius:8px 8px 0 0;border-bottom:0 solid black}.lookup-description>p{margin-bottom:16px;width:100%}.lookup-link{padding:8px;background-color:#fcfcfc;border:1px solid #e1e1e8;border-radius:0 0 8px 8px;margin:0 0 30px 0}#element1{background-color:#eee}.lookup-link>a{margin-left:8px}#warning-message{margin-bottom:0}.panel-body.html{background-color:#eee} -------------------------------------------------------------------------------- /appserver/static/lookup_new.js: -------------------------------------------------------------------------------- 1 | require(["underscore","backbone","collections/SplunkDsBase","splunkjs/mvc","jquery"],function(a,f,b,e,d){var c=b.extend({url:"/servicesNS/nobody/lookup_editor/storage/collections/config?count=-1",initialize:function(){b.prototype.initialize.apply(this,arguments)}});kv_lookups=new c();kv_lookups.fetch({complete:function(g,h){if(g.status==404){d(".show-kv-supported-only").hide();d(".show-kv-unsupported-only").show()}}.bind(this)})}); -------------------------------------------------------------------------------- /appserver/static/questionaccess.css: -------------------------------------------------------------------------------- 1 | .togglebutton{ 2 | color: white; 3 | background-color: green; 4 | } -------------------------------------------------------------------------------- /appserver/static/questionaccess.js: -------------------------------------------------------------------------------- 1 | require([ 2 | 'underscore', 3 | 'jquery', 4 | 'splunkjs/mvc', 5 | 'splunkjs/mvc/searchmanager', 6 | 'splunkjs/mvc/simplexml/ready!', 7 | 'splunkjs/ready!' 8 | ], function(_, $, mvc, SearchManager) { 9 | 10 | var toggleAccessSM = new SearchManager({ 11 | id: "toggleAccessSM", 12 | app: "SA-ctf_scoreboard_admin", 13 | cache: false, 14 | autostart: false, 15 | search: "| toggleqaccess" 16 | }); 17 | 18 | mvc.Components.get('submitted').set('somethingchanged', Date.now().toString()); 19 | console.log (mvc.Components.get('submitted').get('somethingchanged')); 20 | 21 | document.getElementById('togglebutton').onclick = function(){ 22 | toggleAccessSM.startSearch(); 23 | toggleAccessSM.on('search:done', function(properties) { 24 | mvc.Components.get('submitted').set('somethingchanged', Date.now().toString()); 25 | }); 26 | } 27 | }); -------------------------------------------------------------------------------- /appserver/static/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splunk/SA-ctf_scoreboard_admin/7a694a52faed46160dd4e0cebf76dece149f066e/appserver/static/screenshot.png -------------------------------------------------------------------------------- /appserver/static/time_setup.css: -------------------------------------------------------------------------------- 1 | .start_time_div{ 2 | } 3 | .end_time_div{ 4 | } 5 | .start_time_summary{ 6 | } 7 | .end_time_summary{ 8 | } 9 | .ui-datepicker-title{ 10 | background: #000000; 11 | } 12 | .ui_tpicker_tzone dd,select{ 13 | width:100px; 14 | } 15 | .current_label{ 16 | font-weight: bold; 17 | font-size: 35px; 18 | width: 100%; 19 | text-align: center; 20 | padding: 5px; 21 | } 22 | .column { 23 | float: left; 24 | padding-left:15px; 25 | } 26 | .column0 { 27 | width: 15%; 28 | } 29 | .column1 { 30 | width: 17.5%; 31 | } 32 | .column2 { 33 | width: 30%; 34 | } 35 | .column3 { 36 | width: 15%; 37 | } 38 | /* Clear floats after the columns */ 39 | .row:after { 40 | content: ""; 41 | display: table; 42 | clear: both; 43 | } 44 | .step_number{ 45 | float:left; 46 | font-weight:bold; 47 | font-size: 20px; 48 | color: green; 49 | } 50 | .step_title{ 51 | font-weight:bold; 52 | font-size: 15px; 53 | padding-left: 5px; 54 | padding-bottom: 25px; 55 | } 56 | .submit_button{ 57 | background:green; 58 | color: white; 59 | } -------------------------------------------------------------------------------- /appserver/static/time_setup.js: -------------------------------------------------------------------------------- 1 | require([ 2 | 'underscore', 3 | 'jquery', 4 | 'splunkjs/mvc', 5 | 'splunkjs/mvc/searchmanager', 6 | 'splunkjs/mvc/simplexml/ready!', 7 | 'splunkjs/ready!' 8 | ], function(_, $, mvc, SearchManager) { 9 | $('#start_time_picker').datetimepicker({ 10 | dateFormat: "yy-mm-dd", 11 | timeFormat: "HH:mm z", 12 | controlType: "select", 13 | onClose: function() { 14 | var myDate = $('#start_time_picker').datetimepicker("getDate") 15 | var myEpoch = myDate.getTime() / 1000 16 | var myHtml = myEpoch 17 | mvc.Components.get('submitted').set('StartTimeToken', myEpoch); 18 | } 19 | }); 20 | 21 | $('#end_time_picker').datetimepicker({ 22 | dateFormat: "yy-mm-dd", 23 | timeFormat: "HH:mm z", 24 | controlType: "select", 25 | onClose: function() { 26 | var myDate = $('#end_time_picker').datetimepicker("getDate") 27 | var myEpoch = myDate.getTime() / 1000 28 | var myHtml = myEpoch 29 | mvc.Components.get('submitted').set('EndTimeToken', myEpoch); 30 | } 31 | }); 32 | 33 | var updateTimesSM = new SearchManager({ 34 | id: "updateTimesSM", 35 | app: "SA-ctf_scoreboard_admin", 36 | cache: false, 37 | autostart: false, 38 | search: "| inputlookup ctf_questions" 39 | }); 40 | mvc.Components.get('submitted').set('somethingchanged', Date.now().toString()); 41 | 42 | 43 | document.getElementById('submit_button').onclick = function(){ 44 | 45 | document.getElementById("update_results").innerHTML="Starting search...!"; 46 | //updateTimesSM.finalize(); 47 | var searchString = '| inputlookup ctf_questions | eval StartTime=' 48 | + mvc.Components.get('submitted').get('StartTimeToken') 49 | + '| eval EndTime=' 50 | + mvc.Components.get('submitted').get('EndTimeToken') 51 | + '| outputlookup ctf_questions'; 52 | updateTimesSM.settings.set("search", searchString); 53 | updateTimesSM.startSearch(); 54 | 55 | updateTimesSM.on('search:failed', function(properties) { 56 | // Print the entire properties object 57 | document.getElementById("update_results").innerHTML="Failed!"; 58 | }); 59 | 60 | updateTimesSM.on('search:progress', function(properties) { 61 | // Print just the event count from the search job 62 | document.getElementById("update_results").innerHTML="In progress with " + properties.content.eventCount + " events..."; 63 | }); 64 | 65 | updateTimesSM.on('search:done', function(properties) { 66 | // Print the search job properties 67 | document.getElementById("update_results").innerHTML="Done! Verify results below."; 68 | mvc.Components.get('submitted').set('somethingchanged', Date.now().toString()); 69 | }); 70 | } 71 | }); -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-af.js: -------------------------------------------------------------------------------- 1 | /* Afrikaans translation for the jQuery Timepicker Addon */ 2 | /* Written by Deon Heyns */ 3 | (function($) { 4 | $.timepicker.regional['af'] = { 5 | timeOnlyTitle: 'Kies Tyd', 6 | timeText: 'Tyd ', 7 | hourText: 'Ure ', 8 | minuteText: 'Minute', 9 | secondText: 'Sekondes', 10 | millisecText: 'Millisekondes', 11 | microsecText: 'Mikrosekondes', 12 | timezoneText: 'Tydsone', 13 | currentText: 'Huidige Tyd', 14 | closeText: 'Klaar', 15 | timeFormat: 'HH:mm', 16 | amNames: ['AM', 'A'], 17 | pmNames: ['PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['af']); 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-bg.js: -------------------------------------------------------------------------------- 1 | /* Bulgarian translation for the jQuery Timepicker Addon */ 2 | /* Written by Plamen Kovandjiev */ 3 | (function($) { 4 | $.timepicker.regional['bg'] = { 5 | timeOnlyTitle: 'Изберете време', 6 | timeText: 'Време', 7 | hourText: 'Час', 8 | minuteText: 'Минути', 9 | secondText: 'Секунди', 10 | millisecText: 'Милисекунди', 11 | microsecText: 'Микросекунди', 12 | timezoneText: 'Часови пояс', 13 | currentText: 'Сега', 14 | closeText: 'Затвори', 15 | timeFormat: 'HH:mm', 16 | amNames: ['AM', 'A'], 17 | pmNames: ['PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['bg']); 21 | })(jQuery); -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-ca.js: -------------------------------------------------------------------------------- 1 | /* Catalan translation for the jQuery Timepicker Addon */ 2 | /* Written by Sergi Faber */ 3 | (function($) { 4 | $.timepicker.regional['ca'] = { 5 | timeOnlyTitle: 'Escollir una hora', 6 | timeText: 'Hora', 7 | hourText: 'Hores', 8 | minuteText: 'Minuts', 9 | secondText: 'Segons', 10 | millisecText: 'Milisegons', 11 | microsecText: 'Microsegons', 12 | timezoneText: 'Fus horari', 13 | currentText: 'Ara', 14 | closeText: 'Tancar', 15 | timeFormat: 'HH:mm', 16 | amNames: ['AM', 'A'], 17 | pmNames: ['PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['ca']); 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-cs.js: -------------------------------------------------------------------------------- 1 | /* Czech translation for the jQuery Timepicker Addon */ 2 | /* Written by Ondřej Vodáček */ 3 | (function($) { 4 | $.timepicker.regional['cs'] = { 5 | timeOnlyTitle: 'Vyberte čas', 6 | timeText: 'Čas', 7 | hourText: 'Hodiny', 8 | minuteText: 'Minuty', 9 | secondText: 'Vteřiny', 10 | millisecText: 'Milisekundy', 11 | microsecText: 'Mikrosekundy', 12 | timezoneText: 'Časové pásmo', 13 | currentText: 'Nyní', 14 | closeText: 'Zavřít', 15 | timeFormat: 'HH:mm', 16 | amNames: ['dop.', 'AM', 'A'], 17 | pmNames: ['odp.', 'PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['cs']); 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-da.js: -------------------------------------------------------------------------------- 1 | /* Danish translation for the jQuery Timepicker Addon */ 2 | /* Written by Lars H. Jensen (http://www.larshj.dk) */ 3 | (function ($) { 4 | $.timepicker.regional['da'] = { 5 | timeOnlyTitle: 'Vælg tid', 6 | timeText: 'Tid', 7 | hourText: 'Time', 8 | minuteText: 'Minut', 9 | secondText: 'Sekund', 10 | millisecText: 'Millisekund', 11 | microsecText: 'Mikrosekund', 12 | timezoneText: 'Tidszone', 13 | currentText: 'Nu', 14 | closeText: 'Luk', 15 | timeFormat: 'HH:mm', 16 | amNames: ['am', 'AM', 'A'], 17 | pmNames: ['pm', 'PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['da']); 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-de.js: -------------------------------------------------------------------------------- 1 | /* German translation for the jQuery Timepicker Addon */ 2 | /* Written by Marvin */ 3 | (function($) { 4 | $.timepicker.regional['de'] = { 5 | timeOnlyTitle: 'Zeit Wählen', 6 | timeText: 'Zeit', 7 | hourText: 'Stunde', 8 | minuteText: 'Minute', 9 | secondText: 'Sekunde', 10 | millisecText: 'Millisekunde', 11 | microsecText: 'Mikrosekunde', 12 | timezoneText: 'Zeitzone', 13 | currentText: 'Jetzt', 14 | closeText: 'Fertig', 15 | timeFormat: 'HH:mm', 16 | amNames: ['vorm.', 'AM', 'A'], 17 | pmNames: ['nachm.', 'PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['de']); 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-el.js: -------------------------------------------------------------------------------- 1 | /* Hellenic translation for the jQuery Timepicker Addon */ 2 | /* Written by Christos Pontikis */ 3 | (function($) { 4 | $.timepicker.regional['el'] = { 5 | timeOnlyTitle: 'Επιλογή ώρας', 6 | timeText: 'Ώρα', 7 | hourText: 'Ώρες', 8 | minuteText: 'Λεπτά', 9 | secondText: 'Δευτερόλεπτα', 10 | millisecText: 'μιλιδευτερόλεπτο', 11 | microsecText: 'Microseconds', 12 | timezoneText: 'Ζώνη ώρας', 13 | currentText: 'Τώρα', 14 | closeText: 'Κλείσιμο', 15 | timeFormat: 'HH:mm', 16 | amNames: ['π.μ.', 'AM', 'A'], 17 | pmNames: ['μ.μ.', 'PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['el']); 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-es.js: -------------------------------------------------------------------------------- 1 | /* Spanish translation for the jQuery Timepicker Addon */ 2 | /* Written by Ianaré Sévi */ 3 | (function($) { 4 | $.timepicker.regional['es'] = { 5 | timeOnlyTitle: 'Elegir una hora', 6 | timeText: 'Hora', 7 | hourText: 'Horas', 8 | minuteText: 'Minutos', 9 | secondText: 'Segundos', 10 | millisecText: 'Milisegundos', 11 | microsecText: 'Microsegundos', 12 | timezoneText: 'Huso horario', 13 | currentText: 'Ahora', 14 | closeText: 'Cerrar', 15 | timeFormat: 'HH:mm', 16 | amNames: ['a.m.', 'AM', 'A'], 17 | pmNames: ['p.m.', 'PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['es']); 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-et.js: -------------------------------------------------------------------------------- 1 | /* Estonian translation for the jQuery Timepicker Addon */ 2 | /* Written by Karl Sutt (karl@sutt.ee) */ 3 | (function($) { 4 | $.timepicker.regional['et'] = { 5 | timeOnlyTitle: 'Vali aeg', 6 | timeText: 'Aeg', 7 | hourText: 'Tund', 8 | minuteText: 'Minut', 9 | secondText: 'Sekund', 10 | millisecText: 'Millisekundis', 11 | microsecText: 'Mikrosekundis', 12 | timezoneText: 'Ajavöönd', 13 | currentText: 'Praegu', 14 | closeText: 'Valmis', 15 | timeFormat: 'HH:mm', 16 | amNames: ['AM', 'A'], 17 | pmNames: ['PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['et']); 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-eu.js: -------------------------------------------------------------------------------- 1 | /* Basque trannslation for JQuery Timepicker Addon 2 | /* Translated by Xabi Fer */ 3 | (function($) { 4 | $.timepicker.regional['eu'] = { 5 | timeOnlyTitle: 'Aukeratu ordua', 6 | timeText: 'Ordua', 7 | hourText: 'Orduak', 8 | minuteText: 'Minutuak', 9 | secondText: 'Segunduak', 10 | millisecText: 'Milisegunduak', 11 | microsecText: 'Mikrosegundotan', 12 | timezoneText: 'Ordu-eremua', 13 | currentText: 'Orain', 14 | closeText: 'Itxi', 15 | timeFormat: 'HH:mm', 16 | amNames: ['a.m.', 'AM', 'A'], 17 | pmNames: ['p.m.', 'PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['eu']); 21 | })(jQuery); -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-fi.js: -------------------------------------------------------------------------------- 1 | /* Finnish translation for the jQuery Timepicker Addon */ 2 | /* Written by Juga Paazmaya (http://github.com/paazmaya) */ 3 | (function($) { 4 | $.timepicker.regional['fi'] = { 5 | timeOnlyTitle: 'Valitse aika', 6 | timeText: 'Aika', 7 | hourText: 'Tunti', 8 | minuteText: 'Minuutti', 9 | secondText: 'Sekunti', 10 | millisecText: 'Millisekunnin', 11 | microsecText: 'Mikrosekuntia', 12 | timezoneText: 'Aikavyöhyke', 13 | currentText: 'Nyt', 14 | closeText: 'Sulje', 15 | timeFormat: 'HH:mm', 16 | amNames: ['ap.', 'AM', 'A'], 17 | pmNames: ['ip.', 'PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['fi']); 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-fr.js: -------------------------------------------------------------------------------- 1 | /* French translation for the jQuery Timepicker Addon */ 2 | /* Written by Thomas Lété */ 3 | (function($) { 4 | $.timepicker.regional['fr'] = { 5 | timeOnlyTitle: 'Choisir une heure', 6 | timeText: 'Heure', 7 | hourText: 'Heures', 8 | minuteText: 'Minutes', 9 | secondText: 'Secondes', 10 | millisecText: 'Millisecondes', 11 | microsecText: 'Microsecondes', 12 | timezoneText: 'Fuseau horaire', 13 | currentText: 'Maintenant', 14 | closeText: 'Terminé', 15 | timeFormat: 'HH:mm', 16 | amNames: ['AM', 'A'], 17 | pmNames: ['PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['fr']); 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-gl.js: -------------------------------------------------------------------------------- 1 | /* Galician translation for the jQuery Timepicker Addon */ 2 | /* Written by David Barral */ 3 | (function($) { 4 | $.timepicker.regional['gl'] = { 5 | timeOnlyTitle: 'Elixir unha hora', 6 | timeText: 'Hora', 7 | hourText: 'Horas', 8 | minuteText: 'Minutos', 9 | secondText: 'Segundos', 10 | millisecText: 'Milisegundos', 11 | microsecText: 'Microssegundos', 12 | timezoneText: 'Fuso horario', 13 | currentText: 'Agora', 14 | closeText: 'Pechar', 15 | timeFormat: 'HH:mm', 16 | amNames: ['a.m.', 'AM', 'A'], 17 | pmNames: ['p.m.', 'PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['gl']); 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-he.js: -------------------------------------------------------------------------------- 1 | /* Hebrew translation for the jQuery Timepicker Addon */ 2 | /* Written by Lior Lapid */ 3 | (function($) { 4 | $.timepicker.regional["he"] = { 5 | timeOnlyTitle: "בחירת זמן", 6 | timeText: "שעה", 7 | hourText: "שעות", 8 | minuteText: "דקות", 9 | secondText: "שניות", 10 | millisecText: "אלפית השנייה", 11 | microsecText: "מיקרו", 12 | timezoneText: "אזור זמן", 13 | currentText: "עכשיו", 14 | closeText:"סגור", 15 | timeFormat: "HH:mm", 16 | amNames: ['לפנה"צ', 'AM', 'A'], 17 | pmNames: ['אחה"צ', 'PM', 'P'], 18 | isRTL: true 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional["he"]); 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-hr.js: -------------------------------------------------------------------------------- 1 | /* Croatian translation for the jQuery Timepicker Addon */ 2 | /* Written by Mladen */ 3 | (function($) { 4 | $.timepicker.regional['hr'] = { 5 | timeOnlyTitle: 'Odaberi vrijeme', 6 | timeText: 'Vrijeme', 7 | hourText: 'Sati', 8 | minuteText: 'Minute', 9 | secondText: 'Sekunde', 10 | millisecText: 'Milisekunde', 11 | microsecText: 'Mikrosekunde', 12 | timezoneText: 'Vremenska zona', 13 | currentText: 'Sada', 14 | closeText: 'Gotovo', 15 | timeFormat: 'HH:mm', 16 | amNames: ['a.m.', 'AM', 'A'], 17 | pmNames: ['p.m.', 'PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['hr']); 21 | })(jQuery); -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-hu.js: -------------------------------------------------------------------------------- 1 | /* Hungarian translation for the jQuery Timepicker Addon */ 2 | /* Written by Vas Gábor */ 3 | (function($) { 4 | $.timepicker.regional['hu'] = { 5 | timeOnlyTitle: 'Válasszon időpontot', 6 | timeText: 'Idő', 7 | hourText: 'Óra', 8 | minuteText: 'Perc', 9 | secondText: 'Másodperc', 10 | millisecText: 'Milliszekundumos', 11 | microsecText: 'Ezredmásodperc', 12 | timezoneText: 'Időzóna', 13 | currentText: 'Most', 14 | closeText: 'Kész', 15 | timeFormat: 'HH:mm', 16 | amNames: ['de.', 'AM', 'A'], 17 | pmNames: ['du.', 'PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['hu']); 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-id.js: -------------------------------------------------------------------------------- 1 | /* Indonesian translation for the jQuery Timepicker Addon */ 2 | /* Written by Nia */ 3 | (function($) { 4 | $.timepicker.regional['id'] = { 5 | timeOnlyTitle: 'Pilih Waktu', 6 | timeText: 'Waktu', 7 | hourText: 'Pukul', 8 | minuteText: 'Menit', 9 | secondText: 'Detik', 10 | millisecText: 'Milidetik', 11 | microsecText: 'Mikrodetik', 12 | timezoneText: 'Zona Waktu', 13 | currentText: 'Sekarang', 14 | closeText: 'OK', 15 | timeFormat: 'HH:mm', 16 | amNames: ['AM', 'A'], 17 | pmNames: ['PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['id']); 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-it.js: -------------------------------------------------------------------------------- 1 | /* Italian translation for the jQuery Timepicker Addon */ 2 | /* Written by Marco "logicoder" Del Tongo */ 3 | (function($) { 4 | $.timepicker.regional['it'] = { 5 | timeOnlyTitle: 'Scegli orario', 6 | timeText: 'Orario', 7 | hourText: 'Ora', 8 | minuteText: 'Minuti', 9 | secondText: 'Secondi', 10 | millisecText: 'Millisecondi', 11 | microsecText: 'Microsecondi', 12 | timezoneText: 'Fuso orario', 13 | currentText: 'Adesso', 14 | closeText: 'Chiudi', 15 | timeFormat: 'HH:mm', 16 | amNames: ['m.', 'AM', 'A'], 17 | pmNames: ['p.', 'PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['it']); 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-ja.js: -------------------------------------------------------------------------------- 1 | /* Japanese translation for the jQuery Timepicker Addon */ 2 | /* Written by Jun Omae */ 3 | (function($) { 4 | $.timepicker.regional['ja'] = { 5 | timeOnlyTitle: '時間を選択', 6 | timeText: '時間', 7 | hourText: '時', 8 | minuteText: '分', 9 | secondText: '秒', 10 | millisecText: 'ミリ秒', 11 | microsecText: 'マイクロ秒', 12 | timezoneText: 'タイムゾーン', 13 | currentText: '現時刻', 14 | closeText: '閉じる', 15 | timeFormat: 'HH:mm', 16 | amNames: ['午前', 'AM', 'A'], 17 | pmNames: ['午後', 'PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['ja']); 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-ko.js: -------------------------------------------------------------------------------- 1 | /* Korean translation for the jQuery Timepicker Addon */ 2 | /* Written by Genie */ 3 | (function($) { 4 | $.timepicker.regional['ko'] = { 5 | timeOnlyTitle: '시간 선택', 6 | timeText: '시간', 7 | hourText: '시', 8 | minuteText: '분', 9 | secondText: '초', 10 | millisecText: '밀리초', 11 | microsecText: '마이크로', 12 | timezoneText: '표준 시간대', 13 | currentText: '현재 시각', 14 | closeText: '닫기', 15 | timeFormat: 'tt h:mm', 16 | amNames: ['오전', 'AM', 'A'], 17 | pmNames: ['오후', 'PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['ko']); 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-lt.js: -------------------------------------------------------------------------------- 1 | /* Lithuanian translation for the jQuery Timepicker Addon */ 2 | /* Written by Irmantas Šiupšinskas */ 3 | (function($) { 4 | $.timepicker.regional['lt'] = { 5 | timeOnlyTitle: 'Pasirinkite laiką', 6 | timeText: 'Laikas', 7 | hourText: 'Valandos', 8 | minuteText: 'Minutės', 9 | secondText: 'Sekundės', 10 | millisecText: 'Milisekundės', 11 | microsecText: 'Mikrosekundės', 12 | timezoneText: 'Laiko zona', 13 | currentText: 'Dabar', 14 | closeText: 'Uždaryti', 15 | timeFormat: 'HH:mm', 16 | amNames: ['priešpiet', 'AM', 'A'], 17 | pmNames: ['popiet', 'PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['lt']); 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-nl.js: -------------------------------------------------------------------------------- 1 | /* Dutch translation for the jQuery Timepicker Addon */ 2 | /* Written by Martijn van der Lee */ 3 | (function($) { 4 | $.timepicker.regional['nl'] = { 5 | timeOnlyTitle: 'Tijdstip', 6 | timeText: 'Tijd', 7 | hourText: 'Uur', 8 | minuteText: 'Minuut', 9 | secondText: 'Seconde', 10 | millisecText: 'Milliseconde', 11 | microsecText: 'Microseconde', 12 | timezoneText: 'Tijdzone', 13 | currentText: 'Vandaag', 14 | closeText: 'Sluiten', 15 | timeFormat: 'HH:mm', 16 | amNames: ['AM', 'A'], 17 | pmNames: ['PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['nl']); 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-no.js: -------------------------------------------------------------------------------- 1 | /* Norwegian translation for the jQuery Timepicker Addon */ 2 | /* Written by Morten Hauan (http://hauan.me) */ 3 | (function($) { 4 | $.timepicker.regional['no'] = { 5 | timeOnlyTitle: 'Velg tid', 6 | timeText: 'Tid', 7 | hourText: 'Time', 8 | minuteText: 'Minutt', 9 | secondText: 'Sekund', 10 | millisecText: 'Millisekund', 11 | microsecText: 'mikrosekund', 12 | timezoneText: 'Tidssone', 13 | currentText: 'Nå', 14 | closeText: 'Lukk', 15 | timeFormat: 'HH:mm', 16 | amNames: ['am', 'AM', 'A'], 17 | pmNames: ['pm', 'PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['no']); 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-pl.js: -------------------------------------------------------------------------------- 1 | /* Polish translation for the jQuery Timepicker Addon */ 2 | /* Written by Michał Pena */ 3 | (function($) { 4 | $.timepicker.regional['pl'] = { 5 | timeOnlyTitle: 'Wybierz godzinę', 6 | timeText: 'Czas', 7 | hourText: 'Godzina', 8 | minuteText: 'Minuta', 9 | secondText: 'Sekunda', 10 | millisecText: 'Milisekunda', 11 | microsecText: 'Mikrosekunda', 12 | timezoneText: 'Strefa czasowa', 13 | currentText: 'Teraz', 14 | closeText: 'Gotowe', 15 | timeFormat: 'HH:mm', 16 | amNames: ['AM', 'A'], 17 | pmNames: ['PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['pl']); 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-pt-BR.js: -------------------------------------------------------------------------------- 1 | /* Brazilian Portuguese translation for the jQuery Timepicker Addon */ 2 | /* Written by Diogo Damiani (diogodamiani@gmail.com) */ 3 | (function ($) { 4 | $.timepicker.regional['pt-BR'] = { 5 | timeOnlyTitle: 'Escolha o horário', 6 | timeText: 'Horário', 7 | hourText: 'Hora', 8 | minuteText: 'Minutos', 9 | secondText: 'Segundos', 10 | millisecText: 'Milissegundos', 11 | microsecText: 'Microssegundos', 12 | timezoneText: 'Fuso horário', 13 | currentText: 'Agora', 14 | closeText: 'Fechar', 15 | timeFormat: 'HH:mm', 16 | amNames: ['a.m.', 'AM', 'A'], 17 | pmNames: ['p.m.', 'PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['pt-BR']); 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-pt.js: -------------------------------------------------------------------------------- 1 | /* Portuguese translation for the jQuery Timepicker Addon */ 2 | /* Written by Luan Almeida */ 3 | (function($) { 4 | $.timepicker.regional['pt'] = { 5 | timeOnlyTitle: 'Escolha uma hora', 6 | timeText: 'Hora', 7 | hourText: 'Horas', 8 | minuteText: 'Minutos', 9 | secondText: 'Segundos', 10 | millisecText: 'Milissegundos', 11 | microsecText: 'Microssegundos', 12 | timezoneText: 'Fuso horário', 13 | currentText: 'Agora', 14 | closeText: 'Fechar', 15 | timeFormat: 'HH:mm', 16 | amNames: ['a.m.', 'AM', 'A'], 17 | pmNames: ['p.m.', 'PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['pt']); 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-ro.js: -------------------------------------------------------------------------------- 1 | /* Romanian translation for the jQuery Timepicker Addon */ 2 | /* Written by Romeo Adrian Cioaba */ 3 | (function($) { 4 | $.timepicker.regional['ro'] = { 5 | timeOnlyTitle: 'Alegeţi o oră', 6 | timeText: 'Timp', 7 | hourText: 'Ore', 8 | minuteText: 'Minute', 9 | secondText: 'Secunde', 10 | millisecText: 'Milisecunde', 11 | microsecText: 'Microsecunde', 12 | timezoneText: 'Fus orar', 13 | currentText: 'Acum', 14 | closeText: 'Închide', 15 | timeFormat: 'HH:mm', 16 | amNames: ['AM', 'A'], 17 | pmNames: ['PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['ro']); 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-ru.js: -------------------------------------------------------------------------------- 1 | /* Russian translation for the jQuery Timepicker Addon */ 2 | /* Written by Trent Richardson */ 3 | (function($) { 4 | $.timepicker.regional['ru'] = { 5 | timeOnlyTitle: 'Выберите время', 6 | timeText: 'Время', 7 | hourText: 'Часы', 8 | minuteText: 'Минуты', 9 | secondText: 'Секунды', 10 | millisecText: 'Миллисекунды', 11 | microsecText: 'Микросекунды', 12 | timezoneText: 'Часовой пояс', 13 | currentText: 'Сейчас', 14 | closeText: 'Закрыть', 15 | timeFormat: 'HH:mm', 16 | amNames: ['AM', 'A'], 17 | pmNames: ['PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['ru']); 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-sk.js: -------------------------------------------------------------------------------- 1 | /* Slovak translation for the jQuery Timepicker Addon */ 2 | /* Written by David Vallner */ 3 | (function($) { 4 | $.timepicker.regional['sk'] = { 5 | timeOnlyTitle: 'Zvoľte čas', 6 | timeText: 'Čas', 7 | hourText: 'Hodiny', 8 | minuteText: 'Minúty', 9 | secondText: 'Sekundy', 10 | millisecText: 'Milisekundy', 11 | microsecText: 'Mikrosekundy', 12 | timezoneText: 'Časové pásmo', 13 | currentText: 'Teraz', 14 | closeText: 'Zavrieť', 15 | timeFormat: 'H:m', 16 | amNames: ['dop.', 'AM', 'A'], 17 | pmNames: ['pop.', 'PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['sk']); 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-sv.js: -------------------------------------------------------------------------------- 1 | /* Swedish translation for the jQuery Timepicker Addon */ 2 | /* Written by Nevon */ 3 | (function($) { 4 | $.timepicker.regional['sv'] = { 5 | timeOnlyTitle: 'Välj en tid', 6 | timeText: 'Timme', 7 | hourText: 'Timmar', 8 | minuteText: 'Minuter', 9 | secondText: 'Sekunder', 10 | millisecText: 'Millisekunder', 11 | microsecText: 'Mikrosekunder', 12 | timezoneText: 'Tidszon', 13 | currentText: 'Nu', 14 | closeText: 'Stäng', 15 | timeFormat: 'HH:mm', 16 | amNames: ['AM', 'A'], 17 | pmNames: ['PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['sv']); 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-th.js: -------------------------------------------------------------------------------- 1 | /* Thai translation for the jQuery Timepicker Addon */ 2 | /* Written by Yote Wachirapornpongsa */ 3 | (function($) { 4 | $.timepicker.regional['th'] = { 5 | timeOnlyTitle: 'เลือกเวลา', 6 | timeText: 'เวลา ', 7 | hourText: 'ชั่วโมง ', 8 | minuteText: 'นาที', 9 | secondText: 'วินาที', 10 | millisecText: 'มิลลิวินาที', 11 | microsecText: 'ไมโคริวินาที', 12 | timezoneText: 'เขตเวลา', 13 | currentText: 'เวลาปัจจุบัน', 14 | closeText: 'ปิด', 15 | timeFormat: 'hh:mm tt' 16 | }; 17 | $.timepicker.setDefaults($.timepicker.regional['th']); 18 | })(jQuery); -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-tr.js: -------------------------------------------------------------------------------- 1 | /* Turkish translation for the jQuery Timepicker Addon */ 2 | /* Written by Fehmi Can Saglam, Edited by Goktug Ozturk */ 3 | (function($) { 4 | $.timepicker.regional['tr'] = { 5 | timeOnlyTitle: 'Zaman Seçiniz', 6 | timeText: 'Zaman', 7 | hourText: 'Saat', 8 | minuteText: 'Dakika', 9 | secondText: 'Saniye', 10 | millisecText: 'Milisaniye', 11 | microsecText: 'Mikrosaniye', 12 | timezoneText: 'Zaman Dilimi', 13 | currentText: 'Şu an', 14 | closeText: 'Tamam', 15 | timeFormat: 'HH:mm', 16 | amNames: ['ÖÖ', 'Ö'], 17 | pmNames: ['ÖS', 'S'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['tr']); 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-uk.js: -------------------------------------------------------------------------------- 1 | /* Ukrainian translation for the jQuery Timepicker Addon */ 2 | /* Written by Sergey Noskov */ 3 | (function($) { 4 | $.timepicker.regional['uk'] = { 5 | timeOnlyTitle: 'Виберіть час', 6 | timeText: 'Час', 7 | hourText: 'Години', 8 | minuteText: 'Хвилини', 9 | secondText: 'Секунди', 10 | millisecText: 'Мілісекунди', 11 | microsecText: 'Мікросекунди', 12 | timezoneText: 'Часовий пояс', 13 | currentText: 'Зараз', 14 | closeText: 'Закрити', 15 | timeFormat: 'HH:mm', 16 | amNames: ['AM', 'A'], 17 | pmNames: ['PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['uk']); 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-vi.js: -------------------------------------------------------------------------------- 1 | /* Vietnamese translation for the jQuery Timepicker Addon */ 2 | /* Written by Nguyen Dinh Trung */ 3 | (function($) { 4 | $.timepicker.regional['vi'] = { 5 | timeOnlyTitle: 'Chọn giờ', 6 | timeText: 'Thời gian', 7 | hourText: 'Giờ', 8 | minuteText: 'Phút', 9 | secondText: 'Giây', 10 | millisecText: 'Phần nghìn giây', 11 | microsecText: 'Miligiây', 12 | timezoneText: 'Múi giờ', 13 | currentText: 'Hiện thời', 14 | closeText: 'Đóng', 15 | timeFormat: 'H:m', 16 | amNames: ['SA', 'AM', 'A'], 17 | pmNames: ['CH', 'PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['vi']); 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-zh-CN.js: -------------------------------------------------------------------------------- 1 | /* Simplified Chinese translation for the jQuery Timepicker Addon / 2 | / Written by Will Lu */ 3 | (function($) { 4 | $.timepicker.regional['zh-CN'] = { 5 | timeOnlyTitle: '选择时间', 6 | timeText: '时间', 7 | hourText: '小时', 8 | minuteText: '分钟', 9 | secondText: '秒钟', 10 | millisecText: '微秒', 11 | microsecText: '微秒', 12 | timezoneText: '时区', 13 | currentText: '现在时间', 14 | closeText: '关闭', 15 | timeFormat: 'HH:mm', 16 | amNames: ['AM', 'A'], 17 | pmNames: ['PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['zh-CN']); 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /appserver/static/timepicker/i18n/jquery-ui-timepicker-zh-TW.js: -------------------------------------------------------------------------------- 1 | /* Chinese translation for the jQuery Timepicker Addon */ 2 | /* Written by Alang.lin */ 3 | (function($) { 4 | $.timepicker.regional['zh-TW'] = { 5 | timeOnlyTitle: '選擇時分秒', 6 | timeText: '時間', 7 | hourText: '時', 8 | minuteText: '分', 9 | secondText: '秒', 10 | millisecText: '毫秒', 11 | microsecText: '微秒', 12 | timezoneText: '時區', 13 | currentText: '現在時間', 14 | closeText: '確定', 15 | timeFormat: 'HH:mm', 16 | amNames: ['上午', 'AM', 'A'], 17 | pmNames: ['下午', 'PM', 'P'], 18 | isRTL: false 19 | }; 20 | $.timepicker.setDefaults($.timepicker.regional['zh-TW']); 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /appserver/static/timepicker/jquery-ui-sliderAccess.js: -------------------------------------------------------------------------------- 1 | /* 2 | * jQuery UI Slider Access 3 | * By: Trent Richardson [http://trentrichardson.com] 4 | * Version 0.3 5 | * Last Modified: 10/20/2012 6 | * 7 | * Copyright 2011 Trent Richardson 8 | * Dual licensed under the MIT and GPL licenses. 9 | * http://trentrichardson.com/Impromptu/GPL-LICENSE.txt 10 | * http://trentrichardson.com/Impromptu/MIT-LICENSE.txt 11 | * 12 | */ 13 | (function($){ 14 | 15 | $.fn.extend({ 16 | sliderAccess: function(options){ 17 | options = options || {}; 18 | options.touchonly = options.touchonly !== undefined? options.touchonly : true; // by default only show it if touch device 19 | 20 | if(options.touchonly === true && !("ontouchend" in document)) 21 | return $(this); 22 | 23 | return $(this).each(function(i,obj){ 24 | var $t = $(this), 25 | o = $.extend({},{ 26 | where: 'after', 27 | step: $t.slider('option','step'), 28 | upIcon: 'ui-icon-plus', 29 | downIcon: 'ui-icon-minus', 30 | text: false, 31 | upText: '+', 32 | downText: '-', 33 | buttonset: true, 34 | buttonsetTag: 'span', 35 | isRTL: false 36 | }, options), 37 | $buttons = $('<'+ o.buttonsetTag +' class="ui-slider-access">'+ 38 | ''+ 39 | ''+ 40 | ''); 41 | 42 | $buttons.children('button').each(function(j, jobj){ 43 | var $jt = $(this); 44 | $jt.button({ 45 | text: o.text, 46 | icons: { primary: $jt.data('icon') } 47 | }) 48 | .click(function(e){ 49 | var step = $jt.data('step'), 50 | curr = $t.slider('value'), 51 | newval = curr += step*1, 52 | minval = $t.slider('option','min'), 53 | maxval = $t.slider('option','max'), 54 | slidee = $t.slider("option", "slide") || function(){}, 55 | stope = $t.slider("option", "stop") || function(){}; 56 | 57 | e.preventDefault(); 58 | 59 | if(newval < minval || newval > maxval) 60 | return; 61 | 62 | $t.slider('value', newval); 63 | 64 | slidee.call($t, null, { value: newval }); 65 | stope.call($t, null, { value: newval }); 66 | }); 67 | }); 68 | 69 | // before or after 70 | $t[o.where]($buttons); 71 | 72 | if(o.buttonset){ 73 | $buttons.removeClass('ui-corner-right').removeClass('ui-corner-left').buttonset(); 74 | $buttons.eq(0).addClass('ui-corner-left'); 75 | $buttons.eq(1).addClass('ui-corner-right'); 76 | } 77 | 78 | // adjust the width so we don't break the original layout 79 | var bOuterWidth = $buttons.css({ 80 | marginLeft: ((o.where == 'after' && !o.isRTL) || (o.where == 'before' && o.isRTL)? 10:0), 81 | marginRight: ((o.where == 'before' && !o.isRTL) || (o.where == 'after' && o.isRTL)? 10:0) 82 | }).outerWidth(true) + 5; 83 | var tOuterWidth = $t.outerWidth(true); 84 | $t.css('display','inline-block').width(tOuterWidth-bOuterWidth); 85 | }); 86 | } 87 | }); 88 | 89 | })(jQuery); -------------------------------------------------------------------------------- /bin/README: -------------------------------------------------------------------------------- 1 | This is where you put any scripts you want to add to this app. 2 | -------------------------------------------------------------------------------- /bin/backuprestore.config.example: -------------------------------------------------------------------------------- 1 | [BackupRestore] 2 | SCHEME = https 3 | HOST = 127.0.0.1 4 | PORT = 8089 5 | USER = 6 | PASS = 7 | VERIFYCERT = False 8 | BACKUPDIR = /tmp 9 | -------------------------------------------------------------------------------- /bin/checkqaccess.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | from splunklib.searchcommands import dispatch, ReportingCommand, Configuration, Option, validators 4 | import splunklib.results as results 5 | import splunklib.client as client 6 | from splunk.appserver.mrsparkle.lib.util import make_splunkhome_path 7 | import sys 8 | import json 9 | import time 10 | import urllib 11 | import httplib2 12 | import re 13 | from time import localtime,strftime 14 | from xml.dom import minidom 15 | import collections 16 | import base64 17 | 18 | @Configuration() 19 | class checkQAccess(ReportingCommand): 20 | @Configuration() 21 | def map(self, records): 22 | return records 23 | 24 | def reduce(self, records): 25 | ''' 26 | Determine the Splunk user, session key, and app 27 | ''' 28 | user = self._metadata.searchinfo.username 29 | session_key = self._metadata.searchinfo.session_key 30 | app = self._metadata.searchinfo.app 31 | 32 | resultstoreturn = [] 33 | myhttp = httplib2.Http(disable_ssl_certificate_validation=True) 34 | baseurl = 'https://localhost:8089' 35 | retrieveacl = myhttp.request(baseurl + '/servicesNS/nobody/SA-ctf_scoreboard/configs/conf-transforms/ctf_questions/acl?output_mode=json','GET', headers={'Authorization': 'Splunk %s' % session_key})[1] 36 | acldict=json.loads(retrieveacl) 37 | 38 | canread = False 39 | for reader in acldict['entry'][0]['acl']['perms']['read']: 40 | if reader == 'ctf_competitor': 41 | canread = True 42 | 43 | canwrite = False 44 | for writer in acldict['entry'][0]['acl']['perms']['write']: 45 | if writer == 'ctf_competitor': 46 | canwrite = True 47 | result = collections.OrderedDict({'role': 'ctf_competitor', 'canread': canread, 'canwrite': canwrite}) 48 | 49 | resultstoreturn.append(result) 50 | return resultstoreturn 51 | 52 | if __name__ == "__main__": 53 | dispatch(checkQAccess, sys.argv, sys.stdin, sys.stdout, __name__) -------------------------------------------------------------------------------- /bin/splunklib/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2011-2015 Splunk, Inc. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"): you may 4 | # not use this file except in compliance with the License. You may obtain 5 | # a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12 | # License for the specific language governing permissions and limitations 13 | # under the License. 14 | 15 | """Python library for Splunk.""" 16 | 17 | __version_info__ = (1, 6, 2) 18 | __version__ = ".".join(map(str, __version_info__)) 19 | 20 | -------------------------------------------------------------------------------- /bin/splunklib/modularinput/__init__.py: -------------------------------------------------------------------------------- 1 | """The following imports allow these classes to be imported via 2 | the splunklib.modularinput package like so: 3 | 4 | from splunklib.modularinput import * 5 | """ 6 | from .argument import Argument 7 | from .event import Event 8 | from .event_writer import EventWriter 9 | from .input_definition import InputDefinition 10 | from .scheme import Scheme 11 | from .script import Script 12 | from .validation_definition import ValidationDefinition 13 | -------------------------------------------------------------------------------- /bin/splunklib/modularinput/event_writer.py: -------------------------------------------------------------------------------- 1 | # Copyright 2011-2015 Splunk, Inc. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"): you may 4 | # not use this file except in compliance with the License. You may obtain 5 | # a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12 | # License for the specific language governing permissions and limitations 13 | # under the License. 14 | 15 | import sys 16 | 17 | from .event import ET 18 | 19 | try: 20 | from cStringIO import StringIO 21 | except ImportError: 22 | from StringIO import StringIO 23 | 24 | class EventWriter(object): 25 | """``EventWriter`` writes events and error messages to Splunk from a modular input. 26 | 27 | Its two important methods are ``writeEvent``, which takes an ``Event`` object, 28 | and ``log``, which takes a severity and an error message. 29 | """ 30 | 31 | # Severities that Splunk understands for log messages from modular inputs. 32 | # Do not change these 33 | DEBUG = "DEBUG" 34 | INFO = "INFO" 35 | WARN = "WARN" 36 | ERROR = "ERROR" 37 | FATAL = "FATAL" 38 | 39 | def __init__(self, output = sys.stdout, error = sys.stderr): 40 | """ 41 | :param output: Where to write the output; defaults to sys.stdout. 42 | :param error: Where to write any errors; defaults to sys.stderr. 43 | """ 44 | self._out = output 45 | self._err = error 46 | 47 | # has the opening tag been written yet? 48 | self.header_written = False 49 | 50 | def write_event(self, event): 51 | """Writes an ``Event`` object to Splunk. 52 | 53 | :param event: An ``Event`` object. 54 | """ 55 | 56 | if not self.header_written: 57 | self._out.write("") 58 | self.header_written = True 59 | 60 | event.write_to(self._out) 61 | 62 | def log(self, severity, message): 63 | """Logs messages about the state of this modular input to Splunk. 64 | These messages will show up in Splunk's internal logs. 65 | 66 | :param severity: ``string``, severity of message, see severities defined as class constants. 67 | :param message: ``string``, message to log. 68 | """ 69 | 70 | self._err.write("%s %s\n" % (severity, message)) 71 | self._err.flush() 72 | 73 | def write_xml_document(self, document): 74 | """Writes a string representation of an 75 | ``ElementTree`` object to the output stream. 76 | 77 | :param document: An ``ElementTree`` object. 78 | """ 79 | self._out.write(ET.tostring(document)) 80 | self._out.flush() 81 | 82 | def close(self): 83 | """Write the closing tag to make this XML well formed.""" 84 | self._out.write("") -------------------------------------------------------------------------------- /bin/splunklib/modularinput/input_definition.py: -------------------------------------------------------------------------------- 1 | # Copyright 2011-2015 Splunk, Inc. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"): you may 4 | # not use this file except in compliance with the License. You may obtain 5 | # a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12 | # License for the specific language governing permissions and limitations 13 | # under the License. 14 | 15 | try: 16 | import xml.etree.cElementTree as ET 17 | except ImportError as ie: 18 | import xml.etree.ElementTree as ET 19 | 20 | from .utils import parse_xml_data 21 | 22 | class InputDefinition: 23 | """``InputDefinition`` encodes the XML defining inputs that Splunk passes to 24 | a modular input script. 25 | 26 | **Example**:: 27 | 28 | i = InputDefinition() 29 | 30 | """ 31 | def __init__ (self): 32 | self.metadata = {} 33 | self.inputs = {} 34 | 35 | def __eq__(self, other): 36 | if not isinstance(other, InputDefinition): 37 | return False 38 | return self.metadata == other.metadata and self.inputs == other.inputs 39 | 40 | @staticmethod 41 | def parse(stream): 42 | """Parse a stream containing XML into an ``InputDefinition``. 43 | 44 | :param stream: stream containing XML to parse. 45 | :return: definition: an ``InputDefinition`` object. 46 | """ 47 | definition = InputDefinition() 48 | 49 | # parse XML from the stream, then get the root node 50 | root = ET.parse(stream).getroot() 51 | 52 | for node in root: 53 | if node.tag == "configuration": 54 | # get config for each stanza 55 | definition.inputs = parse_xml_data(node, "stanza") 56 | else: 57 | definition.metadata[node.tag] = node.text 58 | 59 | return definition -------------------------------------------------------------------------------- /bin/splunklib/modularinput/scheme.py: -------------------------------------------------------------------------------- 1 | # Copyright 2011-2015 Splunk, Inc. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"): you may 4 | # not use this file except in compliance with the License. You may obtain 5 | # a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12 | # License for the specific language governing permissions and limitations 13 | # under the License. 14 | 15 | try: 16 | import xml.etree.cElementTree as ET 17 | except ImportError: 18 | import xml.etree.ElementTree as ET 19 | 20 | class Scheme(object): 21 | """Class representing the metadata for a modular input kind. 22 | 23 | A ``Scheme`` specifies a title, description, several options of how Splunk should run modular inputs of this 24 | kind, and a set of arguments which define a particular modular input's properties. 25 | 26 | The primary use of ``Scheme`` is to abstract away the construction of XML to feed to Splunk. 27 | """ 28 | 29 | # Constant values, do not change 30 | # These should be used for setting the value of a Scheme object's streaming_mode field. 31 | streaming_mode_simple = "SIMPLE" 32 | streaming_mode_xml = "XML" 33 | 34 | def __init__(self, title): 35 | """ 36 | :param title: ``string`` identifier for this Scheme in Splunk. 37 | """ 38 | self.title = title 39 | self.description = None 40 | self.use_external_validation = True 41 | self.use_single_instance = False 42 | self.streaming_mode = Scheme.streaming_mode_xml 43 | 44 | # list of Argument objects, each to be represented by an tag 45 | self.arguments = [] 46 | 47 | def add_argument(self, arg): 48 | """Add the provided argument, ``arg``, to the ``self.arguments`` list. 49 | 50 | :param arg: An ``Argument`` object to add to ``self.arguments``. 51 | """ 52 | self.arguments.append(arg) 53 | 54 | def to_xml(self): 55 | """Creates an ``ET.Element`` representing self, then returns it. 56 | 57 | :returns root, an ``ET.Element`` representing this scheme. 58 | """ 59 | root = ET.Element("scheme") 60 | 61 | ET.SubElement(root, "title").text = self.title 62 | 63 | # add a description subelement if it's defined 64 | if self.description is not None: 65 | ET.SubElement(root, "description").text = self.description 66 | 67 | # add all other subelements to this Scheme, represented by (tag, text) 68 | subelements = [ 69 | ("use_external_validation", self.use_external_validation), 70 | ("use_single_instance", self.use_single_instance), 71 | ("streaming_mode", self.streaming_mode) 72 | ] 73 | for name, value in subelements: 74 | ET.SubElement(root, name).text = str(value).lower() 75 | 76 | endpoint = ET.SubElement(root, "endpoint") 77 | 78 | args = ET.SubElement(endpoint, "args") 79 | 80 | # add arguments as subelements to the element 81 | for arg in self.arguments: 82 | arg.add_to_document(args) 83 | 84 | return root -------------------------------------------------------------------------------- /bin/splunklib/modularinput/utils.py: -------------------------------------------------------------------------------- 1 | # Copyright 2011-2015 Splunk, Inc. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"): you may 4 | # not use this file except in compliance with the License. You may obtain 5 | # a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12 | # License for the specific language governing permissions and limitations 13 | # under the License. 14 | 15 | # File for utility functions 16 | 17 | def xml_compare(expected, found): 18 | """Checks equality of two ``ElementTree`` objects. 19 | 20 | :param expected: An ``ElementTree`` object. 21 | :param found: An ``ElementTree`` object. 22 | :return: ``Boolean``, whether the two objects are equal. 23 | """ 24 | 25 | # if comparing the same ET object 26 | if expected == found: 27 | return True 28 | 29 | # compare element attributes, ignoring order 30 | if set(expected.items()) != set(found.items()): 31 | return False 32 | 33 | # check for equal number of children 34 | expected_children = list(expected) 35 | found_children = list(found) 36 | if len(expected_children) != len(found_children): 37 | return False 38 | 39 | # compare children 40 | if not all([xml_compare(a, b) for a, b in zip(expected_children, found_children)]): 41 | return False 42 | 43 | # compare elements, if there is no text node, return True 44 | if (expected.text is None or expected.text.strip() == "") \ 45 | and (found.text is None or found.text.strip() == ""): 46 | return True 47 | else: 48 | return expected.tag == found.tag and expected.text == found.text \ 49 | and expected.attrib == found.attrib 50 | 51 | def parse_parameters(param_node): 52 | if param_node.tag == "param": 53 | return param_node.text 54 | elif param_node.tag == "param_list": 55 | parameters = [] 56 | for mvp in param_node: 57 | parameters.append(mvp.text) 58 | return parameters 59 | else: 60 | raise ValueError("Invalid configuration scheme, %s tag unexpected." % param_node.tag) 61 | 62 | def parse_xml_data(parent_node, child_node_tag): 63 | data = {} 64 | for child in parent_node: 65 | if child.tag == child_node_tag: 66 | if child_node_tag == "stanza": 67 | data[child.get("name")] = {} 68 | for param in child: 69 | data[child.get("name")][param.get("name")] = parse_parameters(param) 70 | elif "item" == parent_node.tag: 71 | data[child.get("name")] = parse_parameters(child) 72 | return data -------------------------------------------------------------------------------- /bin/splunklib/modularinput/validation_definition.py: -------------------------------------------------------------------------------- 1 | # Copyright 2011-2015 Splunk, Inc. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"): you may 4 | # not use this file except in compliance with the License. You may obtain 5 | # a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12 | # License for the specific language governing permissions and limitations 13 | # under the License. 14 | 15 | 16 | try: 17 | import xml.etree.cElementTree as ET 18 | except ImportError as ie: 19 | import xml.etree.ElementTree as ET 20 | 21 | from .utils import parse_xml_data 22 | 23 | 24 | class ValidationDefinition(object): 25 | """This class represents the XML sent by Splunk for external validation of a 26 | new modular input. 27 | 28 | **Example**:: 29 | 30 | ``v = ValidationDefinition()`` 31 | 32 | """ 33 | def __init__(self): 34 | self.metadata = {} 35 | self.parameters = {} 36 | 37 | def __eq__(self, other): 38 | if not isinstance(other, ValidationDefinition): 39 | return False 40 | return self.metadata == other.metadata and self.parameters == other.parameters 41 | 42 | @staticmethod 43 | def parse(stream): 44 | """Creates a ``ValidationDefinition`` from a provided stream containing XML. 45 | 46 | The XML typically will look like this: 47 | 48 | ```` 49 | `` myHost`` 50 | `` https://127.0.0.1:8089`` 51 | `` 123102983109283019283`` 52 | `` /opt/splunk/var/lib/splunk/modinputs`` 53 | `` `` 54 | `` value1`` 55 | `` `` 56 | `` value2`` 57 | `` value3`` 58 | `` value4`` 59 | `` `` 60 | `` `` 61 | ```` 62 | 63 | :param stream: ``Stream`` containing XML to parse. 64 | :return definition: A ``ValidationDefinition`` object. 65 | 66 | """ 67 | 68 | definition = ValidationDefinition() 69 | 70 | # parse XML from the stream, then get the root node 71 | root = ET.parse(stream).getroot() 72 | 73 | for node in root: 74 | # lone item node 75 | if node.tag == "item": 76 | # name from item node 77 | definition.metadata["name"] = node.get("name") 78 | definition.parameters = parse_xml_data(node, "") 79 | else: 80 | # Store anything else in metadata 81 | definition.metadata[node.tag] = node.text 82 | 83 | return definition -------------------------------------------------------------------------------- /bin/stagecontent.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import sys, time, urllib 4 | from splunklib.searchcommands import \ 5 | dispatch, GeneratingCommand, Configuration, Option, validators 6 | from splunk.appserver.mrsparkle.lib.util import make_splunkhome_path 7 | 8 | @Configuration() 9 | class StageContentCommand(GeneratingCommand): 10 | ctf_users_staged = Option(require=True) 11 | ctf_questions_staged = Option(require=True) 12 | ctf_answers_staged = Option(require=True) 13 | ctf_hints_staged = Option(require=True) 14 | 15 | LOOKUPS_DIR = make_splunkhome_path(['etc', 'apps', 'SA-ctf_scoreboard_admin', 'lookups']) 16 | 17 | def generate(self): 18 | urllib.urlretrieve(self.ctf_users_staged, "%s/%s" % (self.LOOKUPS_DIR, 'ctf_users_staged.csv')) 19 | yield {'_time': time.time(), '_raw': self.ctf_users_staged } 20 | 21 | urllib.urlretrieve(self.ctf_questions_staged, "%s/%s" % (self.LOOKUPS_DIR, 'ctf_questions_staged.csv')) 22 | yield {'_time': time.time(), '_raw': self.ctf_questions_staged } 23 | 24 | urllib.urlretrieve(self.ctf_answers_staged, "%s/%s" % (self.LOOKUPS_DIR, 'ctf_answers_staged.csv')) 25 | yield {'_time': time.time(), '_raw': self.ctf_answers_staged } 26 | 27 | urllib.urlretrieve(self.ctf_hints_staged, "%s/%s" % (self.LOOKUPS_DIR, 'ctf_hints_staged.csv')) 28 | yield {'_time': time.time(), '_raw': self.ctf_hints_staged } 29 | 30 | dispatch(StageContentCommand, sys.argv, sys.stdin, sys.stdout, __name__) -------------------------------------------------------------------------------- /bin/toggleqaccess.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | from splunklib.searchcommands import dispatch, ReportingCommand, Configuration, Option, validators 4 | import splunklib.results as results 5 | import splunklib.client as client 6 | from splunk.appserver.mrsparkle.lib.util import make_splunkhome_path 7 | import sys 8 | import json 9 | import time 10 | import urllib 11 | import httplib2 12 | import re 13 | from time import localtime,strftime 14 | from xml.dom import minidom 15 | import collections 16 | import base64 17 | 18 | @Configuration() 19 | class toggleQAccess(ReportingCommand): 20 | @Configuration() 21 | def map(self, records): 22 | return records 23 | 24 | def reduce(self, records): 25 | ''' 26 | Determine the Splunk user, session key, and app 27 | ''' 28 | user = self._metadata.searchinfo.username 29 | session_key = self._metadata.searchinfo.session_key 30 | app = self._metadata.searchinfo.app 31 | 32 | resultstoreturn = [] 33 | myhttp = httplib2.Http(disable_ssl_certificate_validation=True) 34 | baseurl = 'https://localhost:8089' 35 | 36 | # First retrieve current ACL 37 | retrieveacl = myhttp.request(baseurl + '/servicesNS/nobody/SA-ctf_scoreboard/configs/conf-transforms/ctf_questions/acl?output_mode=json','GET', headers={'Authorization': 'Splunk %s' % session_key})[1] 38 | acldict=json.loads(retrieveacl) 39 | 40 | readers=[] 41 | canread = False 42 | for reader in acldict['entry'][0]['acl']['perms']['read']: 43 | readers.append(reader) 44 | if reader == 'ctf_competitor': 45 | canread = True 46 | 47 | writers=[] 48 | canwrite = False 49 | for writer in acldict['entry'][0]['acl']['perms']['write']: 50 | writers.append(writer) 51 | if writer == 'ctf_competitor': 52 | canwrite = True 53 | 54 | # Toggle read access, always ensuring write access is disabled. 55 | 56 | if 'ctf_competitor' in readers: 57 | readers.remove('ctf_competitor') 58 | else: 59 | readers.append('ctf_competitor') 60 | 61 | if 'ctf_competitor' in writers: 62 | writers.remove('ctf_competitor') 63 | 64 | readersstring = ','.join(readers) 65 | writersstring = ','.join(writers) 66 | 67 | # Set the ACL 68 | setacl = myhttp.request(baseurl + '/servicesNS/nobody/SA-ctf_scoreboard/configs/conf-transforms/ctf_questions/acl?output_mode=json','POST', headers={'Authorization': 'Splunk %s' % session_key}, body=urllib.urlencode({"sharing" : "global","owner":"nobody",'perms.read': readersstring, 'perms.write':writersstring}))[1] 69 | acldict=json.loads(setacl) 70 | 71 | readers=[] 72 | canread = False 73 | for reader in acldict['entry'][0]['acl']['perms']['read']: 74 | readers.append(reader) 75 | if reader == 'ctf_competitor': 76 | canread = True 77 | writers=[] 78 | canwrite = False 79 | for writer in acldict['entry'][0]['acl']['perms']['write']: 80 | writers.append(writer) 81 | if writer == 'ctf_competitor': 82 | canwrite = True 83 | 84 | result = collections.OrderedDict({'role': 'ctf_competitor', 'canread': canread, 'canwrite': canwrite}) 85 | resultstoreturn.append(result) 86 | return resultstoreturn 87 | 88 | if __name__ == "__main__": 89 | dispatch(toggleQAccess, sys.argv, sys.stdin, sys.stdout, __name__) 90 | -------------------------------------------------------------------------------- /bin/whois_lookup.py: -------------------------------------------------------------------------------- 1 | # An aadapter that takes CSV as input, performs a lookup to whois, then returns the CSV results 2 | import csv,sys 3 | import urllib 4 | 5 | LOCATION_URL="http://adam.kahtava.com/services/whois.xml?query=" 6 | 7 | 8 | # Given an ip, return the whois response 9 | def lookup(ip): 10 | try: 11 | whois_ret = urllib.urlopen(LOCATION_URL + ip) 12 | lines = whois_ret.readlines() 13 | return lines 14 | except: 15 | return '' 16 | 17 | def main(): 18 | if len(sys.argv) != 3: 19 | print "Usage: python whois_lookup.py [ip field] [whois field]" 20 | sys.exit(0) 21 | 22 | ipf = sys.argv[1] 23 | whoisf = sys.argv[2] 24 | r = csv.reader(sys.stdin) 25 | w = None 26 | header = [] 27 | first = True 28 | 29 | for line in r: 30 | if first: 31 | header = line 32 | if whoisf not in header or ipf not in header: 33 | print "IP and whois fields must exist in CSV data" 34 | sys.exit(0) 35 | csv.writer(sys.stdout).writerow(header) 36 | w = csv.DictWriter(sys.stdout, header) 37 | first = False 38 | continue 39 | 40 | # Read the result 41 | result = {} 42 | i = 0 43 | while i < len(header): 44 | if i < len(line): 45 | result[header[i]] = line[i] 46 | else: 47 | result[header[i]] = '' 48 | i += 1 49 | 50 | # Perform the whois lookup if necessary 51 | if len(result[ipf]) and len(result[whoisf]): 52 | w.writerow(result) 53 | 54 | elif len(result[ipf]): 55 | result[whoisf] = lookup(result[ipf]) 56 | if len(result[whoisf]): 57 | w.writerow(result) 58 | 59 | main() 60 | -------------------------------------------------------------------------------- /default/app.conf: -------------------------------------------------------------------------------- 1 | [ui] 2 | is_visible = 1 3 | label = Capture the Flag Admin 4 | 5 | [launcher] 6 | 7 | [package] 8 | check_for_updates = 1 9 | 10 | [install] 11 | install_source_checksum = 15745dc23ad089b50a78433a57378d4ad1323e8b 12 | -------------------------------------------------------------------------------- /default/collections.conf: -------------------------------------------------------------------------------- 1 | [ctf_answers] 2 | field.Answer = string 3 | field.Number = string 4 | replicate = true 5 | 6 | [ctf_hints] 7 | field.Hint = string 8 | field.Number = string 9 | field.HintNumber = string 10 | field.HintCost = string 11 | replicate = true -------------------------------------------------------------------------------- /default/commands.conf: -------------------------------------------------------------------------------- 1 | [stagecontent] 2 | filename = stagecontent.py 3 | enableheader = true 4 | outputheader = true 5 | requires_srinfo = true 6 | supports_getinfo = true 7 | supports_multivalues = true 8 | supports_rawargs = true 9 | 10 | [checkqaccess] 11 | filename = checkqaccess.py 12 | enableheader = true 13 | outputheader = true 14 | requires_srinfo = true 15 | supports_getinfo = true 16 | supports_multivalues = true 17 | supports_rawargs = true 18 | 19 | [toggleqaccess] 20 | filename = toggleqaccess.py 21 | enableheader = true 22 | outputheader = true 23 | requires_srinfo = true 24 | supports_getinfo = true 25 | supports_multivalues = true 26 | supports_rawargs = true 27 | -------------------------------------------------------------------------------- /default/data/ui/views/README: -------------------------------------------------------------------------------- 1 | Add all the views that your app needs in this directory 2 | -------------------------------------------------------------------------------- /default/data/ui/views/adjust_score.xml: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | 5 | 6 | 7 | |rest /services/authentication/users splunk_server=local | where roles="ctf_competitor" | fields title 8 | 9 | title 10 | title 11 | 12 | 13 | 14 | 15 | | inputlookup ctf_questions | eval Number_and_Question = Number . ". " . Question 16 | 17 | Number_and_Question 18 | Number 19 | 20 |
21 | 22 | 23 | 24 | 25 | Apply to these teams: $Teams$ 26 |
27 | Modify Question number: $Number$ 28 |
29 | 30 | 31 | 32 | 33 | 34 | ✚ Enter number of base points to award. Do not leave it empty. Enter a 0 to indicate 0. 35 |
36 | ✚ Enter number of bonus points to award. Do not leave it empty. Enter a 0 to indicate 0. 37 |
38 | ➖ Enter number of penalty points to assess. Do not leave it empty. Enter a 0 to indicate 0. 39 |
40 | ☰ REQUIRED Enter a brief note that explains the reason for this adjustment 41 |
42 | 43 | 44 | 45 |
46 |
47 | 48 | 49 | 50 | Questions 51 | 52 | | inputlookup ctf_questions | table Number Question BasePoints StartTime EndTime 53 | 0 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 |
62 |
63 |
64 | -------------------------------------------------------------------------------- /default/data/ui/views/adjust_score_result.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Question: $QuestionOfficial$
7 | Number: $Number$
8 | User: $user$
9 | Base points available: $BasePointsAvailable$
10 | Start time (epoch): $StartTime$
11 | End time (epoch): $EndTime$
12 | Results: $Result$
13 | Penalty: $Penalty$
14 | Base points awarded: $BasePointsAwarded$
15 | Speed bonus points awarded: $SpeedBonusAwarded$
16 | Note: $Note$
17 | Adjust more scores. 18 | 19 |
20 |
21 |
-------------------------------------------------------------------------------- /default/data/ui/views/all_questions_by_team.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Boss of the SOC All Team Scores 8 | 9 |

10 | All Team Scores by Question 11 |

12 | 13 | 14 | 15 |
16 |
17 | 18 | 19 | 20 | 21 | index=scoreboard user!=admin 22 | | stats max(BasePointsAwarded) as BasePoints max(SpeedBonusAwarded) as BonusPoints sum(Penalty) as Penalty by user, Number 23 | | stats sum(BasePoints) as BasePoints sum(BonusPoints) as BonusPoints sum(Penalty) as Penalty by user, Number 24 | | eval Score = BasePoints + BonusPoints - Penalty 25 | | eval Score = if (Score < 0, 0, Score) 26 | | rename user AS Team | rename Number AS QNum 27 | | fields Team QNum Score 28 | | sort Team QNum 29 | | xyseries Team QNum Score 30 | | fillnull value=NA 31 | 32 | 0 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 |
41 |
42 |
43 |
-------------------------------------------------------------------------------- /default/data/ui/views/answers_by_user.xml: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | 5 | 6 | 7 | | inputlookup ctf_users 8 | | eval Team=if(Team != "", Team, DisplayUsername) 9 | | eval Team=if(Team != "", Team, Username) 10 | | eval Team=if(Team != "", Team, user) | dedup Team 11 | 0 12 | 13 | Team 14 | Team 15 | OR 16 | All 17 | * 18 | * 19 | 20 | 21 | 22 | 23 | | inputlookup ctf_answers 24 | | Dedup Number 25 | 0 26 | 27 | Number 28 | Number 29 | OR 30 | All 31 | * 32 | * 33 | 34 |
35 | 36 | 37 | 38 | 39 | earliest=0 40 | index="scoreboard_admin" 41 | | lookup ctf_users Username as user 42 | | eval Team=if(Team != "", Team, DisplayUsername) 43 | | eval Team=if(Team != "", Team, Username) 44 | | eval Team=if(Team != "", Team, user) 45 | | search Team="$team$" 46 | | search Number=$number$ 47 | | table Number, QuestionOfficial, Answer, DisplayUsername, Team, _time, Result 48 | $earliest$ 49 | $latest$ 50 | 51 |
52 |
53 |
54 |
-------------------------------------------------------------------------------- /default/data/ui/views/assign_ebadges.xml: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | 5 | 6 | num_and_name 7 | BadgeNumber 8 | 9 | | inputlookup ctf_badges | eval num_and_name=BadgeNumber . ". " . BadgeName 10 | 11 | 12 | 13 | 14 | 15 | label_field 16 | value_field 17 | 18 | | inputlookup ctf_users 19 | | eval label_field=DisplayUsername . " (" . Username . ", " . Team . ")" | eval value_field = Username 20 | | append 21 | [| inputlookup ctf_users 22 | | eval label_field="Team " . Team | eval value_field = Team] 23 | | where label_field != "Team " 24 | | dedup label_field 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | Assign to user only. 34 | Assign to user and all their teammates. 35 | 0 36 | 37 |
38 | 39 | 40 | 41 | 42 |

Current Assignments for this eBadge

43 |
44 | 45 | 46 | 47 | 48 | 49 | Awarded to all members of the team that correctly answers the first 1K point question of the event. 50 | 51 | 52 | earliest=0 index="scoreboard_admin" "result=Correct" Number!=1 53 | | search "result=Correct" Number!=1 BasePointsAwarded=1000 Result=Correct 54 | | search `get_user_info` 55 | | lookup ctf_badge_entitlements user AS user OUTPUT BadgeNumber 56 | | eval BadgeNumber=mvfilter(match(BadgeNumber, "^18$$" )) 57 | | eval Awarded=if(mvcount(BadgeNumber) > 0, 1, 0) 58 | | tail 1 59 | | table user DisplayUsername Team Awarded 60 | 0 61 | now 62 | 1 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 |
72 |
73 |
74 | -------------------------------------------------------------------------------- /default/data/ui/views/competitors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Competitors 6 | 7 | 8 | | inputlookup ctf_users | rex field=Username "^user(?<UserNumber>\d+)$" | sort UserNumber | fields - UserNumber 9 | $earliest$ 10 | $latest$ 11 | 1 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 |
22 |
23 |
-------------------------------------------------------------------------------- /default/data/ui/views/countdown.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |
7 |
8 |
(Days:Hours:Minutes:Seconds)
9 | 10 |
11 |
12 |
-------------------------------------------------------------------------------- /default/data/ui/views/cumulative_score_detail.xml: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | 5 | 6 | label_field 7 | value_field 8 | 9 | | inputlookup ctf_users 10 | | eval label_field=Team | eval value_field = Team 11 | | where label_field != "Team " 12 | | dedup label_field 13 | 14 | 15 | 16 | 17 | 18 | label_field 19 | value_field 20 | 21 | | inputlookup ctf_questions 22 | | eval label_field=Number | eval value_field = Number 23 | | dedup label_field 24 | 25 | 26 | All 27 | * 28 | 29 | 30 | 31 | 32 | 0 33 | 34 | 35 | 36 |
37 | 38 | 39 | 40 | 41 | 42 | 43 | earliest=0 index=scoreboard user!=admin `get_user_info` `validateevents` 44 | | dedup vcode 45 | | search Team="$team$" 46 | | eventstats min(eval(if(BasePointsAwarded>0,_time,null))) as FC by Team, Number 47 | | eventstats min(eval(if(AdditionalBonusAwarded>0,_time,null))) as FAB by Team, Number 48 | | eval BP = if(_time=FC,BasePointsAwarded,0) 49 | | eval SB = if(_time=FC,SpeedBonusAwarded,0) 50 | | eval AB = if(_time=FAB,AdditionalBonusAwarded,0) 51 | | eval BP = coalesce(BP,0) 52 | | eval SB = coalesce(SB,0) 53 | | eval AB = coalesce(AB,0) 54 | | eval Penalty = coalesce(Penalty,0) 55 | | eval Score = BP + SB + AB - Penalty 56 | | reverse 57 | | streamstats sum(Score) as CumulativeScore sum(BP) as CumulativeBasePoints sum(SB) as CumulativeSpeedBonus sum(AB) as CumulativeAdditionalBonus sum(Penalty) as CumulativePenalty by Team 58 | | eval time_epoch=_time 59 | | table _time Number Result BasePointsAwarded SpeedBonusAwarded AdditionalBonusAwarded Penalty Team user Score CumulativeBasePoints CumulativeSpeedBonus CumulativeAdditionalBonus CumulativePenalty CumulativeScore time_epoch FC FAB BP SB AB 60 | 61 | 62 | 0 63 | 1 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 |
73 |
74 |
75 |
-------------------------------------------------------------------------------- /default/data/ui/views/detect_collect.xml: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | 5 | 6 | 7 | -24h@h 8 | now 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | index=_audit user!=admin action=search search="*collect *" 17 | 0 18 | 19 | 1 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 |
-------------------------------------------------------------------------------- /default/data/ui/views/detect_search.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | index=_internal search sourcetype=splunk_web_access uri_path="*/search" status=200 user!=admin 8 | 0 9 | 1 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /default/data/ui/views/event_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |

8 | During the competition, you may want to open these dashboards in tabs. 9 |

10 | 11 |

12 | All Scores 13 | Top 10 Teams 14 | CTF Activity 15 | Score timeline 16 | Question and Answer Density 17 | eBadges by Team 18 | Defcon Music for Ambiance 19 | Timer for event countdown 20 |

21 | 22 | 23 |
24 |
25 |
-------------------------------------------------------------------------------- /default/data/ui/views/final_countdown.xml: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 |
6 | 7 |
8 | 9 |
10 |
-------------------------------------------------------------------------------- /default/data/ui/views/kv_backup_history.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | KV Backup History 7 | 8 |
9 |
10 |
11 |
-------------------------------------------------------------------------------- /default/data/ui/views/load_sample_answers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Load sample answers 7 | 8 |
9 |
10 |
11 |
-------------------------------------------------------------------------------- /default/data/ui/views/load_sample_badge_entitlements.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Load sample questions 7 | 8 |
9 |
10 |
11 |
-------------------------------------------------------------------------------- /default/data/ui/views/load_sample_badges.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Load sample questions 7 | 8 |
9 |
10 |
11 |
-------------------------------------------------------------------------------- /default/data/ui/views/load_sample_hint_entitlements.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Load sample hint entitlements 7 | 8 |
9 |
10 |
11 |
-------------------------------------------------------------------------------- /default/data/ui/views/load_sample_hints.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Load sample hints 7 | 8 |
9 |
10 |
11 |
-------------------------------------------------------------------------------- /default/data/ui/views/load_sample_questions.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Load sample questions 7 | 8 |
9 |
10 |
11 |
-------------------------------------------------------------------------------- /default/data/ui/views/load_sample_user_agreements.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Results 7 | 8 | eval WARNING=$WARNING$ 9 |
10 |
11 |
12 |
-------------------------------------------------------------------------------- /default/data/ui/views/load_sample_usersteams.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Results 7 | 8 | eval WARNING=$WARNING$ 9 |
10 |
11 |
12 |
-------------------------------------------------------------------------------- /default/data/ui/views/load_staged_answers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Load staged answers 7 | 8 |
9 |
10 |
11 |
-------------------------------------------------------------------------------- /default/data/ui/views/load_staged_badges.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Load staged badges 7 | 8 |
9 |
10 |
11 |
-------------------------------------------------------------------------------- /default/data/ui/views/load_staged_hints.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Load staged hints 7 | 8 |
9 |
10 |
11 |
-------------------------------------------------------------------------------- /default/data/ui/views/load_staged_questions.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Load staged questions 7 | 8 |
9 |
10 |
11 |
-------------------------------------------------------------------------------- /default/data/ui/views/load_staged_user_agreements.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 |
10 |
11 |
-------------------------------------------------------------------------------- /default/data/ui/views/load_staged_users.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Load staged users 7 | 8 |
9 |
10 |
11 |
-------------------------------------------------------------------------------- /default/data/ui/views/q__a.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | You got Questions? We got Answers. 7 | 8 | |inputlookup ctf_questions | append [|inputlookup ctf_answers] | eval NiceStartTime = strftime(StartTime, "%+") | eval NiceEndTime = strftime(EndTime, "%+") | stats last(Question) as Queston last(Answer) as Answer last(BasePoints) as BasePoints last(NiceStartTime) as NiceStartTime last(NiceEndTime) as NiceEndTime by Number | sort Number 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 |
17 |
18 |
-------------------------------------------------------------------------------- /default/data/ui/views/question_access.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Question Access for CTF Participants 6 | 7 | 8 | |checkqaccess | eval dontcare=$somethingchanged$ | eval access=if(canread==1,"Enabled","Disabled") | fields access | rename access as "Competitor Question Access" 9 | -24h@h 10 | now 11 | 1 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 |
25 | 26 |
27 |
28 |
-------------------------------------------------------------------------------- /default/data/ui/views/question_timeanswer_densities.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | index="scoreboard_admin" AND (Result="Correct" OR Result="Incorrect") user!=admin| eval binresult=if(Result="Correct",1000,2000)| append [| inputlookup ctf_questions | eval _time = StartTime, Result="Init", binresult=1500 | table _time Number Result binresult ] | search Number!=1 |table _time,Number,binresult,Result 8 | 0 9 | now 10 | 1 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /default/data/ui/views/scoreboard_admin_error.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | An error has occured. The most common cause is that YOU ARE A hax0r!! 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /default/data/ui/views/scoreboard_health.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Lookup Editor Status 6 | 7 | 8 | | rest /services/apps/local | search disabled=0 | search label="Lookup Editor"| eval le_status=if(label=="Lookup Editor", "Installed", "Not installed") | rename le_status as "Lookup Editor Status" | table "Lookup Editor Status" version 9 | $earliest$ 10 | $latest$ 11 | 1 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 |
22 |
23 | 24 | 25 | 26 | Python Controller Errors 27 | 28 | index=_internal sourcetype=splunk_web_service DEBUG 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | ["host","source","sourcetype"] 41 | 42 | 43 | 44 | 45 | Service Account Permission Probs 46 | 47 | index=_internal sourcetype=splunkd "Could not find object id=ctf_answers" 48 | 49 | 50 | 51 | ["host","source","sourcetype"] 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | Splunk and CTF User Analysis 67 | 68 | 69 | |rest /services/authentication/users splunk_server=local | rename title as "Splunk User" | append [inputlookup ctf_users | rename Username as "CTF User"| fields "CTF User" ] | table "Splunk User" "CTF User" roles 70 | 1 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 |
80 |
81 |
82 |
-------------------------------------------------------------------------------- /default/data/ui/views/somafm_music_to_hack_by.xml: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 |
6 | 7 |
8 | 9 |
10 |
-------------------------------------------------------------------------------- /default/indexes.conf: -------------------------------------------------------------------------------- 1 | [scoreboard_admin] 2 | coldPath = $SPLUNK_DB/scoreboard_admin/colddb 3 | enableDataIntegrityControl = 0 4 | enableTsidxReduction = 0 5 | homePath = $SPLUNK_DB/scoreboard_admin/db 6 | maxTotalDataSizeMB = 512000 7 | thawedPath = $SPLUNK_DB/scoreboard_admin/thaweddb 8 | 9 | [scoreboard_admin_kv] 10 | coldPath = $SPLUNK_DB/scoreboard_admin_kv/colddb 11 | enableDataIntegrityControl = 0 12 | enableTsidxReduction = 0 13 | homePath = $SPLUNK_DB/scoreboard_admin_kv/db 14 | maxTotalDataSizeMB = 512000 15 | thawedPath = $SPLUNK_DB/scoreboard_admin_kv/thaweddb 16 | -------------------------------------------------------------------------------- /default/inputs.conf: -------------------------------------------------------------------------------- 1 | [monitor://$SPLUNK_HOME/var/log/scoreboard/scoreboard_admin.log] 2 | disabled = false 3 | host = localhost 4 | index = scoreboard_admin 5 | sourcetype = scoreboard_admin 6 | crcSalt = -------------------------------------------------------------------------------- /default/limits.conf: -------------------------------------------------------------------------------- 1 | [kvstore] 2 | max_documents_per_batch_save = 10000 3 | -------------------------------------------------------------------------------- /default/macros.conf: -------------------------------------------------------------------------------- 1 | [stagecontent_v1] 2 | definition = stagecontent ctf_users_staged="https://splunk.box.com/shared/static/1ttu3eyb72tneugf35uq9rtyue0zcxhh.csv"\ 3 | ctf_questions_staged="https://splunk.box.com/shared/static/0qf13ry1l7p34yly0ov20upq4aj3bdx7.csv"\ 4 | ctf_answers_staged="https://splunk.box.com/shared/static/mhdzgy62t6lozn4lgbptpyk2j9l3m0pg.csv"\ 5 | ctf_hints_staged="https://splunk.box.com/shared/static/zykjy96qgq9tvmojidqhx57hhruk70k1.csv" 6 | iseval = 0 7 | -------------------------------------------------------------------------------- /default/props.conf: -------------------------------------------------------------------------------- 1 | [scoreboard_admin] 2 | TIME_PREFIX = ^ 3 | TIME_FORMAT=%Y-%m-%d %H:%M:%S 4 | MAX_TIMESTAMP_LOOKAHEAD=25 5 | DATETIME_CONFIG = 6 | NO_BINARY_CHECK = true 7 | category = Custom 8 | pulldown_type = true 9 | -------------------------------------------------------------------------------- /default/transforms.conf: -------------------------------------------------------------------------------- 1 | [ctf_answers] 2 | collection = ctf_answers 3 | external_type = kvstore 4 | fields_list = Number, Answer 5 | 6 | [ctf_hints] 7 | collection = ctf_hints 8 | external_type = kvstore 9 | fields_list = Number, Hint, HintNumber, HintCost 10 | 11 | [whoisLookup] 12 | external_cmd = whois_lookup.py ip whois 13 | external_type = python 14 | fields_list = ip, whois 15 | 16 | [whoisLookupRedis] 17 | external_cmd = whois_redis_lookup.py ip whois 18 | external_type = python 19 | fields_list = ip, whois 20 | 21 | [currentscore] 22 | batch_index_query = 0 23 | case_sensitive_match = 1 24 | filename = currentscore.csv 25 | -------------------------------------------------------------------------------- /lookups/ctf_answers_sample.csv: -------------------------------------------------------------------------------- 1 | Answer,Number 2 | splunk,1 3 | blue,100 4 | 42,101 -------------------------------------------------------------------------------- /lookups/ctf_badge_entitlements_sample.csv: -------------------------------------------------------------------------------- 1 | user,BadgeNumber 2 | user1,1 3 | user1,2 4 | user2,1 5 | user3,2 -------------------------------------------------------------------------------- /lookups/ctf_badges_sample.csv: -------------------------------------------------------------------------------- 1 | _user,BadgeNumber,BadgeName,BadgeDescription,BadgeURL,BadgeType,BadgeTrigger 2 | nobody,1,Fireball,Awarded to all members of the team that correctly answers the first 1K point question of the event.,/static/app/SA-ctf_scoreboard/ebadges/Fireball_ebadge.jpg,awarded, 3 | nobody,2,Big Dog,"Awarded to all members of a team that reaches 10,000 points during an event.",/static/app/SA-ctf_scoreboard/ebadges/Dog10kPts_ebadge.jpg,awarded, 4 | -------------------------------------------------------------------------------- /lookups/ctf_eulas_sample.csv: -------------------------------------------------------------------------------- 1 | EulaId,EulaName,EulaDefault,EulaContent 2 | 1,"Sample EULA",1,"This is the sample user agreement for the CTF. By clicking 'Accept', you agree to follow the rules and have loads of fun." 3 | -------------------------------------------------------------------------------- /lookups/ctf_hint_entitlements_sample.csv: -------------------------------------------------------------------------------- 1 | user,HintNumber,Number 2 | user1,1,1 3 | user2,1,1 4 | user1,1,100 5 | user3,2,100 6 | user2,1,100 -------------------------------------------------------------------------------- /lookups/ctf_hints_sample.csv: -------------------------------------------------------------------------------- 1 | HintNumber,Number,Hint,HintCost 2 | 1,1,It rhymes with Skunk!,5 3 | 1,100,If the answer were expressed as a web safe color it'd be: #0000ff,25 4 | 2,100,Its plural form is also a musical genre.,25 5 | -------------------------------------------------------------------------------- /lookups/ctf_questions_sample.csv: -------------------------------------------------------------------------------- 1 | Question,EndTime,BasePoints,Number,StartTime,AdditionalBonusPoints,AdditionalBonusInstructions 2 | This is a simple question to get you familiar with submitting answers. What is the name of the company that makes the software that you are using for this competition? Just a six-letter word with no punctuation.,1893456000,50,1,1,5,For 5 points enter the search that helped you answer this question. 3 | What's my favorite color?,1893456000,500,100,1 4 | "What's the answer to the ultimate question of life, the universe and everything?",1893456000,1000,101,1,10,For 10 points enter the search that helped you answer this question. -------------------------------------------------------------------------------- /lookups/ctf_users_sample.csv: -------------------------------------------------------------------------------- 1 | Password,Event,DisplayUsername,Username,ScoringUrl,SearchUrl,Email,Team 2 | ,sample_shindig,Tommy Tiertwo,user1,https://localhost:8000,https://localhost:8000,,BOTS slayer 3 | ,sample_shindig,Tammy Tierthree,user2,https://localhost:8000,https://localhost:8000,,Slayer haters 4 | ,sample_shindig,Ronnie Responder,user3,https://localhost:8000,https://localhost:8000,,Slayer haters 5 | ,sample_shindig,Sammy Soclead,user4,https://localhost:8000,https://localhost:8000,,"" 6 | --------------------------------------------------------------------------------