##// END OF EJS Templates
- Version estable del proyecto agregando las graficas del overjro.
jsalyrosas -
r207:208
parent child
Show More

The requested changes are too big and content was truncated. Show full diff

1 NO CONTENT: new file 10644
@@ -0,0 +1,165
1 # Django settings for abs_webapp_dev project.
No newline at end of file
2
No newline at end of file
3 import os, sys
No newline at end of file
4 PROJECT_DIR = os.path.split(os.path.dirname(__file__))[0]
No newline at end of file
5 API_DIR = "/home/dev/workspace/absclient"
No newline at end of file
6 OVERJRO_DIR = "/home/dev/workspace/weboverjro"
No newline at end of file
7 sys.path.append(API_DIR)
No newline at end of file
8 sys.path.append(OVERJRO_DIR)
No newline at end of file
9
No newline at end of file
10 DEBUG = True
No newline at end of file
11 TEMPLATE_DEBUG = DEBUG
No newline at end of file
12
No newline at end of file
13 ADMINS = (
No newline at end of file
14 # ('Your Name', 'your_email@example.com'),
No newline at end of file
15 )
No newline at end of file
16
No newline at end of file
17 MANAGERS = ADMINS
No newline at end of file
18
No newline at end of file
19 DATABASES = {
No newline at end of file
20 'default': {
No newline at end of file
21 'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
No newline at end of file
22 'NAME': 'db_jrowebapp_dev', # Or path to database file if using sqlite3.
No newline at end of file
23 'USER': 'abscontrol', # Not used with sqlite3.
No newline at end of file
24 'PASSWORD': 'abscontrol', # Not used with sqlite3.
No newline at end of file
25 'HOST': 'localhost', # Set to empty string for localhost. Not used with sqlite3.
No newline at end of file
26 'PORT': '3306', # Set to empty string for default. Not used with sqlite3.
No newline at end of file
27 }
No newline at end of file
28 }
No newline at end of file
29
No newline at end of file
30 # Local time zone for this installation. Choices can be found here:
No newline at end of file
31 # http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
No newline at end of file
32 # although not all choices may be available on all operating systems.
No newline at end of file
33 # In a Windows environment this must be set to your system time zone.
No newline at end of file
34 TIME_ZONE = 'America/Lima'
No newline at end of file
35
No newline at end of file
36 # Language code for this installation. All choices can be found here:
No newline at end of file
37 # http://www.i18nguy.com/unicode/language-identifiers.html
No newline at end of file
38 LANGUAGE_CODE = 'en-us'
No newline at end of file
39
No newline at end of file
40 SITE_ID = 1
No newline at end of file
41
No newline at end of file
42 # If you set this to False, Django will make some optimizations so as not
No newline at end of file
43 # to load the internationalization machinery.
No newline at end of file
44 USE_I18N = True
No newline at end of file
45
No newline at end of file
46 # If you set this to False, Django will not format dates, numbers and
No newline at end of file
47 # calendars according to the current locale.
No newline at end of file
48 USE_L10N = True
No newline at end of file
49
No newline at end of file
50 # If you set this to False, Django will not use timezone-aware datetimes.
No newline at end of file
51 USE_TZ = True
No newline at end of file
52
No newline at end of file
53 # Absolute filesystem path to the directory that will hold user-uploaded files.
No newline at end of file
54 # Example: "/home/media/media.lawrence.com/media/"
No newline at end of file
55 MEDIA_ROOT = os.path.join(PROJECT_DIR, 'media').replace('\\', '/')
No newline at end of file
56
No newline at end of file
57 # URL that handles the media served from MEDIA_ROOT. Make sure to use a
No newline at end of file
58 # trailing slash.
No newline at end of file
59 # Examples: "http://media.lawrence.com/media/", "http://example.com/media/"
No newline at end of file
60 MEDIA_URL = '/media/'
No newline at end of file
61
No newline at end of file
62 # Absolute path to the directory static files should be collected to.
No newline at end of file
63 # Don't put anything in this directory yourself; store your static files
No newline at end of file
64 # in apps' "static/" subdirectories and in STATICFILES_DIRS.
No newline at end of file
65 # Example: "/home/media/media.lawrence.com/static/"
No newline at end of file
66 #STATIC_ROOT = os.path.join(PROJECT_DIR, 'static-serve').replace('\\', '/'),
No newline at end of file
67 STATIC_ROOT = ''
No newline at end of file
68
No newline at end of file
69 # URL prefix for static files.
No newline at end of file
70 # Example: "http://media.lawrence.com/static/"
No newline at end of file
71 STATIC_URL = '/static/'
No newline at end of file
72
No newline at end of file
73 # Additional locations of static files
No newline at end of file
74 STATICFILES_DIRS = (
No newline at end of file
75 # Put strings here, like "/home/html/static" or "C:/www/django/static".
No newline at end of file
76 # Always use forward slashes, even on Windows.
No newline at end of file
77 # Don't forget to use absolute paths, not relative paths.
No newline at end of file
78 #os.path.join(PROJECT_DIR, "static").replace('\\', '/'),
No newline at end of file
79 ("static", os.path.join(PROJECT_DIR, "static").replace('\\', '/')),
No newline at end of file
80 )
No newline at end of file
81
No newline at end of file
82 # List of finder classes that know how to find static files in
No newline at end of file
83 # various locations.
No newline at end of file
84 STATICFILES_FINDERS = (
No newline at end of file
85 'django.contrib.staticfiles.finders.FileSystemFinder',
No newline at end of file
86 'django.contrib.staticfiles.finders.AppDirectoriesFinder',
No newline at end of file
87 # 'django.contrib.staticfiles.finders.DefaultStorageFinder',
No newline at end of file
88 )
No newline at end of file
89
No newline at end of file
90 # Make this unique, and don't share it with anybody.
No newline at end of file
91 SECRET_KEY = '=^abu)gd=)7hf#rme_vw=tv!bdh7+tts*^&)h(n=7@7(9#__@e'
No newline at end of file
92
No newline at end of file
93 # List of callables that know how to import templates from various sources.
No newline at end of file
94 TEMPLATE_LOADERS = (
No newline at end of file
95 'django.template.loaders.filesystem.Loader',
No newline at end of file
96 'django.template.loaders.app_directories.Loader',
No newline at end of file
97 # 'django.template.loaders.eggs.Loader',
No newline at end of file
98 )
No newline at end of file
99
No newline at end of file
100 MIDDLEWARE_CLASSES = (
No newline at end of file
101 'django.middleware.common.CommonMiddleware',
No newline at end of file
102 'django.contrib.sessions.middleware.SessionMiddleware',
No newline at end of file
103 'django.middleware.csrf.CsrfViewMiddleware',
No newline at end of file
104 'django.contrib.auth.middleware.AuthenticationMiddleware',
No newline at end of file
105 'django.contrib.messages.middleware.MessageMiddleware',
No newline at end of file
106 # Uncomment the next line for simple clickjacking protection:
No newline at end of file
107 # 'django.middleware.clickjacking.XFrameOptionsMiddleware',
No newline at end of file
108 )
No newline at end of file
109
No newline at end of file
110 ROOT_URLCONF = 'abs_webapp_dev.urls'
No newline at end of file
111
No newline at end of file
112 # Python dotted path to the WSGI application used by Django's runserver.
No newline at end of file
113 WSGI_APPLICATION = 'abs_webapp_dev.wsgi.application'
No newline at end of file
114
No newline at end of file
115 TEMPLATE_DIRS = (
No newline at end of file
116 # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
No newline at end of file
117 # Always use forward slashes, even on Windows.
No newline at end of file
118 # Don't forget to use absolute paths, not relative paths.
No newline at end of file
119 os.path.join(PROJECT_DIR, "templates").replace('\\', '/'),
No newline at end of file
120 )
No newline at end of file
121
No newline at end of file
122 INSTALLED_APPS = (
No newline at end of file
123 'django.contrib.auth',
No newline at end of file
124 'django.contrib.contenttypes',
No newline at end of file
125 'django.contrib.sessions',
No newline at end of file
126 'django.contrib.sites',
No newline at end of file
127 'django.contrib.messages',
No newline at end of file
128 'django.contrib.staticfiles',
No newline at end of file
129 # Uncomment the next line to enable the admin:
No newline at end of file
130 'django.contrib.admin',
No newline at end of file
131 # Uncomment the next line to enable admin documentation:
No newline at end of file
132 # 'django.contrib.admindocs',
No newline at end of file
133 'abscontrol',
No newline at end of file
134 'audit',
No newline at end of file
135 'south',
No newline at end of file
136 )
No newline at end of file
137
No newline at end of file
138 # A sample logging configuration. The only tangible logging
No newline at end of file
139 # performed by this configuration is to send an email to
No newline at end of file
140 # the site admins on every HTTP 500 error when DEBUG=False.
No newline at end of file
141 # See http://docs.djangoproject.com/en/dev/topics/logging for
No newline at end of file
142 # more details on how to customize your logging configuration.
No newline at end of file
143 LOGGING = {
No newline at end of file
144 'version': 1,
No newline at end of file
145 'disable_existing_loggers': False,
No newline at end of file
146 'filters': {
No newline at end of file
147 'require_debug_false': {
No newline at end of file
148 '()': 'django.utils.log.RequireDebugFalse'
No newline at end of file
149 }
No newline at end of file
150 },
No newline at end of file
151 'handlers': {
No newline at end of file
152 'mail_admins': {
No newline at end of file
153 'level': 'ERROR',
No newline at end of file
154 'filters': ['require_debug_false'],
No newline at end of file
155 'class': 'django.utils.log.AdminEmailHandler'
No newline at end of file
156 }
No newline at end of file
157 },
No newline at end of file
158 'loggers': {
No newline at end of file
159 'django.request': {
No newline at end of file
160 'handlers': ['mail_admins'],
No newline at end of file
161 'level': 'ERROR',
No newline at end of file
162 'propagate': True,
No newline at end of file
163 },
No newline at end of file
164 }
No newline at end of file
165 } No newline at end of file
@@ -0,0 +1,27
1 from django.conf.urls import patterns, include, url
No newline at end of file
2 from django.conf import settings
No newline at end of file
3
No newline at end of file
4 # Uncomment the next two lines to enable the admin:
No newline at end of file
5 from django.contrib import admin
No newline at end of file
6 admin.autodiscover()
No newline at end of file
7
No newline at end of file
8 urlpatterns = patterns('',
No newline at end of file
9 # Examples:
No newline at end of file
10 # url(r'^$', 'abs_webapp_dev.views.home', name='home'),
No newline at end of file
11 # url(r'^abs_webapp_dev/', include('abs_webapp_dev.foo.urls')),
No newline at end of file
12
No newline at end of file
13 # Uncomment the admin/doc line below to enable admin documentation:
No newline at end of file
14 # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
No newline at end of file
15
No newline at end of file
16 # Uncomment the next line to enable the admin:
No newline at end of file
17 url(r'^admin/', include(admin.site.urls)),
No newline at end of file
18 url(r'^abscontrol/', include('abscontrol.urls')),
No newline at end of file
19 url(r'^accounts/login/$', 'django.contrib.auth.views.login'),
No newline at end of file
20 url(r'^$', 'abscontrol.views.index'),
No newline at end of file
21
No newline at end of file
22 )
No newline at end of file
23
No newline at end of file
24 if settings.DEBUG:
No newline at end of file
25 urlpatterns = patterns('',
No newline at end of file
26 url(r'^media/(?P<path>.*)$', 'django.views.static.serve',{'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),
No newline at end of file
27 ) + urlpatterns No newline at end of file
@@ -0,0 +1,28
1 """
No newline at end of file
2 WSGI config for abs_webapp_dev project.
No newline at end of file
3
No newline at end of file
4 This module contains the WSGI application used by Django's development server
No newline at end of file
5 and any production WSGI deployments. It should expose a module-level variable
No newline at end of file
6 named ``application``. Django's ``runserver`` and ``runfcgi`` commands discover
No newline at end of file
7 this application via the ``WSGI_APPLICATION`` setting.
No newline at end of file
8
No newline at end of file
9 Usually you will have the standard Django WSGI application here, but it also
No newline at end of file
10 might make sense to replace the whole Django WSGI application with a custom one
No newline at end of file
11 that later delegates to the Django one. For example, you could introduce WSGI
No newline at end of file
12 middleware here, or combine a Django application with an application of another
No newline at end of file
13 framework.
No newline at end of file
14
No newline at end of file
15 """
No newline at end of file
16 import os
No newline at end of file
17
No newline at end of file
18 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "abs_webapp_dev.settings")
No newline at end of file
19
No newline at end of file
20 # This application object is used by any WSGI server configured to use this
No newline at end of file
21 # file. This includes Django's development server, if the WSGI_APPLICATION
No newline at end of file
22 # setting points here.
No newline at end of file
23 from django.core.wsgi import get_wsgi_application
No newline at end of file
24 application = get_wsgi_application()
No newline at end of file
25
No newline at end of file
26 # Apply WSGI middleware here.
No newline at end of file
27 # from helloworld.wsgi import HelloWorldApplication
No newline at end of file
28 # application = HelloWorldApplication(application) No newline at end of file
1 NO CONTENT: new file 10644
@@ -0,0 +1,45
1 from abscontrol.models import Profile, Pattern, AntennaUp, AntennaDown
No newline at end of file
2 from django.contrib import admin
No newline at end of file
3
No newline at end of file
4 class AntennaUpInline(admin.StackedInline):
No newline at end of file
5 model = AntennaUp
No newline at end of file
6
No newline at end of file
7 class AntennaDownInline(admin.StackedInline):
No newline at end of file
8 model = AntennaDown
No newline at end of file
9
No newline at end of file
10 class PatternAdmin(admin.ModelAdmin):
No newline at end of file
11 fieldsets = [
No newline at end of file
12 (None, {'fields': ['value']}),
No newline at end of file
13 ('Date information', {'fields': ['date_create', 'date_modified'], 'classes': ['collapse']}),
No newline at end of file
14 ]
No newline at end of file
15 inlines = [AntennaUpInline]
No newline at end of file
16 inlines = [AntennaDownInline]
No newline at end of file
17
No newline at end of file
18 class PatternInline(admin.StackedInline):
No newline at end of file
19 model = Pattern
No newline at end of file
20 readonly_fields = ['date_create', 'date_modified', 'hits']
No newline at end of file
21
No newline at end of file
22 fieldsets = [
No newline at end of file
23 (None, {'fields': ['value']}),
No newline at end of file
24 ('Date information', {'fields': [('date_create', 'date_modified')], 'classes': ['collapse']}),
No newline at end of file
25 ('State', {'fields': ['hits', 'state'], 'classes': ['collapse', 'wide', 'extrapretty']}),
No newline at end of file
26 ]
No newline at end of file
27 extra = 0
No newline at end of file
28
No newline at end of file
29 class ProfileAdmin(admin.ModelAdmin):
No newline at end of file
30 list_display = ('name', 'date_create','hits','state')
No newline at end of file
31 list_filter = ['state','date_create','date_modified']
No newline at end of file
32 date_hierarchy = 'date_create'
No newline at end of file
33 readonly_fields = ['date_create', 'date_modified','hits']
No newline at end of file
34 fieldsets = [
No newline at end of file
35 (None, {'fields': ['name']}),
No newline at end of file
36 ('Date information', {'fields': [('date_create', 'date_modified')], 'classes': ['collapse']}),
No newline at end of file
37 ('State', {'fields': ['hits', 'state'], 'classes': ['collapse']}),
No newline at end of file
38 ]
No newline at end of file
39 inlines = [PatternInline]
No newline at end of file
40
No newline at end of file
41
No newline at end of file
42 admin.site.register(Profile, ProfileAdmin)
No newline at end of file
43 #admin.site.register(Pattern, PatternAdmin)
No newline at end of file
44 #admin.site.register(AntennaUp)
No newline at end of file
45 #admin.site.register(AntennaDown) No newline at end of file
@@ -0,0 +1,131
1 # -*- coding: utf-8 -*-
No newline at end of file
2 import datetime
No newline at end of file
3 from south.db import db
No newline at end of file
4 from south.v2 import SchemaMigration
No newline at end of file
5 from django.db import models
No newline at end of file
6
No newline at end of file
7
No newline at end of file
8 class Migration(SchemaMigration):
No newline at end of file
9
No newline at end of file
10 def forwards(self, orm):
No newline at end of file
11 # Adding model 'Profile'
No newline at end of file
12 db.create_table('abs_profile_antenna', (
No newline at end of file
13 ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
No newline at end of file
14 ('name', self.gf('django.db.models.fields.CharField')(max_length=250)),
No newline at end of file
15 ('date_create', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
No newline at end of file
16 ('date_modified', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
No newline at end of file
17 ('hits', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
No newline at end of file
18 ('state', self.gf('django.db.models.fields.PositiveSmallIntegerField')(default=0)),
No newline at end of file
19 ))
No newline at end of file
20 db.send_create_signal('abscontrol', ['Profile'])
No newline at end of file
21
No newline at end of file
22 # Adding model 'Pattern'
No newline at end of file
23 db.create_table('abs_pattern_antenna', (
No newline at end of file
24 ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
No newline at end of file
25 ('profile', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['abscontrol.Profile'])),
No newline at end of file
26 ('value', self.gf('django.db.models.fields.PositiveIntegerField')()),
No newline at end of file
27 ('date_create', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
No newline at end of file
28 ('date_modified', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
No newline at end of file
29 ('hits', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
No newline at end of file
30 ('state', self.gf('django.db.models.fields.PositiveSmallIntegerField')(default=1)),
No newline at end of file
31 ))
No newline at end of file
32 db.send_create_signal('abscontrol', ['Pattern'])
No newline at end of file
33
No newline at end of file
34 # Adding model 'AntennaUp'
No newline at end of file
35 db.create_table('abs_antenna_up', (
No newline at end of file
36 ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
No newline at end of file
37 ('pattern', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['abscontrol.Pattern'])),
No newline at end of file
38 ('value', self.gf('django.db.models.fields.TextField')()),
No newline at end of file
39 ('tx', self.gf('django.db.models.fields.TextField')(null=True)),
No newline at end of file
40 ('rx', self.gf('django.db.models.fields.TextField')(null=True)),
No newline at end of file
41 ('ues', self.gf('django.db.models.fields.CharField')(max_length=120, null=True)),
No newline at end of file
42 ('only_rx', self.gf('django.db.models.fields.PositiveSmallIntegerField')(default=0)),
No newline at end of file
43 ('date_create', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
No newline at end of file
44 ('date_modified', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
No newline at end of file
45 ('hits', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
No newline at end of file
46 ('state', self.gf('django.db.models.fields.PositiveSmallIntegerField')(default=1)),
No newline at end of file
47 ))
No newline at end of file
48 db.send_create_signal('abscontrol', ['AntennaUp'])
No newline at end of file
49
No newline at end of file
50 # Adding model 'AntennaDown'
No newline at end of file
51 db.create_table('abs_antenna_down', (
No newline at end of file
52 ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
No newline at end of file
53 ('pattern', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['abscontrol.Pattern'])),
No newline at end of file
54 ('value', self.gf('django.db.models.fields.TextField')()),
No newline at end of file
55 ('tx', self.gf('django.db.models.fields.TextField')(null=True)),
No newline at end of file
56 ('rx', self.gf('django.db.models.fields.TextField')(null=True)),
No newline at end of file
57 ('ues', self.gf('django.db.models.fields.CharField')(max_length=120, null=True)),
No newline at end of file
58 ('only_rx', self.gf('django.db.models.fields.PositiveSmallIntegerField')(default=0)),
No newline at end of file
59 ('date_create', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
No newline at end of file
60 ('date_modified', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
No newline at end of file
61 ('hits', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
No newline at end of file
62 ('state', self.gf('django.db.models.fields.PositiveSmallIntegerField')(default=1)),
No newline at end of file
63 ))
No newline at end of file
64 db.send_create_signal('abscontrol', ['AntennaDown'])
No newline at end of file
65
No newline at end of file
66
No newline at end of file
67 def backwards(self, orm):
No newline at end of file
68 # Deleting model 'Profile'
No newline at end of file
69 db.delete_table('abs_profile_antenna')
No newline at end of file
70
No newline at end of file
71 # Deleting model 'Pattern'
No newline at end of file
72 db.delete_table('abs_pattern_antenna')
No newline at end of file
73
No newline at end of file
74 # Deleting model 'AntennaUp'
No newline at end of file
75 db.delete_table('abs_antenna_up')
No newline at end of file
76
No newline at end of file
77 # Deleting model 'AntennaDown'
No newline at end of file
78 db.delete_table('abs_antenna_down')
No newline at end of file
79
No newline at end of file
80
No newline at end of file
81 models = {
No newline at end of file
82 'abscontrol.antennadown': {
No newline at end of file
83 'Meta': {'object_name': 'AntennaDown', 'db_table': "'abs_antenna_down'"},
No newline at end of file
84 'date_create': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
No newline at end of file
85 'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
No newline at end of file
86 'hits': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
No newline at end of file
87 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
No newline at end of file
88 'only_rx': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
No newline at end of file
89 'pattern': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['abscontrol.Pattern']"}),
No newline at end of file
90 'rx': ('django.db.models.fields.TextField', [], {'null': 'True'}),
No newline at end of file
91 'state': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
No newline at end of file
92 'tx': ('django.db.models.fields.TextField', [], {'null': 'True'}),
No newline at end of file
93 'ues': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True'}),
No newline at end of file
94 'value': ('django.db.models.fields.TextField', [], {})
No newline at end of file
95 },
No newline at end of file
96 'abscontrol.antennaup': {
No newline at end of file
97 'Meta': {'object_name': 'AntennaUp', 'db_table': "'abs_antenna_up'"},
No newline at end of file
98 'date_create': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
No newline at end of file
99 'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
No newline at end of file
100 'hits': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
No newline at end of file
101 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
No newline at end of file
102 'only_rx': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
No newline at end of file
103 'pattern': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['abscontrol.Pattern']"}),
No newline at end of file
104 'rx': ('django.db.models.fields.TextField', [], {'null': 'True'}),
No newline at end of file
105 'state': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
No newline at end of file
106 'tx': ('django.db.models.fields.TextField', [], {'null': 'True'}),
No newline at end of file
107 'ues': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True'}),
No newline at end of file
108 'value': ('django.db.models.fields.TextField', [], {})
No newline at end of file
109 },
No newline at end of file
110 'abscontrol.pattern': {
No newline at end of file
111 'Meta': {'object_name': 'Pattern', 'db_table': "'abs_pattern_antenna'"},
No newline at end of file
112 'date_create': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
No newline at end of file
113 'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
No newline at end of file
114 'hits': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
No newline at end of file
115 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
No newline at end of file
116 'profile': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['abscontrol.Profile']"}),
No newline at end of file
117 'state': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
No newline at end of file
118 'value': ('django.db.models.fields.PositiveIntegerField', [], {})
No newline at end of file
119 },
No newline at end of file
120 'abscontrol.profile': {
No newline at end of file
121 'Meta': {'object_name': 'Profile', 'db_table': "'abs_profile_antenna'"},
No newline at end of file
122 'date_create': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
No newline at end of file
123 'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
No newline at end of file
124 'hits': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
No newline at end of file
125 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
No newline at end of file
126 'name': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
No newline at end of file
127 'state': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'})
No newline at end of file
128 }
No newline at end of file
129 }
No newline at end of file
130
No newline at end of file
131 complete_apps = ['abscontrol'] No newline at end of file
@@ -0,0 +1,73
1 # -*- coding: utf-8 -*-
No newline at end of file
2 import datetime
No newline at end of file
3 from south.db import db
No newline at end of file
4 from south.v2 import SchemaMigration
No newline at end of file
5 from django.db import models
No newline at end of file
6
No newline at end of file
7
No newline at end of file
8 class Migration(SchemaMigration):
No newline at end of file
9
No newline at end of file
10 def forwards(self, orm):
No newline at end of file
11 # Adding field 'Profile.is_active'
No newline at end of file
12 db.add_column('abs_profile_antenna', 'is_active',
No newline at end of file
13 self.gf('django.db.models.fields.PositiveSmallIntegerField')(default=0),
No newline at end of file
14 keep_default=False)
No newline at end of file
15
No newline at end of file
16
No newline at end of file
17 def backwards(self, orm):
No newline at end of file
18 # Deleting field 'Profile.is_active'
No newline at end of file
19 db.delete_column('abs_profile_antenna', 'is_active')
No newline at end of file
20
No newline at end of file
21
No newline at end of file
22 models = {
No newline at end of file
23 'abscontrol.antennadown': {
No newline at end of file
24 'Meta': {'object_name': 'AntennaDown', 'db_table': "'abs_antenna_down'"},
No newline at end of file
25 'date_create': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
No newline at end of file
26 'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
No newline at end of file
27 'hits': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
No newline at end of file
28 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
No newline at end of file
29 'only_rx': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
No newline at end of file
30 'pattern': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['abscontrol.Pattern']"}),
No newline at end of file
31 'rx': ('django.db.models.fields.TextField', [], {'null': 'True'}),
No newline at end of file
32 'state': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
No newline at end of file
33 'tx': ('django.db.models.fields.TextField', [], {'null': 'True'}),
No newline at end of file
34 'ues': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True'}),
No newline at end of file
35 'value': ('django.db.models.fields.TextField', [], {})
No newline at end of file
36 },
No newline at end of file
37 'abscontrol.antennaup': {
No newline at end of file
38 'Meta': {'object_name': 'AntennaUp', 'db_table': "'abs_antenna_up'"},
No newline at end of file
39 'date_create': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
No newline at end of file
40 'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
No newline at end of file
41 'hits': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
No newline at end of file
42 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
No newline at end of file
43 'only_rx': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
No newline at end of file
44 'pattern': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['abscontrol.Pattern']"}),
No newline at end of file
45 'rx': ('django.db.models.fields.TextField', [], {'null': 'True'}),
No newline at end of file
46 'state': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
No newline at end of file
47 'tx': ('django.db.models.fields.TextField', [], {'null': 'True'}),
No newline at end of file
48 'ues': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True'}),
No newline at end of file
49 'value': ('django.db.models.fields.TextField', [], {})
No newline at end of file
50 },
No newline at end of file
51 'abscontrol.pattern': {
No newline at end of file
52 'Meta': {'object_name': 'Pattern', 'db_table': "'abs_pattern_antenna'"},
No newline at end of file
53 'date_create': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
No newline at end of file
54 'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
No newline at end of file
55 'hits': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
No newline at end of file
56 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
No newline at end of file
57 'profile': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['abscontrol.Profile']"}),
No newline at end of file
58 'state': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
No newline at end of file
59 'value': ('django.db.models.fields.PositiveIntegerField', [], {})
No newline at end of file
60 },
No newline at end of file
61 'abscontrol.profile': {
No newline at end of file
62 'Meta': {'object_name': 'Profile', 'db_table': "'abs_profile_antenna'"},
No newline at end of file
63 'date_create': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
No newline at end of file
64 'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
No newline at end of file
65 'hits': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
No newline at end of file
66 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
No newline at end of file
67 'is_active': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
No newline at end of file
68 'name': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
No newline at end of file
69 'state': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'})
No newline at end of file
70 }
No newline at end of file
71 }
No newline at end of file
72
No newline at end of file
73 complete_apps = ['abscontrol'] No newline at end of file
@@ -0,0 +1,74
1 # -*- coding: utf-8 -*-
No newline at end of file
2 import datetime
No newline at end of file
3 from south.db import db
No newline at end of file
4 from south.v2 import SchemaMigration
No newline at end of file
5 from django.db import models
No newline at end of file
6
No newline at end of file
7
No newline at end of file
8 class Migration(SchemaMigration):
No newline at end of file
9
No newline at end of file
10 def forwards(self, orm):
No newline at end of file
11 # Adding field 'Pattern.is_active'
No newline at end of file
12 db.add_column('abs_pattern_antenna', 'is_active',
No newline at end of file
13 self.gf('django.db.models.fields.PositiveSmallIntegerField')(default=0),
No newline at end of file
14 keep_default=False)
No newline at end of file
15
No newline at end of file
16
No newline at end of file
17 def backwards(self, orm):
No newline at end of file
18 # Deleting field 'Pattern.is_active'
No newline at end of file
19 db.delete_column('abs_pattern_antenna', 'is_active')
No newline at end of file
20
No newline at end of file
21
No newline at end of file
22 models = {
No newline at end of file
23 'abscontrol.antennadown': {
No newline at end of file
24 'Meta': {'object_name': 'AntennaDown', 'db_table': "'abs_antenna_down'"},
No newline at end of file
25 'date_create': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
No newline at end of file
26 'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
No newline at end of file
27 'hits': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
No newline at end of file
28 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
No newline at end of file
29 'only_rx': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
No newline at end of file
30 'pattern': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['abscontrol.Pattern']"}),
No newline at end of file
31 'rx': ('django.db.models.fields.TextField', [], {'null': 'True'}),
No newline at end of file
32 'state': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
No newline at end of file
33 'tx': ('django.db.models.fields.TextField', [], {'null': 'True'}),
No newline at end of file
34 'ues': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True'}),
No newline at end of file
35 'value': ('django.db.models.fields.TextField', [], {})
No newline at end of file
36 },
No newline at end of file
37 'abscontrol.antennaup': {
No newline at end of file
38 'Meta': {'object_name': 'AntennaUp', 'db_table': "'abs_antenna_up'"},
No newline at end of file
39 'date_create': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
No newline at end of file
40 'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
No newline at end of file
41 'hits': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
No newline at end of file
42 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
No newline at end of file
43 'only_rx': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
No newline at end of file
44 'pattern': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['abscontrol.Pattern']"}),
No newline at end of file
45 'rx': ('django.db.models.fields.TextField', [], {'null': 'True'}),
No newline at end of file
46 'state': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
No newline at end of file
47 'tx': ('django.db.models.fields.TextField', [], {'null': 'True'}),
No newline at end of file
48 'ues': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True'}),
No newline at end of file
49 'value': ('django.db.models.fields.TextField', [], {})
No newline at end of file
50 },
No newline at end of file
51 'abscontrol.pattern': {
No newline at end of file
52 'Meta': {'object_name': 'Pattern', 'db_table': "'abs_pattern_antenna'"},
No newline at end of file
53 'date_create': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
No newline at end of file
54 'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
No newline at end of file
55 'hits': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
No newline at end of file
56 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
No newline at end of file
57 'is_active': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
No newline at end of file
58 'profile': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['abscontrol.Profile']"}),
No newline at end of file
59 'state': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
No newline at end of file
60 'value': ('django.db.models.fields.PositiveIntegerField', [], {})
No newline at end of file
61 },
No newline at end of file
62 'abscontrol.profile': {
No newline at end of file
63 'Meta': {'object_name': 'Profile', 'db_table': "'abs_profile_antenna'"},
No newline at end of file
64 'date_create': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
No newline at end of file
65 'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
No newline at end of file
66 'hits': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
No newline at end of file
67 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
No newline at end of file
68 'is_active': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
No newline at end of file
69 'name': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
No newline at end of file
70 'state': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'})
No newline at end of file
71 }
No newline at end of file
72 }
No newline at end of file
73
No newline at end of file
74 complete_apps = ['abscontrol'] No newline at end of file
1 NO CONTENT: new file 10644
@@ -0,0 +1,81
1 from django.db import models
No newline at end of file
2
No newline at end of file
3 class Profile(models.Model):
No newline at end of file
4
No newline at end of file
5 name = models.CharField(max_length=250)
No newline at end of file
6 date_create = models.DateTimeField(auto_now_add=True)
No newline at end of file
7 date_modified = models.DateTimeField(auto_now=True)
No newline at end of file
8 hits = models.PositiveIntegerField(default=0)
No newline at end of file
9 state = models.PositiveSmallIntegerField(default=0)
No newline at end of file
10 is_active = models.PositiveSmallIntegerField(default=0)
No newline at end of file
11
No newline at end of file
12 class Meta:
No newline at end of file
13 db_table = "abs_profile_antenna"
No newline at end of file
14
No newline at end of file
15 def __unicode__(self):
No newline at end of file
16 return u'%s' % self.name
No newline at end of file
17
No newline at end of file
18 class Pattern(models.Model):
No newline at end of file
19
No newline at end of file
20 profile = models.ForeignKey(Profile)
No newline at end of file
21 value = models.PositiveIntegerField()
No newline at end of file
22 date_create = models.DateTimeField(auto_now_add=True)
No newline at end of file
23 date_modified = models.DateTimeField(auto_now=True)
No newline at end of file
24 hits = models.PositiveIntegerField(default=0)
No newline at end of file
25 state = models.PositiveSmallIntegerField(default=1)
No newline at end of file
26 is_active = models.PositiveSmallIntegerField(default=0)
No newline at end of file
27
No newline at end of file
28 class Meta:
No newline at end of file
29 db_table = "abs_pattern_antenna"
No newline at end of file
30
No newline at end of file
31 def __unicode__(self):
No newline at end of file
32 return u'%s' % self.value
No newline at end of file
33
No newline at end of file
34
No newline at end of file
35 class AntennaUp(models.Model):
No newline at end of file
36
No newline at end of file
37 pattern = models.ForeignKey(Pattern)
No newline at end of file
38 value = models.TextField()
No newline at end of file
39 tx = models.TextField(null=True)
No newline at end of file
40 rx = models.TextField(null=True)
No newline at end of file
41 ues = models.CharField(max_length=120, null=True)
No newline at end of file
42 only_rx = models.PositiveSmallIntegerField(default=0)
No newline at end of file
43 date_create = models.DateTimeField(auto_now_add=True)
No newline at end of file
44 date_modified = models.DateTimeField(auto_now=True)
No newline at end of file
45 hits = models.PositiveIntegerField(default=0)
No newline at end of file
46 state = models.PositiveSmallIntegerField(default=1)
No newline at end of file
47
No newline at end of file
48 class Meta:
No newline at end of file
49 db_table = "abs_antenna_up"
No newline at end of file
50
No newline at end of file
51 def __unicode__(self):
No newline at end of file
52 return u'%s' % self.value
No newline at end of file
53
No newline at end of file
54
No newline at end of file
55 class AntennaDown(models.Model):
No newline at end of file
56
No newline at end of file
57 pattern = models.ForeignKey(Pattern)
No newline at end of file
58 value = models.TextField()
No newline at end of file
59 tx = models.TextField(null=True)
No newline at end of file
60 rx = models.TextField(null=True)
No newline at end of file
61 ues = models.CharField(max_length=120, null=True)
No newline at end of file
62 only_rx = models.PositiveSmallIntegerField(default=0)
No newline at end of file
63 date_create = models.DateTimeField(auto_now_add=True)
No newline at end of file
64 date_modified = models.DateTimeField(auto_now=True)
No newline at end of file
65 hits = models.PositiveIntegerField(default=0)
No newline at end of file
66 state = models.PositiveSmallIntegerField(default=1)
No newline at end of file
67
No newline at end of file
68 class Meta:
No newline at end of file
69 db_table = "abs_antenna_down"
No newline at end of file
70
No newline at end of file
71 def save(self, *args, **kwargs):
No newline at end of file
72 '''
No newline at end of file
73 if self.pk is None:
No newline at end of file
74 pass
No newline at end of file
75 else:
No newline at end of file
76 pass
No newline at end of file
77 '''
No newline at end of file
78 super(AntennaDown, self).save(*args, **kwargs)
No newline at end of file
79
No newline at end of file
80 def __unicode__(self):
No newline at end of file
81 return u'%s' % self.value No newline at end of file
@@ -0,0 +1,16
1 """
No newline at end of file
2 This file demonstrates writing tests using the unittest module. These will pass
No newline at end of file
3 when you run "manage.py test".
No newline at end of file
4
No newline at end of file
5 Replace this with more appropriate tests for your application.
No newline at end of file
6 """
No newline at end of file
7
No newline at end of file
8 from django.test import TestCase
No newline at end of file
9
No newline at end of file
10
No newline at end of file
11 class SimpleTest(TestCase):
No newline at end of file
12 def test_basic_addition(self):
No newline at end of file
13 """
No newline at end of file
14 Tests that 1 + 1 always equals 2.
No newline at end of file
15 """
No newline at end of file
16 self.assertEqual(1 + 1, 2) No newline at end of file
@@ -0,0 +1,28
1 from django.conf.urls import patterns, url
No newline at end of file
2
No newline at end of file
3 urlpatterns = patterns('abscontrol.views',
No newline at end of file
4 url(r'^$', 'index'),
No newline at end of file
5 url(r'^new/$', 'new'),
No newline at end of file
6 url(r'^save/$', 'save'),
No newline at end of file
7 url(r'^view/(?P<profile_id>\d+)/$', 'view'),
No newline at end of file
8 url(r'^edit/(?P<profile_id>\d+)/$', 'edit'),
No newline at end of file
9 url(r'^update/(?P<profile_id>\d+)/$', 'update'),
No newline at end of file
10 url(r'^upgrade/(?P<profile_id>\d+)/$', 'upgrade'),
No newline at end of file
11 url(r'^changeName/(?P<profile_id>\d+)/$', 'changeName'),
No newline at end of file
12 #url(r'^(?P<profile_id>\d+)/$', 'detail'),
No newline at end of file
13 url(r'^(?P<profile_id>\d+)/add/$', 'addPattern'),
No newline at end of file
14 url(r'^(?P<profile_id>\d+)/save/$', 'savePattern'),
No newline at end of file
15 url(r'^(?P<profile_id>\d+)/edit/(?P<pattern_id>\d+)/$', 'editPattern'),
No newline at end of file
16 url(r'^(?P<profile_id>\d+)/view/(?P<pattern_id>\d+)/$', 'viewPattern'),
No newline at end of file
17 url(r'^(?P<profile_id>\d+)/delete/(?P<pattern_id>\d+)/$', 'deletePattern'),
No newline at end of file
18 #url(r'^(?P<poll_id>\d+)/results/$', 'results'),
No newline at end of file
19 #url(r'^(?P<poll_id>\d+)/vote/$', 'vote'),
No newline at end of file
20 url(r'^import/$', 'importProfile'),
No newline at end of file
21 url(r'^upload/$', 'upload'),
No newline at end of file
22 #url(r'^saveImport/$', 'saveImport'),
No newline at end of file
23 url(r'^(?P<profile_id>\d+)/(?P<pattern_id>\d+)/overjroUp/(?P<antenna_id>\d+)/$', 'overJROUp'),
No newline at end of file
24 url(r'^(?P<profile_id>\d+)/(?P<pattern_id>\d+)/overjroDown/(?P<antenna_id>\d+)/$', 'overJRODown'),
No newline at end of file
25 url(r'^export/(?P<profile_id>\d+)/$', 'export'),
No newline at end of file
26 url(r'^send/(?P<profile_id>\d+)/$', 'send'),
No newline at end of file
27 url(r'^change/(?P<profile_id>\d+)/(?P<pattern_id>\d+)/$', 'changePattern'),
No newline at end of file
28 ) No newline at end of file
This diff has been collapsed as it changes many lines, (531 lines changed) Show them Hide them
@@ -0,0 +1,531
1 from django.shortcuts import render_to_response, redirect
No newline at end of file
2 from django.http import HttpResponse
No newline at end of file
3 from django.conf import settings
No newline at end of file
4 from django.utils.encoding import smart_str
No newline at end of file
5 from django.core.servers.basehttp import FileWrapper
No newline at end of file
6 import mimetypes
No newline at end of file
7 from django.contrib.auth.decorators import login_required
No newline at end of file
8 from django.template import RequestContext
No newline at end of file
9
No newline at end of file
10 from datetime import datetime
No newline at end of file
11 import os
No newline at end of file
12 from abscontrol.models import Profile, Pattern, AntennaDown, AntennaUp
No newline at end of file
13
No newline at end of file
14 from util.readABSFile import readABSFile
No newline at end of file
15 from util.saveABSFile import saveABSFile
No newline at end of file
16 from util.ABSData import ABSData
No newline at end of file
17 from util.OverJRO import OverJRO
No newline at end of file
18 from scripts.sendFile import sendFile
No newline at end of file
19 from scripts.changeBeam import changeBeam
No newline at end of file
20 from overJroShow import overJroShow
No newline at end of file
21
No newline at end of file
22 arrayTx = [["0","0","0","0","0","0","0","0"],\
No newline at end of file
23 ["0","0","0","0","0","0","0","0"],\
No newline at end of file
24 ["0","0","0","0","0","0","0","0"],\
No newline at end of file
25 ["0","0","0","0","0","0","0","0"],\
No newline at end of file
26 ["0","0","0","0","0","0","0","0"],\
No newline at end of file
27 ["0","0","0","0","0","0","0","0"],\
No newline at end of file
28 ["0","0","0","0","0","0","0","0"],\
No newline at end of file
29 ["0","0","0","0","0","0","0","0"]]
No newline at end of file
30
No newline at end of file
31 arrayUes = ["0.533333","0.00000","1.06667","0.00000"]
No newline at end of file
32
No newline at end of file
33 @login_required(login_url='/accounts/login/')
No newline at end of file
34 def index(request):
No newline at end of file
35 #latest_poll_list = profileAntenna.objects.all().order_by('-pub_date')[:5]
No newline at end of file
36 profile_list = Profile.objects.filter(state=1)
No newline at end of file
37 return render_to_response('abscontrol/index.html', {'profile_list': profile_list}, context_instance=RequestContext(request))
No newline at end of file
38
No newline at end of file
39 def new(request):
No newline at end of file
40 profile_list = Profile.objects.filter(state=1)
No newline at end of file
41 txtProfile = datetime.now().strftime("%Y%m%d%H%M%S%f")
No newline at end of file
42 newprofile = Profile(name=txtProfile)
No newline at end of file
43 newprofile.save()
No newline at end of file
44
No newline at end of file
45 lsPatterns = None
No newline at end of file
46
No newline at end of file
47 return render_to_response('abscontrol/new.html', {'profile_list': profile_list,
No newline at end of file
48 'profile_name' : newprofile.name,
No newline at end of file
49 'profile_id' : newprofile.id,
No newline at end of file
50 'lsPatterns' : lsPatterns,
No newline at end of file
51 'range' : range(8), 'arrayUes' : arrayUes,
No newline at end of file
52 }, context_instance=RequestContext(request))
No newline at end of file
53
No newline at end of file
54 def save(request):
No newline at end of file
55
No newline at end of file
56 txtProfile = request.POST["txtProfile"]
No newline at end of file
57
No newline at end of file
58 txtAntennaUp = request.POST["txtAntennaUp"]
No newline at end of file
59 txtTxUp = request.POST["txtTxUp"]
No newline at end of file
60 txtRxUp = request.POST["txtRxUp"]
No newline at end of file
61 txtUesUp = request.POST["txtUesUp"]
No newline at end of file
62
No newline at end of file
63 txtAntennaDown = request.POST["txtAntennaDown"]
No newline at end of file
64 txtTxDown = request.POST["txtTxDown"]
No newline at end of file
65 txtRxDown = request.POST["txtRxDown"]
No newline at end of file
66 txtUesDown = request.POST["txtUesDown"]
No newline at end of file
67
No newline at end of file
68 newprofile = Profile(name=txtProfile)
No newline at end of file
69 newprofile.save()
No newline at end of file
70
No newline at end of file
71 newpattern = newprofile.pattern_set.create(value=1)
No newline at end of file
72 newpattern.antennaup_set.create(value=txtAntennaUp,tx=txtTxUp,rx=txtRxUp,ues=txtUesUp)
No newline at end of file
73 newpattern.antennadown_set.create(value=txtAntennaDown,tx=txtTxDown,rx=txtRxDown,ues=txtUesDown)
No newline at end of file
74
No newline at end of file
75 newurl = '/abscontrol/view/%d' % newprofile.id
No newline at end of file
76
No newline at end of file
77 return redirect(newurl)
No newline at end of file
78
No newline at end of file
79 # Update temporal experiment
No newline at end of file
80 def upgrade(request, profile_id):
No newline at end of file
81 txtAntennaUp = request.POST["txtAntennaUp"]
No newline at end of file
82 txtTxUp = request.POST["txtTxUp"]
No newline at end of file
83 txtRxUp = request.POST["txtRxUp"]
No newline at end of file
84 txtUesUp = request.POST["txtUesUp"]
No newline at end of file
85
No newline at end of file
86 txtAntennaDown = request.POST["txtAntennaDown"]
No newline at end of file
87 txtTxDown = request.POST["txtTxDown"]
No newline at end of file
88 txtRxDown = request.POST["txtRxDown"]
No newline at end of file
89 txtUesDown = request.POST["txtUesDown"]
No newline at end of file
90
No newline at end of file
91 objProfile = Profile.objects.get(pk=profile_id)
No newline at end of file
92 newpattern = objProfile.pattern_set.create(value=1)
No newline at end of file
93 newpattern.antennaup_set.create(value=txtAntennaUp,tx=txtTxUp,rx=txtRxUp,ues=txtUesUp)
No newline at end of file
94 newpattern.antennadown_set.create(value=txtAntennaDown,tx=txtTxDown,rx=txtRxDown,ues=txtUesDown)
No newline at end of file
95
No newline at end of file
96 newurl = '/abscontrol/%d/edit/%d' % (int(profile_id), newpattern.id)
No newline at end of file
97 return redirect(newurl)
No newline at end of file
98
No newline at end of file
99 def update(request, profile_id):
No newline at end of file
100 txtProfile = request.POST["txtProfile"]
No newline at end of file
101
No newline at end of file
102 objProfile = Profile.objects.get(pk=profile_id)
No newline at end of file
103 objProfile.name = txtProfile
No newline at end of file
104 objProfile.state = 1
No newline at end of file
105 objProfile.save()
No newline at end of file
106
No newline at end of file
107 newurl = '/abscontrol/view/%d' % objProfile.id
No newline at end of file
108 return redirect(newurl)
No newline at end of file
109
No newline at end of file
110 def changeName(request, profile_id):
No newline at end of file
111 profile_list = Profile.objects.filter(state=1)
No newline at end of file
112 objProfile = Profile.objects.get(pk=profile_id)
No newline at end of file
113 lsPatterns = objProfile.pattern_set.all()
No newline at end of file
114
No newline at end of file
115 return render_to_response('abscontrol/changeName.html', {'profile_list': profile_list,
No newline at end of file
116 'objProfile': objProfile,
No newline at end of file
117 'lsPatterns' : lsPatterns,
No newline at end of file
118 }, context_instance=RequestContext(request))
No newline at end of file
119
No newline at end of file
120 def view(request, profile_id):
No newline at end of file
121 if request.method == 'GET' and 'pattern' in request.GET:
No newline at end of file
122 pattern_value = request.GET["pattern"]
No newline at end of file
123 else:
No newline at end of file
124 pattern_value = 1
No newline at end of file
125
No newline at end of file
126 profile_list = Profile.objects.filter(state=1)
No newline at end of file
127 objProfile = Profile.objects.get(pk=profile_id)
No newline at end of file
128
No newline at end of file
129 lsPatterns = objProfile.pattern_set.all()
No newline at end of file
130 patternChoosen = objProfile.pattern_set.get(value=pattern_value)
No newline at end of file
131 objAntennaUp = patternChoosen.antennaup_set.get()
No newline at end of file
132 objAntennaDown = patternChoosen.antennadown_set.get()
No newline at end of file
133
No newline at end of file
134 return render_to_response('abscontrol/view.html', {'objProfile': objProfile, 'profile_list': profile_list,
No newline at end of file
135 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns,
No newline at end of file
136 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown,
No newline at end of file
137 }, context_instance=RequestContext(request))
No newline at end of file
138
No newline at end of file
139 def edit(request, profile_id):
No newline at end of file
140 if request.method == 'GET' and 'pattern' in request.GET:
No newline at end of file
141 pattern_value = request.GET["pattern"]
No newline at end of file
142 else:
No newline at end of file
143 pattern_value = 1
No newline at end of file
144
No newline at end of file
145 absData = ABSData()
No newline at end of file
146 profile_list = Profile.objects.filter(state=1)
No newline at end of file
147 objProfile = Profile.objects.get(pk=profile_id)
No newline at end of file
148
No newline at end of file
149 lsPatterns = objProfile.pattern_set.all()
No newline at end of file
150 patternChoosen = objProfile.pattern_set.get(value=pattern_value)
No newline at end of file
151 objAntennaUp = patternChoosen.antennaup_set.get()
No newline at end of file
152 objAntennaDown = patternChoosen.antennadown_set.get()
No newline at end of file
153
No newline at end of file
154 arrayAntennaUp = absData.convertStringtoList2(objAntennaUp.value)
No newline at end of file
155 if objAntennaUp.tx != None:
No newline at end of file
156 arrayTxUp = absData.convertStringtoList2(objAntennaUp.tx)
No newline at end of file
157 else:
No newline at end of file
158 arrayTxUp = arrayTx
No newline at end of file
159 if objAntennaUp.rx != None:
No newline at end of file
160 arrayRxUp = absData.convertStringtoList2(objAntennaUp.rx)
No newline at end of file
161 else:
No newline at end of file
162 arrayRxUp = arrayTx
No newline at end of file
163 if objAntennaUp.ues != None:
No newline at end of file
164 arrayUesUp = absData.convertStringtoList1(objAntennaUp.ues)
No newline at end of file
165 else:
No newline at end of file
166 arrayUesUp = arrayUes
No newline at end of file
167
No newline at end of file
168 arrayAntennaDown = absData.convertStringtoList2(objAntennaDown.value)
No newline at end of file
169 if objAntennaDown.tx != None:
No newline at end of file
170 arrayTxDown = absData.convertStringtoList2(objAntennaDown.tx)
No newline at end of file
171 else:
No newline at end of file
172 arrayTxDown = arrayTx
No newline at end of file
173 if objAntennaDown.rx != None:
No newline at end of file
174 arrayRxDown = absData.convertStringtoList2(objAntennaDown.rx)
No newline at end of file
175 else:
No newline at end of file
176 arrayRxDown = arrayTx
No newline at end of file
177 if objAntennaDown.ues != None:
No newline at end of file
178 arrayUesDown = absData.convertStringtoList1(objAntennaDown.ues)
No newline at end of file
179 else:
No newline at end of file
180 arrayUesDown = arrayUes
No newline at end of file
181
No newline at end of file
182 return render_to_response('abscontrol/edit.html', {'objProfile': objProfile, 'profile_list': profile_list,
No newline at end of file
183 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns,
No newline at end of file
184 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown,
No newline at end of file
185 'arrayAntennaUp' : arrayAntennaUp, 'arrayTxUp' : arrayTxUp,
No newline at end of file
186 'arrayRxUp' : arrayRxUp, 'arrayRxDown' : arrayRxDown,
No newline at end of file
187 'arrayAntennaDown' : arrayAntennaDown, 'arrayTxDown' : arrayTxDown,
No newline at end of file
188 'arrayUesUp' : arrayUesUp, 'arrayUesDown' : arrayUesDown,
No newline at end of file
189 }, context_instance=RequestContext(request))
No newline at end of file
190
No newline at end of file
191 def addPattern(request, profile_id):
No newline at end of file
192 profile_list = Profile.objects.filter(state=1)
No newline at end of file
193 objProfile = Profile.objects.get(pk=profile_id)
No newline at end of file
194
No newline at end of file
195 return render_to_response('abscontrol/addPattern.html', {'objProfile': objProfile, 'profile_list': profile_list,
No newline at end of file
196 'range' : range(8), 'arrayUes' : arrayUes,
No newline at end of file
197 }, context_instance=RequestContext(request))
No newline at end of file
198
No newline at end of file
199 def editPattern(request, profile_id, pattern_id):
No newline at end of file
200 absData = ABSData()
No newline at end of file
201 profile_list = Profile.objects.filter(state=1)
No newline at end of file
202 objProfile = Profile.objects.get(pk=profile_id)
No newline at end of file
203 lsPatterns = objProfile.pattern_set.all()
No newline at end of file
204 patternChoosen = Pattern.objects.get(pk=pattern_id)
No newline at end of file
205 objAntennaUp = patternChoosen.antennaup_set.get()
No newline at end of file
206 objAntennaDown = patternChoosen.antennadown_set.get()
No newline at end of file
207
No newline at end of file
208 arrayAntennaUp = absData.convertStringtoList2(objAntennaUp.value)
No newline at end of file
209 if objAntennaUp.tx != None:
No newline at end of file
210 arrayTxUp = absData.convertStringtoList2(objAntennaUp.tx)
No newline at end of file
211 else:
No newline at end of file
212 arrayTxUp = arrayTx
No newline at end of file
213 if objAntennaUp.rx != None:
No newline at end of file
214 arrayRxUp = absData.convertStringtoList2(objAntennaUp.rx)
No newline at end of file
215 else:
No newline at end of file
216 arrayRxUp = arrayTx
No newline at end of file
217 if objAntennaUp.ues != None:
No newline at end of file
218 arrayUesUp = absData.convertStringtoList1(objAntennaUp.ues)
No newline at end of file
219 else:
No newline at end of file
220 arrayUesUp = arrayUes
No newline at end of file
221
No newline at end of file
222 arrayAntennaDown = absData.convertStringtoList2(objAntennaDown.value)
No newline at end of file
223 if objAntennaDown.tx != None:
No newline at end of file
224 arrayTxDown = absData.convertStringtoList2(objAntennaDown.tx)
No newline at end of file
225 else:
No newline at end of file
226 arrayTxDown = arrayTx
No newline at end of file
227 if objAntennaDown.rx != None:
No newline at end of file
228 arrayRxDown = absData.convertStringtoList2(objAntennaDown.rx)
No newline at end of file
229 else:
No newline at end of file
230 arrayRxDown = arrayTx
No newline at end of file
231 if objAntennaDown.ues != None:
No newline at end of file
232 arrayUesDown = absData.convertStringtoList1(objAntennaDown.ues)
No newline at end of file
233 else:
No newline at end of file
234 arrayUesDown = arrayUes
No newline at end of file
235
No newline at end of file
236 return render_to_response('abscontrol/editPattern.html', {'objProfile': objProfile, 'profile_list': profile_list,
No newline at end of file
237 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns,
No newline at end of file
238 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown,
No newline at end of file
239 'arrayAntennaUp' : arrayAntennaUp, 'arrayTxUp' : arrayTxUp,
No newline at end of file
240 'arrayRxUp' : arrayRxUp, 'arrayRxDown' : arrayRxDown,
No newline at end of file
241 'arrayAntennaDown' : arrayAntennaDown, 'arrayTxDown' : arrayTxDown,
No newline at end of file
242 'arrayUesUp' : arrayUesUp, 'arrayUesDown' : arrayUesDown,
No newline at end of file
243 }, context_instance=RequestContext(request))
No newline at end of file
244
No newline at end of file
245 def savePattern(request, profile_id):
No newline at end of file
246 pattern_id = 0
No newline at end of file
247 method = "save"
No newline at end of file
248
No newline at end of file
249 if 'pattern_id' in request.POST:
No newline at end of file
250 pattern_id = request.POST["pattern_id"]
No newline at end of file
251 method = "update"
No newline at end of file
252
No newline at end of file
253 maxValuePattern = 0
No newline at end of file
254 txtAntennaUp = request.POST["txtAntennaUp"]
No newline at end of file
255 txtTxUp = request.POST["txtTxUp"]
No newline at end of file
256 txtRxUp = request.POST["txtRxUp"]
No newline at end of file
257 txtUesUp = request.POST["txtUesUp"]
No newline at end of file
258
No newline at end of file
259 txtAntennaDown = request.POST["txtAntennaDown"]
No newline at end of file
260 txtTxDown = request.POST["txtTxDown"]
No newline at end of file
261 txtRxDown = request.POST["txtRxDown"]
No newline at end of file
262 txtUesDown = request.POST["txtUesDown"]
No newline at end of file
263
No newline at end of file
264 mode = request.POST["mode"]
No newline at end of file
265
No newline at end of file
266 if method == "save":
No newline at end of file
267 objProfile = Profile.objects.get(pk=profile_id)
No newline at end of file
268 lsPatterns = objProfile.pattern_set.all()
No newline at end of file
269 if len(lsPatterns) > 0:
No newline at end of file
270 for element in lsPatterns:
No newline at end of file
271 if element.value > maxValuePattern:
No newline at end of file
272 maxPattern = element.value
No newline at end of file
273 else:
No newline at end of file
274 maxPattern = 0
No newline at end of file
275
No newline at end of file
276 if maxPattern < 10 :
No newline at end of file
277 newValuePattern = maxPattern + 1
No newline at end of file
278 newpattern = objProfile.pattern_set.create(value=newValuePattern)
No newline at end of file
279 newpattern.antennaup_set.create(value=txtAntennaUp,tx=txtTxUp,rx=txtRxUp,ues=txtUesUp)
No newline at end of file
280 newpattern.antennadown_set.create(value=txtAntennaDown,tx=txtTxDown,rx=txtRxDown,ues=txtUesDown)
No newline at end of file
281 error = 0
No newline at end of file
282 else:
No newline at end of file
283 error = 1 # Can not add more patterns
No newline at end of file
284
No newline at end of file
285 if mode == "e":
No newline at end of file
286 newurl = '/abscontrol/%d/edit/%d' % (int(profile_id), newpattern.id)
No newline at end of file
287 else:
No newline at end of file
288 newurl = '/abscontrol/%d/view/%d' % (int(profile_id), newpattern.id)
No newline at end of file
289 else:
No newline at end of file
290 txtAntennaUpId = request.POST["txtAntennaUpId"]
No newline at end of file
291 objAntennaUp = AntennaUp.objects.get(pk=txtAntennaUpId)
No newline at end of file
292 objAntennaUp.value = txtAntennaUp
No newline at end of file
293 objAntennaUp.tx = txtTxUp
No newline at end of file
294 objAntennaUp.rx = txtRxUp
No newline at end of file
295 objAntennaUp.ues = txtUesUp
No newline at end of file
296 objAntennaUp.save()
No newline at end of file
297
No newline at end of file
298 txtAntennaDownId = request.POST["txtAntennaDownId"]
No newline at end of file
299 objAntennaDown = AntennaDown.objects.get(pk=txtAntennaDownId)
No newline at end of file
300 objAntennaDown.value = txtAntennaDown
No newline at end of file
301 objAntennaDown.tx = txtTxDown
No newline at end of file
302 objAntennaDown.rx = txtRxDown
No newline at end of file
303 objAntennaDown.ues = txtUesDown
No newline at end of file
304 objAntennaDown.save()
No newline at end of file
305
No newline at end of file
306 if mode == "e":
No newline at end of file
307 newurl = '/abscontrol/%d/edit/%d' % (int(profile_id), int(pattern_id))
No newline at end of file
308 else:
No newline at end of file
309 newurl = '/abscontrol/%d/view/%d' % (int(profile_id), int(pattern_id))
No newline at end of file
310
No newline at end of file
311 return redirect(newurl)
No newline at end of file
312
No newline at end of file
313 def viewPattern(request, profile_id, pattern_id):
No newline at end of file
314
No newline at end of file
315 profile_list = Profile.objects.filter(state=1)
No newline at end of file
316 objProfile = Profile.objects.get(pk=profile_id)
No newline at end of file
317
No newline at end of file
318 patternChoosen = Pattern.objects.get(pk=pattern_id)
No newline at end of file
319
No newline at end of file
320 objAntennaUp = patternChoosen.antennaup_set.get()
No newline at end of file
321 objAntennaDown = patternChoosen.antennadown_set.get()
No newline at end of file
322
No newline at end of file
323 lsPatterns = objProfile.pattern_set.all()
No newline at end of file
324
No newline at end of file
325 return render_to_response('abscontrol/viewPattern.html', {'objProfile': objProfile, 'profile_list': profile_list,
No newline at end of file
326 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns,
No newline at end of file
327 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown,
No newline at end of file
328 }, context_instance=RequestContext(request))
No newline at end of file
329
No newline at end of file
330 def deletePattern(request, profile_id, pattern_id):
No newline at end of file
331 newurl = '/abscontrol/edit/%d' % int(profile_id)
No newline at end of file
332
No newline at end of file
333 return redirect(newurl)
No newline at end of file
334
No newline at end of file
335 def importProfile(request):
No newline at end of file
336 profile_list = Profile.objects.filter(state=1)
No newline at end of file
337 return render_to_response('abscontrol/import.html', {'profile_list': profile_list,}, context_instance=RequestContext(request))
No newline at end of file
338
No newline at end of file
339 def upload(request):
No newline at end of file
340 profile_list = Profile.objects.filter(state=1)
No newline at end of file
341 if request.method == 'POST':
No newline at end of file
342 txtFilename = request.FILES['txtFile']
No newline at end of file
343 if txtFilename:
No newline at end of file
344 destination = open('/tmp/'+txtFilename.name, 'wb+')
No newline at end of file
345 for chunk in txtFilename.chunks():
No newline at end of file
346 destination.write(chunk)
No newline at end of file
347 destination.close()
No newline at end of file
348 filename = '/tmp/'+txtFilename.name
No newline at end of file
349 readFile = readABSFile(filename)
No newline at end of file
350 expName, num_patterns, patterns = readFile.getMetadata()
No newline at end of file
351
No newline at end of file
352 if expName != "" and num_patterns > 0:
No newline at end of file
353 if len(Profile.objects.filter(name__iexact=expName)) > 0:
No newline at end of file
354 txtError = "Experiment's name found."
No newline at end of file
355 return render_to_response('abscontrol/error.html', {'profile_list': profile_list,
No newline at end of file
356 'txtError' : txtError, },
No newline at end of file
357 context_instance=RequestContext(request))
No newline at end of file
358 else:
No newline at end of file
359 newprofile = Profile(name=expName)
No newline at end of file
360 newprofile.save()
No newline at end of file
361 newprofile.state = 1
No newline at end of file
362
No newline at end of file
363 for element in patterns:
No newline at end of file
364 newpattern = newprofile.pattern_set.create(value=element["number"])
No newline at end of file
365 newpattern.antennaup_set.create(value=element["up"])
No newline at end of file
366 newpattern.antennadown_set.create(value=element["down"])
No newline at end of file
367
No newline at end of file
368 newprofile.save()
No newline at end of file
369
No newline at end of file
370 newurl = '/abscontrol/edit/%d' % int(newprofile.id)
No newline at end of file
371 return redirect(newurl)
No newline at end of file
372 else:
No newline at end of file
373 txtError = "Experiment's name not found or the number of patterns is 0."
No newline at end of file
374 return render_to_response('abscontrol/error.html', {'profile_list': profile_list,
No newline at end of file
375 'txtError' : txtError, },
No newline at end of file
376 context_instance=RequestContext(request))
No newline at end of file
377 else:
No newline at end of file
378 txtError = "No file."
No newline at end of file
379
No newline at end of file
380 return render_to_response('abscontrol/error.html', {'profile_list': profile_list, 'txtError' : txtError, },
No newline at end of file
381 context_instance=RequestContext(request))
No newline at end of file
382
No newline at end of file
383 def getImgfromOverJRO(profile_id, objAntenna):
No newline at end of file
384 objProfile = Profile.objects.get(pk=profile_id)
No newline at end of file
385 exp_name = objProfile.name
No newline at end of file
386 phase_tx = objAntenna.value
No newline at end of file
387 gain_tx = objAntenna.tx
No newline at end of file
388 gain_rx = objAntenna.rx
No newline at end of file
389 ues_tx = objAntenna.ues
No newline at end of file
390 just_rx = objAntenna.only_rx
No newline at end of file
391
No newline at end of file
392 overjro = OverJRO()
No newline at end of file
393 overjro.setParameters(settings.MEDIA_ROOT, exp_name, phase_tx, gain_tx, gain_rx, ues_tx, just_rx)
No newline at end of file
394 contentFile = overjro.setTextContent()
No newline at end of file
395 finalpath = overjro.saveFile(contentFile)
No newline at end of file
396
No newline at end of file
397 currentdate = datetime.today()
No newline at end of file
398 newOverJro = overJroShow()
No newline at end of file
399 newOverJro.setInputParameters(settings.MEDIA_ROOT, currentdate, finalpath)
No newline at end of file
400 newOverJro.setupParameters()
No newline at end of file
401 newOverJro.execute()
No newline at end of file
402 path = newOverJro.getPlot()
No newline at end of file
403
No newline at end of file
404 return path
No newline at end of file
405
No newline at end of file
406 def overJROUp(request, profile_id, pattern_id, antenna_id):
No newline at end of file
407 objAntenna = AntennaUp.objects.get(pk=antenna_id)
No newline at end of file
408 img_path = getImgfromOverJRO(profile_id, objAntenna)
No newline at end of file
409 filename = os.path.split(img_path)[1]
No newline at end of file
410 return render_to_response('abscontrol/overjro_up.html', {'img_up': filename,'antennaUp': objAntenna,},
No newline at end of file
411 context_instance=RequestContext(request))
No newline at end of file
412
No newline at end of file
413 def overJRODown(request, profile_id, pattern_id, antenna_id):
No newline at end of file
414 objAntenna = AntennaDown.objects.get(pk=antenna_id)
No newline at end of file
415 img_path = getImgfromOverJRO(profile_id, objAntenna)
No newline at end of file
416 filename = os.path.split(img_path)[1]
No newline at end of file
417 return render_to_response('abscontrol/overjro_down.html', {'img_down': filename, 'antennaDown': objAntenna,},
No newline at end of file
418 context_instance=RequestContext(request))
No newline at end of file
419
No newline at end of file
420 def export(request, profile_id):
No newline at end of file
421 listPatterns = []
No newline at end of file
422 objProfile = Profile.objects.get(pk=profile_id)
No newline at end of file
423 exp_name = objProfile.name
No newline at end of file
424 lsPatterns = objProfile.pattern_set.all()
No newline at end of file
425 for element in lsPatterns:
No newline at end of file
426 objAntennaUp = element.antennaup_set.get()
No newline at end of file
427 objAntennaDown = element.antennadown_set.get()
No newline at end of file
428 dicPatterns = {"number" : element.value, "up" : objAntennaUp.value, "down" : objAntennaDown.value}
No newline at end of file
429 listPatterns.append(dicPatterns)
No newline at end of file
430
No newline at end of file
431 absFile = saveABSFile()
No newline at end of file
432 absFile.setParameters(settings.MEDIA_ROOT, exp_name, listPatterns)
No newline at end of file
433 filename, filesize = absFile.save()
No newline at end of file
434
No newline at end of file
435 wrapper = FileWrapper( open( filename, "r" ) )
No newline at end of file
436 content_type = mimetypes.guess_type( filename )[0]
No newline at end of file
437
No newline at end of file
438 response = HttpResponse(wrapper, content_type = content_type)
No newline at end of file
439 response['Content-Description'] = 'File Transfer'
No newline at end of file
440 response['Content-Disposition'] = 'attachment; filename=%s' % smart_str(filename)
No newline at end of file
441 response['Content-Transfer-Encoding'] = 'binary'
No newline at end of file
442 response['Expires'] = '0'
No newline at end of file
443 response['Cache-Control'] = 'must-revalidate'
No newline at end of file
444 response['Pragma'] = 'public'
No newline at end of file
445 response['Content-Length'] = '%s' % str(filesize)
No newline at end of file
446 response['X-Sendfile'] = '%s' % smart_str(filename)
No newline at end of file
447
No newline at end of file
448 return response
No newline at end of file
449
No newline at end of file
450 def send(request, profile_id):
No newline at end of file
451 listPatterns = []
No newline at end of file
452 objProfile = Profile.objects.get(pk=profile_id)
No newline at end of file
453 exp_name = objProfile.name
No newline at end of file
454
No newline at end of file
455 lsPatterns = objProfile.pattern_set.all()
No newline at end of file
456 for element in lsPatterns:
No newline at end of file
457 objAntennaUp = element.antennaup_set.get()
No newline at end of file
458 objAntennaDown = element.antennadown_set.get()
No newline at end of file
459 dicPatterns = {"number" : element.value, "up" : objAntennaUp.value, "down" : objAntennaDown.value}
No newline at end of file
460 listPatterns.append(dicPatterns)
No newline at end of file
461
No newline at end of file
462 absFile = saveABSFile()
No newline at end of file
463 absFile.setParameters(settings.MEDIA_ROOT, exp_name, listPatterns)
No newline at end of file
464 filename, filesize = absFile.save()
No newline at end of file
465
No newline at end of file
466 apiclient = sendFile()
No newline at end of file
467 apiclient.execute(filename)
No newline at end of file
468 output = apiclient.getOutput()
No newline at end of file
469
No newline at end of file
470 if output == "OK":
No newline at end of file
471 message = "File sent successfully."
No newline at end of file
472 lsProfilesActive = Profile.objects.filter(is_active=1)
No newline at end of file
473 if len(lsProfilesActive) > 0:
No newline at end of file
474 objProfileActive = Profile.objects.get(is_active=1)
No newline at end of file
475 objProfileActive.is_active = 0
No newline at end of file
476 objProfileActive.save()
No newline at end of file
477
No newline at end of file
478 lsPatternsActive = Pattern.objects.filter(is_active=1)
No newline at end of file
479 if len(lsPatternsActive) > 0:
No newline at end of file
480 objPatternActive = Pattern.objects.get(is_active=1)
No newline at end of file
481 objPatternActive.is_active = 0
No newline at end of file
482 objPatternActive.save()
No newline at end of file
483
No newline at end of file
484 objProfile.hits += 1
No newline at end of file
485 objProfile.is_active = 1
No newline at end of file
486 objProfile.save()
No newline at end of file
487
No newline at end of file
488 pattern_value = 1
No newline at end of file
489 patternChoosen = objProfile.pattern_set.get(value=pattern_value)
No newline at end of file
490 patternChoosen.is_active = 1
No newline at end of file
491 patternChoosen.save()
No newline at end of file
492
No newline at end of file
493 newurl = '/abscontrol/view/%d' % int(profile_id)
No newline at end of file
494
No newline at end of file
495 return redirect(newurl)
No newline at end of file
496 else:
No newline at end of file
497 message = "Error sending file."
No newline at end of file
498
No newline at end of file
499 profile_list = Profile.objects.all()
No newline at end of file
500
No newline at end of file
501 return render_to_response('abscontrol/sendFile.html', {'message': message, "profile_list" : profile_list,
No newline at end of file
502 'objProfile': objProfile,
No newline at end of file
503 }, context_instance=RequestContext(request))
No newline at end of file
504
No newline at end of file
505 def changePattern(request, profile_id, pattern_id):
No newline at end of file
506 patternChoosen = Pattern.objects.get(id=pattern_id)
No newline at end of file
507 beam = int(patternChoosen.value)-1
No newline at end of file
508
No newline at end of file
509 apiclient = changeBeam()
No newline at end of file
510 apiclient.execute(str(beam))
No newline at end of file
511 output = apiclient.getOutput()
No newline at end of file
512
No newline at end of file
513 if output == "OK":
No newline at end of file
514 lsPatternsActive = Pattern.objects.filter(is_active=1)
No newline at end of file
515 if len(lsPatternsActive) > 0:
No newline at end of file
516 objPatternActive = Pattern.objects.get(is_active=1)
No newline at end of file
517 objPatternActive.is_active = 0
No newline at end of file
518 objPatternActive.save()
No newline at end of file
519
No newline at end of file
520 patternChoosen.hits += 1
No newline at end of file
521 patternChoosen.is_active = 1
No newline at end of file
522 patternChoosen.save()
No newline at end of file
523
No newline at end of file
524 newurl = '/abscontrol/%d/view/%d/' % (int(profile_id), int(pattern_id))
No newline at end of file
525 return redirect(newurl)
No newline at end of file
526 else:
No newline at end of file
527 message = "Error sending file."
No newline at end of file
528 profile_list = Profile.objects.all()
No newline at end of file
529 return render_to_response('abscontrol/sendFile.html', {'message': message, "profile_list" : profile_list,
No newline at end of file
530 }, context_instance=RequestContext(request))
No newline at end of file
531 No newline at end of file
1 NO CONTENT: new file 10644
@@ -0,0 +1,15
1 from django.db import models
No newline at end of file
2 from django.contrib.auth.models import User
No newline at end of file
3
No newline at end of file
4 class Revision(models.Model):
No newline at end of file
5
No newline at end of file
6 modified_by = models.ForeignKey(User, editable=False)
No newline at end of file
7 old_value = models.TextField(null=False, editable=False, verbose_name="Old Value")
No newline at end of file
8 new_value = models.TextField(null=False, editable=False, verbose_name="New Value")
No newline at end of file
9 date_create = models.DateTimeField(auto_now_add=True)
No newline at end of file
10
No newline at end of file
11 class Meta():
No newline at end of file
12 db_table = "sysweb_revision"
No newline at end of file
13
No newline at end of file
14 def __unicode__(self):
No newline at end of file
15 return u'Revision Number: %s' % self.pk No newline at end of file
@@ -0,0 +1,16
1 """
No newline at end of file
2 This file demonstrates writing tests using the unittest module. These will pass
No newline at end of file
3 when you run "manage.py test".
No newline at end of file
4
No newline at end of file
5 Replace this with more appropriate tests for your application.
No newline at end of file
6 """
No newline at end of file
7
No newline at end of file
8 from django.test import TestCase
No newline at end of file
9
No newline at end of file
10
No newline at end of file
11 class SimpleTest(TestCase):
No newline at end of file
12 def test_basic_addition(self):
No newline at end of file
13 """
No newline at end of file
14 Tests that 1 + 1 always equals 2.
No newline at end of file
15 """
No newline at end of file
16 self.assertEqual(1 + 1, 2) No newline at end of file
@@ -0,0 +1,1
1 # Create your views here. No newline at end of file
@@ -0,0 +1,10
1 #!/usr/bin/env python
No newline at end of file
2 import os
No newline at end of file
3 import sys
No newline at end of file
4
No newline at end of file
5 if __name__ == "__main__":
No newline at end of file
6 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "abs_webapp_dev.settings")
No newline at end of file
7
No newline at end of file
8 from django.core.management import execute_from_command_line
No newline at end of file
9
No newline at end of file
10 execute_from_command_line(sys.argv) No newline at end of file
1 NO CONTENT: new file 10644
@@ -0,0 +1,9
1 Django==1.4.3
No newline at end of file
2 MySQL-python==1.2.4
No newline at end of file
3 South==0.8.1
No newline at end of file
4 argparse==1.2.1
No newline at end of file
5 matplotlib==1.2.1
No newline at end of file
6 numpy==1.7.1
No newline at end of file
7 scipy==0.12.0
No newline at end of file
8 wsgiref==0.1.2
No newline at end of file
9 yolk==0.4.3 No newline at end of file
This diff has been collapsed as it changes many lines, (668 lines changed) Show them Hide them
@@ -0,0 +1,668
1 /*
No newline at end of file
2 * font-family: 'Droid Sans', sans-serif;
No newline at end of file
3 * font-family: 'Ubuntu', sans-serif;
No newline at end of file
4 * font-family: 'Open Sans', sans-serif;
No newline at end of file
5 * font-family: 'Open Sans Condensed', sans-serif;
No newline at end of file
6 * font-family: 'Roboto Condensed', sans-serif;
No newline at end of file
7 */
No newline at end of file
8
No newline at end of file
9 body {
No newline at end of file
10 padding: 0;
No newline at end of file
11 margin: 0;
No newline at end of file
12 font-size: 12px; }
No newline at end of file
13
No newline at end of file
14 header {
No newline at end of file
15 width: 980px;
No newline at end of file
16 height: 50px;
No newline at end of file
17 text-align: center;
No newline at end of file
18 line-height: 50px;
No newline at end of file
19 border: 0px solid #fcc !important; }
No newline at end of file
20
No newline at end of file
21 #schema {
No newline at end of file
22 margin: 0 auto;
No newline at end of file
23 width: 980px;
No newline at end of file
24 padding: 10px 10px;
No newline at end of file
25 border: 0px solid #f00 !important; }
No newline at end of file
26
No newline at end of file
27 #content {
No newline at end of file
28 margin: 5px 0px;
No newline at end of file
29 border: 0px solid #1cc; }
No newline at end of file
30
No newline at end of file
31 #topcolumn {
No newline at end of file
32 float: left;
No newline at end of file
33 width: 980px;
No newline at end of file
34 height: 40px;
No newline at end of file
35 line-height: 35px;
No newline at end of file
36 margin: 2px 0px;
No newline at end of file
37 border: 1px solid #ddd !important;
No newline at end of file
38 box-shadow: 2px 2px 5px #888; }
No newline at end of file
39
No newline at end of file
40 #maincolumn {
No newline at end of file
41 float: left;
No newline at end of file
42 width: 980px;
No newline at end of file
43 margin: 2px 0px;
No newline at end of file
44 padding: 0px 0px;
No newline at end of file
45 border: 1px solid #ddd !important;
No newline at end of file
46 box-shadow: 2px 2px 5px #666; }
No newline at end of file
47
No newline at end of file
48 footer {
No newline at end of file
49 height: 30px;
No newline at end of file
50 line-height: 30px;
No newline at end of file
51 text-align: center;
No newline at end of file
52 margin: 0px 0px;
No newline at end of file
53 border: 0px solid #200 !important;
No newline at end of file
54 box-shadow: 2px 2px 5px #888; }
No newline at end of file
55
No newline at end of file
56 .cleardivs {
No newline at end of file
57 clear: both;
No newline at end of file
58 border: 0px solid #400;
No newline at end of file
59 height: 0px; }
No newline at end of file
60
No newline at end of file
61 textarea {
No newline at end of file
62 resize: none;
No newline at end of file
63 overflow: hidden; }
No newline at end of file
64
No newline at end of file
65 /****************************************************************************************/
No newline at end of file
66 /****** ESTILOS GENERALES *****************/
No newline at end of file
67 /****************************************************************************************/
No newline at end of file
68 a {
No newline at end of file
69 font-family: 'Droid Sans', sans-serif;
No newline at end of file
70 text-decoration: none;
No newline at end of file
71 color: #1494F6; }
No newline at end of file
72
No newline at end of file
73 .mnu {
No newline at end of file
74 height: 22px;
No newline at end of file
75 border: 0px solid #c55 !important; }
No newline at end of file
76
No newline at end of file
77 .mnu li {
No newline at end of file
78 display:inline; }
No newline at end of file
79
No newline at end of file
80 .MnuVertical, .MnuHorizontal {
No newline at end of file
81 font-family: 'Droid Sans', sans-serif;
No newline at end of file
82 font-size: inherit;
No newline at end of file
83 font-style: normal;
No newline at end of file
84 text-shadow: 2px 2px #eee; }
No newline at end of file
85
No newline at end of file
86 .MnuHorizontal ul {
No newline at end of file
87 list-style: none;
No newline at end of file
88 list-style-type: none;
No newline at end of file
89 margin: 0; }
No newline at end of file
90
No newline at end of file
91 /*.MnuHorizontal{
No newline at end of file
92 display: -webkit-box;
No newline at end of file
93 -webkit-box-orient:horizontal; }
No newline at end of file
94
No newline at end of file
95 .MnuHorizontal a{
No newline at end of file
96 display:block;
No newline at end of file
97 padding:10px;
No newline at end of file
98 -webkit-box-flex:1;
No newline at end of file
99 text-align:center; }*/
No newline at end of file
100
No newline at end of file
101 .link-disabled {
No newline at end of file
102 color: #666;
No newline at end of file
103 text-decoration: None;
No newline at end of file
104 cursor: default; }
No newline at end of file
105
No newline at end of file
106 /****************************************************************************************/
No newline at end of file
107 /****** MENU DE NAVEGACION DE PERFILES *************/
No newline at end of file
108 /****************************************************************************************/
No newline at end of file
109 #infoProfiles {
No newline at end of file
110 float: left;
No newline at end of file
111 width: 300px;
No newline at end of file
112 margin: 0px;
No newline at end of file
113 padding: 2px 0px;
No newline at end of file
114 border: 0px solid #1cc !important; }
No newline at end of file
115
No newline at end of file
116 #infoProfiles label {
No newline at end of file
117 padding: 10px 10px 10px 12px;
No newline at end of file
118 margin: 10px 0;
No newline at end of file
119 font-family: 'Droid Sans', sans-serif;
No newline at end of file
120 /*font-family: 'Roboto Condensed', sans-serif;*/
No newline at end of file
121 /*letter-spacing: 0.046em;*/ }
No newline at end of file
122
No newline at end of file
123 #infoProfiles select {
No newline at end of file
124 padding: 4px 0px; margin: 0;
No newline at end of file
125 font-family: 'Droid Sans', sans-serif;
No newline at end of file
126 font-size: 12px;
No newline at end of file
127 letter-spacing: 0.006;
No newline at end of file
128 width: 200px; }
No newline at end of file
129
No newline at end of file
130 #mnuProfiles {
No newline at end of file
131 margin: 0;
No newline at end of file
132 float: right;
No newline at end of file
133 padding: 2px 10px;
No newline at end of file
134 border: 0px solid #1494F6 !important; }
No newline at end of file
135
No newline at end of file
136 #mnuProfiles ul {
No newline at end of file
137 list-style: none;
No newline at end of file
138 list-style-type: none;
No newline at end of file
139 margin: 0;
No newline at end of file
140 padding-left: 20px;
No newline at end of file
141 border: 0px solid #f00 !important; }
No newline at end of file
142
No newline at end of file
143 #mnuProfiles li {
No newline at end of file
144 width: 80px;
No newline at end of file
145 float: left;
No newline at end of file
146 padding: 2px;
No newline at end of file
147 border: 0px solid #c55 !important; }
No newline at end of file
148
No newline at end of file
149 #mnuProfiles a {
No newline at end of file
150 font-weight: normal;
No newline at end of file
151 color: #1494F6;
No newline at end of file
152 display: block;
No newline at end of file
153 text-align: center;
No newline at end of file
154 border-bottom: 1px solid #1494F6 !important;
No newline at end of file
155 text-decoration: none;
No newline at end of file
156 padding: 0px 4px;
No newline at end of file
157 line-height: 18px;
No newline at end of file
158 margin: 6px; }
No newline at end of file
159
No newline at end of file
160 /****************************************************************************************/
No newline at end of file
161 /******** FORMULARIO DE PERFILES *************************************/
No newline at end of file
162 /****************************************************************************************/
No newline at end of file
163 #divProfile {
No newline at end of file
164 margin: 10px 0px;
No newline at end of file
165 padding: 10px 10px;
No newline at end of file
166 width: 500px;
No newline at end of file
167 border: 0px solid #dff !important; }
No newline at end of file
168
No newline at end of file
169 #divProfile label,input[type=text],input[type=file] {
No newline at end of file
170 font-family: 'Open Sans', sans-serif;
No newline at end of file
171 /*font-family: 'Roboto Condensed', sans-serif;*/
No newline at end of file
172 font-size: inherit; }
No newline at end of file
173
No newline at end of file
174 #divPattern textarea,input[type=text],label,input[type=file],input[type=button],input[type=submit] {
No newline at end of file
175 font-family: 'Roboto Condensed', sans-serif;
No newline at end of file
176 font-size: inherit; }
No newline at end of file
177
No newline at end of file
178 .antenna, .NewAntenna {
No newline at end of file
179 box-shadow: 1px 1px 2px #666;
No newline at end of file
180 padding: 5px;
No newline at end of file
181 margin: 10px auto;
No newline at end of file
182 display: block;
No newline at end of file
183 border: 0px solid #fee !important; }
No newline at end of file
184
No newline at end of file
185 .antenna {
No newline at end of file
186 width: 520px; }
No newline at end of file
187
No newline at end of file
188 .NewAntenna {
No newline at end of file
189 width: 750px;
No newline at end of file
190 border: 0px solid #f00 !important; }
No newline at end of file
191
No newline at end of file
192 .flsAntenna, .NewFlsAntenna {
No newline at end of file
193 margin: 0;
No newline at end of file
194 padding: 0px;
No newline at end of file
195 border: 1px solid #fee !important; }
No newline at end of file
196
No newline at end of file
197 .flsAntenna {
No newline at end of file
198 width: 510px; }
No newline at end of file
199
No newline at end of file
200 .NewFlsAntenna {
No newline at end of file
201 width: 100%; }
No newline at end of file
202
No newline at end of file
203 .legendAntenna {
No newline at end of file
204 font-family: 'Roboto Condensed', sans-serif;
No newline at end of file
205 font-size: inherit;
No newline at end of file
206 text-align: left;
No newline at end of file
207 margin-left: 10px; }
No newline at end of file
208
No newline at end of file
209 .infoAntenna {
No newline at end of file
210 width: 500px;
No newline at end of file
211 float: left;
No newline at end of file
212 border: 0px solid #f00 !important; }
No newline at end of file
213
No newline at end of file
214 .overJRO {
No newline at end of file
215 width: 250px;
No newline at end of file
216 float: left;
No newline at end of file
217 margin: 0px 5px;
No newline at end of file
218 border: 0px solid #1cc !important; }
No newline at end of file
219
No newline at end of file
220 .divAntenna, .NewDivAntenna, .NewDivTx {
No newline at end of file
221 float: left;
No newline at end of file
222 margin: 10px;
No newline at end of file
223 border: 0px solid #fcc !important; }
No newline at end of file
224
No newline at end of file
225 .divAntenna {
No newline at end of file
226 width: 220px;
No newline at end of file
227 border: 0px solid #fcc !important; }
No newline at end of file
228
No newline at end of file
229 .NewDivAntenna {
No newline at end of file
230 border: 0px solid #fcc !important; }
No newline at end of file
231
No newline at end of file
232 .NewDivTx {
No newline at end of file
233 border: 0px solid #fcc !important; }
No newline at end of file
234
No newline at end of file
235 .titleField {
No newline at end of file
236 display: block;
No newline at end of file
237 text-align: center;
No newline at end of file
238 font-family: 'Roboto Condensed', sans-serif;
No newline at end of file
239 letter-spacing: 0.086em; }
No newline at end of file
240
No newline at end of file
241 .txtAntenna, .view-textAntenna {
No newline at end of file
242 width: 175px;
No newline at end of file
243 max-width: 180px;
No newline at end of file
244 height: 160px;
No newline at end of file
245 max-height: 165px;
No newline at end of file
246 background: #fdfdfb;
No newline at end of file
247 border: 2px solid #eee !important;
No newline at end of file
248 text-align: justify;
No newline at end of file
249 margin: 0 auto;
No newline at end of file
250 line-height: 20px; }
No newline at end of file
251
No newline at end of file
252 .txtAntenna {
No newline at end of file
253 padding: 4px;
No newline at end of file
254 }
No newline at end of file
255
No newline at end of file
256 .view-textAntenna {
No newline at end of file
257 padding: 2px;
No newline at end of file
258 font-family: "Ubuntu";
No newline at end of file
259 font-size: inherit; }
No newline at end of file
260
No newline at end of file
261 .boxAntenna, .boxTR {
No newline at end of file
262 border: 2px solid #eee !important;
No newline at end of file
263 text-align: center;
No newline at end of file
264 display: block;
No newline at end of file
265 float: left;
No newline at end of file
266 margin: 0;
No newline at end of file
267 padding: 0; }
No newline at end of file
268
No newline at end of file
269 .boxAntenna {
No newline at end of file
270 padding: 3px; }
No newline at end of file
271
No newline at end of file
272 .boxTR {
No newline at end of file
273 padding: 3px; }
No newline at end of file
274
No newline at end of file
275 .fullLine{
No newline at end of file
276 font-size: 0.95em; }
No newline at end of file
277
No newline at end of file
278 .lineInputs, .lineInputsTx {
No newline at end of file
279 text-align: left;
No newline at end of file
280 line-height: 1.4em;
No newline at end of file
281 padding: 0;
No newline at end of file
282 margin: 0px;
No newline at end of file
283 display: block;
No newline at end of file
284 float: left;
No newline at end of file
285 border: 0px solid #1cc !important; }
No newline at end of file
286
No newline at end of file
287 .lineInputs {
No newline at end of file
288 /*width: 240px;*/
No newline at end of file
289 border: 0px solid #1cc !important; }
No newline at end of file
290
No newline at end of file
291 .lineInputsTx {
No newline at end of file
292 /*width: 185px;*/
No newline at end of file
293 border: 0px solid #1cc !important; }
No newline at end of file
294
No newline at end of file
295 .divValuesAntenna, .divValuesTx {
No newline at end of file
296 float: left;
No newline at end of file
297 display: block;
No newline at end of file
298 margin: 0 auto;
No newline at end of file
299 border: 0px solid #bbb !important; }
No newline at end of file
300
No newline at end of file
301 .divValuesAntenna {
No newline at end of file
302 /*width: 230px;*/
No newline at end of file
303 border: 0px solid #2eb !important; }
No newline at end of file
304
No newline at end of file
305 .divValuesTx {
No newline at end of file
306 /*width: 175px;*/
No newline at end of file
307 border: 0px solid #bbb !important; }
No newline at end of file
308
No newline at end of file
309 .divValuesAntenna input[type=text], .divValuesTx input[type=text] {
No newline at end of file
310 border: 0px;
No newline at end of file
311 border-bottom: 1px solid #666 !important;
No newline at end of file
312 line-height: 1.1em;
No newline at end of file
313 font-family: 'Roboto Condensed', sans-serif; }
No newline at end of file
314
No newline at end of file
315 .divValuesAntenna input[type=text] {
No newline at end of file
316 width: 18px; }
No newline at end of file
317
No newline at end of file
318 .divValuesTx input[type=text]{
No newline at end of file
319 width: 11px; }
No newline at end of file
320
No newline at end of file
321 .lblSign, .lblSignTx {
No newline at end of file
322 font-family: 'Roboto Condensed', sans-serif;
No newline at end of file
323 color: #666;
No newline at end of file
324 float: left;
No newline at end of file
325 margin: 0px;
No newline at end of file
326 border: 0px solid #bbb !important; }
No newline at end of file
327
No newline at end of file
328 .lblSignLeft {
No newline at end of file
329 font-family: 'Roboto Condensed', sans-serif;
No newline at end of file
330 color: #666;
No newline at end of file
331 float: left;
No newline at end of file
332 margin: 0px 2px 0px 0px;
No newline at end of file
333 padding: 0;
No newline at end of file
334 border: 0px solid #f00 !important; }
No newline at end of file
335
No newline at end of file
336 .lblSignRight {
No newline at end of file
337 font-family: 'Roboto Condensed', sans-serif;
No newline at end of file
338 color: #666;
No newline at end of file
339 float: left;
No newline at end of file
340 margin: 0;
No newline at end of file
341 padding: 0;
No newline at end of file
342 border: 0px solid #f00 !important; }
No newline at end of file
343
No newline at end of file
344 .lblNewSignLeft, .lblNewSignRight {
No newline at end of file
345 font-family: 'Roboto Condensed', sans-serif;
No newline at end of file
346 color: #666;
No newline at end of file
347 float: left;
No newline at end of file
348 padding: 0; }
No newline at end of file
349
No newline at end of file
350 .lblNewSignLeft {
No newline at end of file
351 margin: 0px 2px 0px 0px;
No newline at end of file
352 border: 0px solid #f00 !important; }
No newline at end of file
353
No newline at end of file
354 .lblNewSignRight {
No newline at end of file
355 margin: 0;
No newline at end of file
356 border: 0px solid #f00 !important; }
No newline at end of file
357
No newline at end of file
358 .divTx {
No newline at end of file
359 display: block;
No newline at end of file
360 float: left;
No newline at end of file
361 margin: 10px;
No newline at end of file
362 border: 0px solid #f00 !important; }
No newline at end of file
363
No newline at end of file
364 .divTx label {
No newline at end of file
365 display: block; }
No newline at end of file
366
No newline at end of file
367 .divTx textarea {
No newline at end of file
368 width: 100px;
No newline at end of file
369 max-width: 100px;
No newline at end of file
370 height: 160px;
No newline at end of file
371 max-height: 165px;
No newline at end of file
372 text-align: justify;
No newline at end of file
373 border: 2px solid #eee !important;
No newline at end of file
374 font-family: "Ubuntu";
No newline at end of file
375 font-size: inherit;
No newline at end of file
376 line-height: 20px; }
No newline at end of file
377
No newline at end of file
378 .divTx p {
No newline at end of file
379 width: 100px;
No newline at end of file
380 max-width: 105px;
No newline at end of file
381 height: 160px;
No newline at end of file
382 max-height: 165px;
No newline at end of file
383 background: #fdfdfb;
No newline at end of file
384 padding: 2px;
No newline at end of file
385 border: 1px solid #eee !important;
No newline at end of file
386 font-family: 'Ubuntu', sans-serif;
No newline at end of file
387 font-size: inherit;
No newline at end of file
388 text-align: justify;
No newline at end of file
389 margin: 0 auto;
No newline at end of file
390 line-height: 20px; }
No newline at end of file
391
No newline at end of file
392 .divUes {
No newline at end of file
393 display: block;
No newline at end of file
394 margin: 10px; }
No newline at end of file
395
No newline at end of file
396 .divUes input[type=text] {
No newline at end of file
397 width: 240px;
No newline at end of file
398 max-width: 240px;
No newline at end of file
399 font-family: 'Ubuntu', sans-serif;
No newline at end of file
400 font-size: inherit; }
No newline at end of file
401
No newline at end of file
402 .divNewUes {
No newline at end of file
403 width: 350px;
No newline at end of file
404 display: block;
No newline at end of file
405 margin: 0px 10px;
No newline at end of file
406 padding: 0;
No newline at end of file
407 font-family: 'Roboto Condensed', sans-serif;
No newline at end of file
408 /*overflow: hidden;*/
No newline at end of file
409 border: 0px solid #f00 !important; }
No newline at end of file
410
No newline at end of file
411 .titleUes {
No newline at end of file
412 width: 35px;
No newline at end of file
413 text-align: right;
No newline at end of file
414 padding-right: 5px;
No newline at end of file
415 float: left;
No newline at end of file
416 line-height: 22px;
No newline at end of file
417 font-family: 'Roboto Condensed', sans-serif;
No newline at end of file
418 letter-spacing: 0.086em;
No newline at end of file
419 border: 0px solid #266 !important; }
No newline at end of file
420
No newline at end of file
421 .valueUes {
No newline at end of file
422 width: 300px;
No newline at end of file
423 float: left;
No newline at end of file
424 border: 0px solid #2f4 !important;
No newline at end of file
425 line-height: 22px; }
No newline at end of file
426
No newline at end of file
427 .lblUes {
No newline at end of file
428 font-family: 'Roboto Condensed', sans-serif;
No newline at end of file
429 color: #666;
No newline at end of file
430 font-size: 1.1em; }
No newline at end of file
431
No newline at end of file
432 .txtUnitUes {
No newline at end of file
433 width: 60px;
No newline at end of file
434 border: 0;
No newline at end of file
435 padding: 0px 2px;
No newline at end of file
436 text-align: center;
No newline at end of file
437 font-family: 'Roboto Condensed', sans-serif;
No newline at end of file
438 font-size: 0.95em;
No newline at end of file
439 border-bottom: 1px solid #666 !important; }
No newline at end of file
440 /*
No newline at end of file
441 .divNewUes input[type=text] {
No newline at end of file
442 width: 240px;
No newline at end of file
443 max-width: 240px;
No newline at end of file
444 line-height: 22px; }
No newline at end of file
445 */
No newline at end of file
446 .checkOnly {
No newline at end of file
447 width: 120px;
No newline at end of file
448 float: left;
No newline at end of file
449 display: block;
No newline at end of file
450 line-height: 25px;
No newline at end of file
451 border: 0px solid #1cc !important; }
No newline at end of file
452
No newline at end of file
453 .overJRO img {
No newline at end of file
454 width: 400px;
No newline at end of file
455 height: 270px;
No newline at end of file
456 text-align: center;
No newline at end of file
457 vertical-align: middle;
No newline at end of file
458 margin: 10px 5px 5px 5px;
No newline at end of file
459 display: block;
No newline at end of file
460 background: #fdfdfb;
No newline at end of file
461 border: 1px solid #eee !important; }
No newline at end of file
462
No newline at end of file
463 .overJRO a {
No newline at end of file
464 text-align: center;
No newline at end of file
465 margin-left: 160px;
No newline at end of file
466 display: block; }
No newline at end of file
467
No newline at end of file
468 .activeOverJRO {
No newline at end of file
469 width: 60px;
No newline at end of file
470 padding: 0px 2px;
No newline at end of file
471 border-bottom: 1px solid #1494F6 !important; }
No newline at end of file
472
No newline at end of file
473 /****************************************************************************************/
No newline at end of file
474 /****** MENU DE NAVEGACION DE PATRONES **********************************/
No newline at end of file
475 /****************************************************************************************/
No newline at end of file
476 #divMnuPattern {
No newline at end of file
477 width: 280px;
No newline at end of file
478 height: 25px;
No newline at end of file
479 display: block;
No newline at end of file
480 float: right;
No newline at end of file
481 margin: 5px 40px 5px 0px;
No newline at end of file
482 border: 0px solid #1cc !important; }
No newline at end of file
483
No newline at end of file
484 #divMnuPattern li {
No newline at end of file
485 float: right;
No newline at end of file
486 display: block;
No newline at end of file
487 width: 60px;
No newline at end of file
488 border: 0px solid #2cc !important; }
No newline at end of file
489
No newline at end of file
490 #divMnuPattern a {
No newline at end of file
491 display: block;
No newline at end of file
492 line-height: 22px;
No newline at end of file
493 text-decoration: none;
No newline at end of file
494 padding: 0px 5px;
No newline at end of file
495 margin: 0px 2px;
No newline at end of file
496 text-align: center;
No newline at end of file
497 color: #1494F6;
No newline at end of file
498 border-bottom: 1px solid #1494F6 !important; }
No newline at end of file
499
No newline at end of file
500 #infoPattern {
No newline at end of file
501 display: block;
No newline at end of file
502 margin: 0px 25px;
No newline at end of file
503 border: 0px solid #1494f6 !important; }
No newline at end of file
504
No newline at end of file
505 #navPatterns {
No newline at end of file
506 margin: 0 auto;
No newline at end of file
507 width: 700px;
No newline at end of file
508 height: 30px;
No newline at end of file
509 border: 0px solid #d00 !important;
No newline at end of file
510 font-family: 'Ubuntu', sans-serif;
No newline at end of file
511 font-size: 14px;
No newline at end of file
512 padding: 5px 0px; }
No newline at end of file
513
No newline at end of file
514 #navPatternList {
No newline at end of file
515 margin: 0 auto;
No newline at end of file
516 border: 0px solid #ecc !important; }
No newline at end of file
517
No newline at end of file
518 #navPatternList ul {
No newline at end of file
519 list-style: none;
No newline at end of file
520 list-style-type: none;
No newline at end of file
521 margin: 0; }
No newline at end of file
522
No newline at end of file
523 #navPatternList ul li {
No newline at end of file
524 float: left;
No newline at end of file
525 width: 50px;
No newline at end of file
526 border: 1px solid #eee !important; }
No newline at end of file
527
No newline at end of file
528 #navPatternList a {
No newline at end of file
529 width: 50px;
No newline at end of file
530 display: block;
No newline at end of file
531 text-align: center;
No newline at end of file
532 line-height: 30px;
No newline at end of file
533 padding: 1px 0px;
No newline at end of file
534 border: 0px solid #1cc !important; }
No newline at end of file
535
No newline at end of file
536 .lnkPattern {
No newline at end of file
537 background-color: #ccc !important;
No newline at end of file
538 color: #eee; }
No newline at end of file
539
No newline at end of file
540 .lnkPatternSelected {
No newline at end of file
541 background-color: #2cc !important;
No newline at end of file
542 color: #fff; }
No newline at end of file
543
No newline at end of file
544 .lnkPatternActive {
No newline at end of file
545 color: #f66;
No newline at end of file
546 }
No newline at end of file
547
No newline at end of file
548 .divListofPatterns {
No newline at end of file
549 width: 650px;
No newline at end of file
550 display: block;
No newline at end of file
551 border: 1px solid #1cc !important;
No newline at end of file
552 margin: 0 auto; }
No newline at end of file
553
No newline at end of file
554 .divPattern {
No newline at end of file
555 width: 600px;
No newline at end of file
556 display: block;
No newline at end of file
557 border: 1px solid #f00 !important;
No newline at end of file
558 margin: 2px auto; }
No newline at end of file
559
No newline at end of file
560 /****************************************************************************************/
No newline at end of file
561 /****** HEADER *************/
No newline at end of file
562 /****************************************************************************************/
No newline at end of file
563 header nav {
No newline at end of file
564 width: 960px;
No newline at end of file
565 margin: 0 auto;
No newline at end of file
566 height: 100%;
No newline at end of file
567 border: 0px solid #1cc !important; }
No newline at end of file
568
No newline at end of file
569 header nav a {
No newline at end of file
570 font-family: 'Roboto Condensed', sans-serif;
No newline at end of file
571 font-size: 1.98em;
No newline at end of file
572 text-transform: uppercase;
No newline at end of file
573 width: 232px;
No newline at end of file
574 padding: 2px;
No newline at end of file
575 text-align: center;
No newline at end of file
576 border: 1px solid #ddd !important;
No newline at end of file
577 box-shadow: 1px 1px 2px #ddd;
No newline at end of file
578 display: block;
No newline at end of file
579 float: left;
No newline at end of file
580 height: 45px;
No newline at end of file
581 text-decoration: none;
No newline at end of file
582 background: #eee;
No newline at end of file
583 line-height: 45px;
No newline at end of file
584 color: #15425d;
No newline at end of file
585 margin: 0px 1px; }
No newline at end of file
586
No newline at end of file
587 header nav a.selected {
No newline at end of file
588 background: #666;
No newline at end of file
589 color: #fff; }
No newline at end of file
590
No newline at end of file
591 #Main_Head {
No newline at end of file
592 margin: 0 auto;
No newline at end of file
593 height: 100%;
No newline at end of file
594 border: 1px solid #ddd !important;
No newline at end of file
595 box-shadow: 1px 1px 2px #ddd;
No newline at end of file
596 border-radius: 5px;
No newline at end of file
597 display: block; }
No newline at end of file
598
No newline at end of file
599 .Main_Title {
No newline at end of file
600 font-size: 2em;
No newline at end of file
601 letter-spacing: 0.06em;
No newline at end of file
602 color: #444;
No newline at end of file
603 text-shadow: 2px 2px #ccc; }
No newline at end of file
604
No newline at end of file
605 /****************************************************************************************/
No newline at end of file
606 /****** FOOTER *************/
No newline at end of file
607 /****************************************************************************************/
No newline at end of file
608 footer p {
No newline at end of file
609 font-family: 'Roboto Condensed', sans-serif;
No newline at end of file
610 font-size: 0.98em; }
No newline at end of file
611
No newline at end of file
612 /****************************************************************************************/
No newline at end of file
613 /****** LOGIN *************/
No newline at end of file
614 /****************************************************************************************/
No newline at end of file
615 #contentLogin {
No newline at end of file
616 margin: 0;
No newline at end of file
617 padding: 0;
No newline at end of file
618 border: 0px solid #1cc; }
No newline at end of file
619
No newline at end of file
620 #MainColumnLogin {
No newline at end of file
621 margin: 2px auto;
No newline at end of file
622 border: 0px solid #f00 !important;
No newline at end of file
623 box-shadow: 1px 1px 2px #ddd;
No newline at end of file
624 border-radius: 2px;
No newline at end of file
625 background-color: #eee;
No newline at end of file
626 width: 100%;
No newline at end of file
627 padding: 5px 0px;
No newline at end of file
628 }
No newline at end of file
629
No newline at end of file
630 .row_reg {
No newline at end of file
631 margin: 5px auto;
No newline at end of file
632 display: block;
No newline at end of file
633 width: 90%;
No newline at end of file
634 border: 0px solid #1cc !important;
No newline at end of file
635 line-height: 22px;
No newline at end of file
636 }
No newline at end of file
637
No newline at end of file
638 .row_reg label, .row_reg input[type=text] {
No newline at end of file
639 float: left;
No newline at end of file
640 line-height: 22px;
No newline at end of file
641 }
No newline at end of file
642
No newline at end of file
643 #id_username, #id_password {
No newline at end of file
644 width: 160px;
No newline at end of file
645 line-height: 22px;
No newline at end of file
646 }
No newline at end of file
647
No newline at end of file
648 .row_reg label {
No newline at end of file
649 width: 400px;
No newline at end of file
650 text-align: right;
No newline at end of file
651 padding-right: 10px;
No newline at end of file
652 border: 0px solid #d22 !important;
No newline at end of file
653 }
No newline at end of file
654
No newline at end of file
655 .row_reg input[type=submit], .row_reg input[type=button] {
No newline at end of file
656 margin-left: 410px;
No newline at end of file
657 width: 80px;
No newline at end of file
658 }
No newline at end of file
659
No newline at end of file
660 #lblTitleLogin {
No newline at end of file
661 width: 100%;
No newline at end of file
662 text-align: center;
No newline at end of file
663 font-size: 1.2em;
No newline at end of file
664 font-weight: normal;
No newline at end of file
665 color: #222;
No newline at end of file
666 border: 0px solid #f00 !important;
No newline at end of file
667 background-color: #ccc;
No newline at end of file
668 } No newline at end of file
@@ -0,0 +1,5
1 /*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license
No newline at end of file
2 //@ sourceMappingURL=jquery.min.map
No newline at end of file
3 */(function(e,t){var n,r,i=typeof t,o=e.document,a=e.location,s=e.jQuery,u=e.$,l={},c=[],p="1.9.1",f=c.concat,d=c.push,h=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,b=function(e,t){return new b.fn.init(e,t,r)},x=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^[\],:{}\s]*$/,E=/(?:^|:|,)(?:\s*\[)+/g,S=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,A=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,j=/^-ms-/,D=/-([\da-z])/gi,L=function(e,t){return t.toUpperCase()},H=function(e){(o.addEventListener||"load"===e.type||"complete"===o.readyState)&&(q(),b.ready())},q=function(){o.addEventListener?(o.removeEventListener("DOMContentLoaded",H,!1),e.removeEventListener("load",H,!1)):(o.detachEvent("onreadystatechange",H),e.detachEvent("onload",H))};b.fn=b.prototype={jquery:p,constructor:b,init:function(e,n,r){var i,a;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof b?n[0]:n,b.merge(this,b.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:o,!0)),C.test(i[1])&&b.isPlainObject(n))for(i in n)b.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(a=o.getElementById(i[2]),a&&a.parentNode){if(a.id!==i[2])return r.find(e);this.length=1,this[0]=a}return this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):b.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),b.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return h.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return b.each(this,e,t)},ready:function(e){return b.ready.promise().done(e),this},slice:function(){return this.pushStack(h.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:d,sort:[].sort,splice:[].splice},b.fn.init.prototype=b.fn,b.extend=b.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||b.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(o=arguments[u]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(b.isPlainObject(r)||(n=b.isArray(r)))?(n?(n=!1,a=e&&b.isArray(e)?e:[]):a=e&&b.isPlainObject(e)?e:{},s[i]=b.extend(c,a,r)):r!==t&&(s[i]=r));return s},b.extend({noConflict:function(t){return e.$===b&&(e.$=u),t&&e.jQuery===b&&(e.jQuery=s),b},isReady:!1,readyWait:1,holdReady:function(e){e?b.readyWait++:b.ready(!0)},ready:function(e){if(e===!0?!--b.readyWait:!b.isReady){if(!o.body)return setTimeout(b.ready);b.isReady=!0,e!==!0&&--b.readyWait>0||(n.resolveWith(o,[b]),b.fn.trigger&&b(o).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===b.type(e)},isArray:Array.isArray||function(e){return"array"===b.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==b.type(e)||e.nodeType||b.isWindow(e))return!1;try{if(e.constructor&&!y.call(e,"constructor")&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=b.buildFragment([e],t,i),i&&b(i).remove(),b.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=b.trim(n),n&&k.test(n.replace(S,"@").replace(A,"]").replace(E,"")))?Function("return "+n)():(b.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||b.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&b.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(j,"ms-").replace(D,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:v&&!v.call("\ufeff\u00a0")?function(e){return null==e?"":v.call(e)}:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?b.merge(n,"string"==typeof e?[e]:e):d.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(g)return g.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return f.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),b.isFunction(e)?(r=h.call(arguments,2),i=function(){return e.apply(n||this,r.concat(h.call(arguments)))},i.guid=e.guid=e.guid||b.guid++,i):t},access:function(e,n,r,i,o,a,s){var u=0,l=e.length,c=null==r;if("object"===b.type(r)){o=!0;for(u in r)b.access(e,n,u,r[u],!0,a,s)}else if(i!==t&&(o=!0,b.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(b(e),n)})),n))for(;l>u;u++)n(e[u],r,s?i:i.call(e[u],u,n(e[u],r)));return o?e:c?n.call(e):l?n(e[0],r):a},now:function(){return(new Date).getTime()}}),b.ready.promise=function(t){if(!n)if(n=b.Deferred(),"complete"===o.readyState)setTimeout(b.ready);else if(o.addEventListener)o.addEventListener("DOMContentLoaded",H,!1),e.addEventListener("load",H,!1);else{o.attachEvent("onreadystatechange",H),e.attachEvent("onload",H);var r=!1;try{r=null==e.frameElement&&o.documentElement}catch(i){}r&&r.doScroll&&function a(){if(!b.isReady){try{r.doScroll("left")}catch(e){return setTimeout(a,50)}q(),b.ready()}}()}return n.promise(t)},b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=b.type(e);return b.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=b(o);var _={};function F(e){var t=_[e]={};return b.each(e.match(w)||[],function(e,n){t[n]=!0}),t}b.Callbacks=function(e){e="string"==typeof e?_[e]||F(e):b.extend({},e);var n,r,i,o,a,s,u=[],l=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=u.length,n=!0;u&&o>a;a++)if(u[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,u&&(l?l.length&&c(l.shift()):r?u=[]:p.disable())},p={add:function(){if(u){var t=u.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);"function"===r?e.unique&&p.has(n)||u.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=u.length:r&&(s=t,c(r))}return this},remove:function(){return u&&b.each(arguments,function(e,t){var r;while((r=b.inArray(t,u,r))>-1)u.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?b.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],this},disable:function(){return u=l=r=t,this},disabled:function(){return!u},lock:function(){return l=t,r||p.disable(),this},locked:function(){return!l},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!l||(n?l.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},b.extend({Deferred:function(e){var t=[["resolve","done",b.Callbacks("once memory"),"resolved"],["reject","fail",b.Callbacks("once memory"),"rejected"],["notify","progress",b.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return b.Deferred(function(n){b.each(t,function(t,o){var a=o[0],s=b.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&b.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?b.extend(e,r):r}},i={};return r.pipe=r.then,b.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=h.call(arguments),r=n.length,i=1!==r||e&&b.isFunction(e.promise)?r:0,o=1===i?e:b.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?h.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,u,l;if(r>1)for(s=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&b.isFunction(n[t].promise)?n[t].promise().done(a(t,l,n)).fail(o.reject).progress(a(t,u,s)):--i;return i||o.resolveWith(l,n),o.promise()}}),b.support=function(){var t,n,r,a,s,u,l,c,p,f,d=o.createElement("div");if(d.setAttribute("className","t"),d.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*"),r=d.getElementsByTagName("a")[0],!n||!r||!n.length)return{};s=o.createElement("select"),l=s.appendChild(o.createElement("option")),a=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={getSetAttribute:"t"!==d.className,leadingWhitespace:3===d.firstChild.nodeType,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:!!a.value,optSelected:l.selected,enctype:!!o.createElement("form").enctype,html5Clone:"<:nav></:nav>"!==o.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===o.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!l.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}a=o.createElement("input"),a.setAttribute("value",""),t.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","t"),a.setAttribute("name","t"),u=o.createDocumentFragment(),u.appendChild(a),t.appendChecked=a.checked,t.checkClone=u.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;return d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip,b(function(){var n,r,a,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",u=o.getElementsByTagName("body")[0];u&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",u.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",a=d.getElementsByTagName("td"),a[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===a[0].offsetHeight,a[0].style.display="",a[1].style.display="none",t.reliableHiddenOffsets=p&&0===a[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=4===d.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==u.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(o.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(u.style.zoom=1)),u.removeChild(n),n=d=a=r=null)}),n=s=u=l=r=a=null,t}();var O=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,B=/([A-Z])/g;function P(e,n,r,i){if(b.acceptData(e)){var o,a,s=b.expando,u="string"==typeof n,l=e.nodeType,p=l?b.cache:e,f=l?e[s]:e[s]&&s;if(f&&p[f]&&(i||p[f].data)||!u||r!==t)return f||(l?e[s]=f=c.pop()||b.guid++:f=s),p[f]||(p[f]={},l||(p[f].toJSON=b.noop)),("object"==typeof n||"function"==typeof n)&&(i?p[f]=b.extend(p[f],n):p[f].data=b.extend(p[f].data,n)),o=p[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[b.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[b.camelCase(n)])):a=o,a}}function R(e,t,n){if(b.acceptData(e)){var r,i,o,a=e.nodeType,s=a?b.cache:e,u=a?e[b.expando]:b.expando;if(s[u]){if(t&&(o=n?s[u]:s[u].data)){b.isArray(t)?t=t.concat(b.map(t,b.camelCase)):t in o?t=[t]:(t=b.camelCase(t),t=t in o?[t]:t.split(" "));for(r=0,i=t.length;i>r;r++)delete o[t[r]];if(!(n?$:b.isEmptyObject)(o))return}(n||(delete s[u].data,$(s[u])))&&(a?b.cleanData([e],!0):b.support.deleteExpando||s!=s.window?delete s[u]:s[u]=null)}}}b.extend({cache:{},expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?b.cache[e[b.expando]]:e[b.expando],!!e&&!$(e)},data:function(e,t,n){return P(e,t,n)},removeData:function(e,t){return R(e,t)},_data:function(e,t,n){return P(e,t,n,!0)},_removeData:function(e,t){return R(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&b.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),b.fn.extend({data:function(e,n){var r,i,o=this[0],a=0,s=null;if(e===t){if(this.length&&(s=b.data(o),1===o.nodeType&&!b._data(o,"parsedAttrs"))){for(r=o.attributes;r.length>a;a++)i=r[a].name,i.indexOf("data-")||(i=b.camelCase(i.slice(5)),W(o,i,s[i]));b._data(o,"parsedAttrs",!0)}return s}return"object"==typeof e?this.each(function(){b.data(this,e)}):b.access(this,function(n){return n===t?o?W(o,e,b.data(o,e)):null:(this.each(function(){b.data(this,e,n)}),t)},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function W(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(B,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:O.test(r)?b.parseJSON(r):r}catch(o){}b.data(e,n,r)}else r=t}return r}function $(e){var t;for(t in e)if(("data"!==t||!b.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}b.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=b._data(e,n),r&&(!i||b.isArray(r)?i=b._data(e,n,b.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t),a=function(){b.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return b._data(e,n)||b._data(e,n,{empty:b.Callbacks("once memory").add(function(){b._removeData(e,t+"queue"),b._removeData(e,n)})})}}),b.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?b.queue(this[0],e):n===t?this:this.each(function(){var t=b.queue(this,e,n);b._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(e,t){return e=b.fx?b.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=b.Deferred(),a=this,s=this.length,u=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=b._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(u));return u(),o.promise(n)}});var I,z,X=/[\t\r\n]/g,U=/\r/g,V=/^(?:input|select|textarea|button|object)$/i,Y=/^(?:a|area)$/i,J=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,G=/^(?:checked|selected)$/i,Q=b.support.getSetAttribute,K=b.support.input;b.fn.extend({attr:function(e,t){return b.access(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,t){return b.access(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return e=b.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,u="string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=b.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,u=0===arguments.length||"string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?b.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return b.isFunction(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=b(this),u=t,l=e.match(w)||[];while(o=l[a++])u=r?u:!s.hasClass(o),s[u?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&b._data(this,"__className__",this.className),this.className=this.className||e===!1?"":b._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(X," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=b.isFunction(e),this.each(function(n){var o,a=b(this);1===this.nodeType&&(o=i?e.call(this,n,a.val()):e,null==o?o="":"number"==typeof o?o+="":b.isArray(o)&&(o=b.map(o,function(e){return null==e?"":e+""})),r=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=b.valHooks[o.type]||b.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(U,""):null==n?"":n)}}}),b.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,u=0>i?s:o?i:0;for(;s>u;u++)if(n=r[u],!(!n.selected&&u!==i||(b.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&b.nodeName(n.parentNode,"optgroup"))){if(t=b(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=b.makeArray(t);return b(e).find("option").each(function(){this.selected=b.inArray(b(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attr:function(e,n,r){var o,a,s,u=e.nodeType;if(e&&3!==u&&8!==u&&2!==u)return typeof e.getAttribute===i?b.prop(e,n,r):(a=1!==u||!b.isXMLDoc(e),a&&(n=n.toLowerCase(),o=b.attrHooks[n]||(J.test(n)?z:I)),r===t?o&&a&&"get"in o&&null!==(s=o.get(e,n))?s:(typeof e.getAttribute!==i&&(s=e.getAttribute(n)),null==s?t:s):null!==r?o&&a&&"set"in o&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r):(b.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=b.propFix[n]||n,J.test(n)?!Q&&G.test(n)?e[b.camelCase("default-"+n)]=e[r]=!1:e[r]=!1:b.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!b.support.radioValue&&"radio"===t&&b.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!b.isXMLDoc(e),a&&(n=b.propFix[n]||n,o=b.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):V.test(e.nodeName)||Y.test(e.nodeName)&&e.href?0:t}}}}),z={get:function(e,n){var r=b.prop(e,n),i="boolean"==typeof r&&e.getAttribute(n),o="boolean"==typeof r?K&&Q?null!=i:G.test(n)?e[b.camelCase("default-"+n)]:!!i:e.getAttributeNode(n);return o&&o.value!==!1?n.toLowerCase():t},set:function(e,t,n){return t===!1?b.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&b.propFix[n]||n,n):e[b.camelCase("default-"+n)]=e[n]=!0,n}},K&&Q||(b.attrHooks.value={get:function(e,n){var r=e.getAttributeNode(n);return b.nodeName(e,"input")?e.defaultValue:r&&r.specified?r.value:t},set:function(e,n,r){return b.nodeName(e,"input")?(e.defaultValue=n,t):I&&I.set(e,n,r)}}),Q||(I=b.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&("id"===n||"name"===n||"coords"===n?""!==r.value:r.specified)?r.value:t},set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},b.attrHooks.contenteditable={get:I.get,set:function(e,t,n){I.set(e,""===t?!1:t,n)}},b.each(["width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}})})),b.support.hrefNormalized||(b.each(["href","src","width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null==r?t:r}})}),b.each(["href","src"],function(e,t){b.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}})),b.support.style||(b.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),b.support.optSelected||(b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),b.support.enctype||(b.propFix.enctype="encoding"),b.support.checkOn||b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,n){return b.isArray(n)?e.checked=b.inArray(b(e).val(),n)>=0:t}})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}b.event={global:{},add:function(e,n,r,o,a){var s,u,l,c,p,f,d,h,g,m,y,v=b._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=b.guid++),(u=v.events)||(u=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof b===i||e&&b.event.triggered===e.type?t:b.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(w)||[""],l=n.length;while(l--)s=rt.exec(n[l])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),p=b.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=b.event.special[g]||{},d=b.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&b.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=u[g])||(h=u[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),b.event.global[g]=!0;e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,p,f,d,h,g,m=b.hasData(e)&&b._data(e);if(m&&(c=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(s=rt.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=b.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));u&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||b.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(c)&&(delete m.handle,b._removeData(e,"events"))}},trigger:function(n,r,i,a){var s,u,l,c,p,f,d,h=[i||o],g=y.call(n,"type")?n.type:n,m=y.call(n,"namespace")?n.namespace.split("."):[];if(l=f=i=i||o,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+b.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),u=0>g.indexOf(":")&&"on"+g,n=n[b.expando]?n:new b.Event(g,"object"==typeof n&&n),n.isTrigger=!0,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:b.makeArray(r,[n]),p=b.event.special[g]||{},a||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!a&&!p.noBubble&&!b.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(l=l.parentNode);l;l=l.parentNode)h.push(l),f=l;f===(i.ownerDocument||o)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((l=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(b._data(l,"events")||{})[n.type]&&b._data(l,"handle"),s&&s.apply(l,r),s=u&&l[u],s&&b.acceptData(l)&&s.apply&&s.apply(l,r)===!1&&n.preventDefault();if(n.type=g,!(a||n.isDefaultPrevented()||p._default&&p._default.apply(i.ownerDocument,r)!==!1||"click"===g&&b.nodeName(i,"a")||!b.acceptData(i)||!u||!i[g]||b.isWindow(i))){f=i[u],f&&(i[u]=null),b.event.triggered=g;try{i[g]()}catch(v){}b.event.triggered=t,f&&(i[u]=f)}return n.result}},dispatch:function(e){e=b.event.fix(e);var n,r,i,o,a,s=[],u=h.call(arguments),l=(b._data(this,"events")||{})[e.type]||[],c=b.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=b.event.handlers.call(this,e,l),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((b.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],u=n.delegateCount,l=e.target;if(u&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(o=[],a=0;u>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?b(r,this).index(l)>=0:b.find(r,this,null,[l]).length),o[r]&&o.push(i);o.length&&s.push({elem:l,handlers:o})}return n.length>u&&s.push({elem:this,handlers:n.slice(u)}),s},fix:function(e){if(e[b.expando])return e;var t,n,r,i=e.type,a=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new b.Event(a),t=r.length;while(t--)n=r[t],e[n]=a[n];return e.target||(e.target=a.srcElement||o),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,a):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,a,s=n.button,u=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||o,a=i.documentElement,r=i.body,e.pageX=n.clientX+(a&&a.scrollLeft||r&&r.scrollLeft||0)-(a&&a.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(a&&a.scrollTop||r&&r.scrollTop||0)-(a&&a.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&u&&(e.relatedTarget=u===e.target?n.toElement:u),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},click:{trigger:function(){return b.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t}},focus:{trigger:function(){if(this!==o.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===o.activeElement&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=b.extend(new b.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?b.event.trigger(i,null,t):b.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},b.removeEvent=o.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},b.Event=function(e,n){return this instanceof b.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&b.extend(this,n),this.timeStamp=e&&e.timeStamp||b.now(),this[b.expando]=!0,t):new b.Event(e,n)},b.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;
No newline at end of file
4 return(!i||i!==r&&!b.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),b.support.submitBubbles||(b.event.special.submit={setup:function(){return b.nodeName(this,"form")?!1:(b.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=b.nodeName(n,"input")||b.nodeName(n,"button")?n.form:t;r&&!b._data(r,"submitBubbles")&&(b.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),b._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&b.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return b.nodeName(this,"form")?!1:(b.event.remove(this,"._submit"),t)}}),b.support.changeBubbles||(b.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(b.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),b.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),b.event.simulate("change",this,e,!0)})),!1):(b.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!b._data(t,"changeBubbles")&&(b.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||b.event.simulate("change",this.parentNode,e,!0)}),b._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return b.event.remove(this,"._change"),!Z.test(this.nodeName)}}),b.support.focusinBubbles||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){b.event.simulate(t,e.target,b.event.fix(e),!0)};b.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),b.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return b().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=b.guid++)),this.each(function(){b.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,b(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){b.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?b.event.trigger(e,n,r,!0):t}}),function(e,t){var n,r,i,o,a,s,u,l,c,p,f,d,h,g,m,y,v,x="sizzle"+-new Date,w=e.document,T={},N=0,C=0,k=it(),E=it(),S=it(),A=typeof t,j=1<<31,D=[],L=D.pop,H=D.push,q=D.slice,M=D.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},_="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=F.replace("w","w#"),B="([*^$|!~]?=)",P="\\["+_+"*("+F+")"+_+"*(?:"+B+_+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+O+")|)|)"+_+"*\\]",R=":("+F+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+P.replace(3,8)+")*)|.*)\\)|)",W=RegExp("^"+_+"+|((?:^|[^\\\\])(?:\\\\.)*)"+_+"+$","g"),$=RegExp("^"+_+"*,"+_+"*"),I=RegExp("^"+_+"*([\\x20\\t\\r\\n\\f>+~])"+_+"*"),z=RegExp(R),X=RegExp("^"+O+"$"),U={ID:RegExp("^#("+F+")"),CLASS:RegExp("^\\.("+F+")"),NAME:RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:RegExp("^("+F.replace("w","w*")+")"),ATTR:RegExp("^"+P),PSEUDO:RegExp("^"+R),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+_+"*(even|odd|(([+-]|)(\\d*)n|)"+_+"*(?:([+-]|)"+_+"*(\\d+)|))"+_+"*\\)|)","i"),needsContext:RegExp("^"+_+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+_+"*((?:-\\d)?\\d*)"+_+"*\\)|)(?=[^-]|$)","i")},V=/[\x20\t\r\n\f]*[+~]/,Y=/^[^{]+\{\s*\[native code/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,G=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,K=/'|\\/g,Z=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,et=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,tt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{q.call(w.documentElement.childNodes,0)[0].nodeType}catch(nt){q=function(e){var t,n=[];while(t=this[e++])n.push(t);return n}}function rt(e){return Y.test(e+"")}function it(){var e,t=[];return e=function(n,r){return t.push(n+=" ")>i.cacheLength&&delete e[t.shift()],e[n]=r}}function ot(e){return e[x]=!0,e}function at(e){var t=p.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}}function st(e,t,n,r){var i,o,a,s,u,l,f,g,m,v;if((t?t.ownerDocument||t:w)!==p&&c(t),t=t||p,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(!d&&!r){if(i=J.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&y(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return H.apply(n,q.call(t.getElementsByTagName(e),0)),n;if((a=i[3])&&T.getByClassName&&t.getElementsByClassName)return H.apply(n,q.call(t.getElementsByClassName(a),0)),n}if(T.qsa&&!h.test(e)){if(f=!0,g=x,m=t,v=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){l=ft(e),(f=t.getAttribute("id"))?g=f.replace(K,"\\$&"):t.setAttribute("id",g),g="[id='"+g+"'] ",u=l.length;while(u--)l[u]=g+dt(l[u]);m=V.test(e)&&t.parentNode||t,v=l.join(",")}if(v)try{return H.apply(n,q.call(m.querySelectorAll(v),0)),n}catch(b){}finally{f||t.removeAttribute("id")}}}return wt(e.replace(W,"$1"),t,n,r)}a=st.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},c=st.setDocument=function(e){var n=e?e.ownerDocument||e:w;return n!==p&&9===n.nodeType&&n.documentElement?(p=n,f=n.documentElement,d=a(n),T.tagNameNoComments=at(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),T.attributes=at(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),T.getByClassName=at(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),T.getByName=at(function(e){e.id=x+0,e.innerHTML="<a name='"+x+"'></a><div name='"+x+"'></div>",f.insertBefore(e,f.firstChild);var t=n.getElementsByName&&n.getElementsByName(x).length===2+n.getElementsByName(x+0).length;return T.getIdNotName=!n.getElementById(x),f.removeChild(e),t}),i.attrHandle=at(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==A&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},T.getIdNotName?(i.find.ID=function(e,t){if(typeof t.getElementById!==A&&!d){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){return e.getAttribute("id")===t}}):(i.find.ID=function(e,n){if(typeof n.getElementById!==A&&!d){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==A&&r.getAttributeNode("id").value===e?[r]:t:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){var n=typeof e.getAttributeNode!==A&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=T.tagNameNoComments?function(e,n){return typeof n.getElementsByTagName!==A?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.NAME=T.getByName&&function(e,n){return typeof n.getElementsByName!==A?n.getElementsByName(name):t},i.find.CLASS=T.getByClassName&&function(e,n){return typeof n.getElementsByClassName===A||d?t:n.getElementsByClassName(e)},g=[],h=[":focus"],(T.qsa=rt(n.querySelectorAll))&&(at(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||h.push("\\["+_+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||h.push(":checked")}),at(function(e){e.innerHTML="<input type='hidden' i=''/>",e.querySelectorAll("[i^='']").length&&h.push("[*^$]="+_+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").length||h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(T.matchesSelector=rt(m=f.matchesSelector||f.mozMatchesSelector||f.webkitMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&at(function(e){T.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",R)}),h=RegExp(h.join("|")),g=RegExp(g.join("|")),y=rt(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},v=f.compareDocumentPosition?function(e,t){var r;return e===t?(u=!0,0):(r=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t))?1&r||e.parentNode&&11===e.parentNode.nodeType?e===n||y(w,e)?-1:t===n||y(w,t)?1:0:4&r?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return u=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:0;if(o===a)return ut(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?ut(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},u=!1,[0,0].sort(v),T.detectDuplicates=u,p):p},st.matches=function(e,t){return st(e,null,null,t)},st.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Z,"='$1']"),!(!T.matchesSelector||d||g&&g.test(t)||h.test(t)))try{var n=m.call(e,t);if(n||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return st(t,p,null,[e]).length>0},st.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},st.attr=function(e,t){var n;return(e.ownerDocument||e)!==p&&c(e),d||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):d||T.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},st.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},st.uniqueSort=function(e){var t,n=[],r=1,i=0;if(u=!T.detectDuplicates,e.sort(v),u){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e};function ut(e,t){var n=t&&e,r=n&&(~t.sourceIndex||j)-(~e.sourceIndex||j);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function lt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ct(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pt(e){return ot(function(t){return t=+t,ot(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}o=st.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=st.selectors={cacheLength:50,createPseudo:ot,match:U,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(et,tt),e[3]=(e[4]||e[5]||"").replace(et,tt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||st.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&st.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return U.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&z.test(n)&&(t=ft(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(et,tt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[e+" "];return t||(t=RegExp("(^|"+_+")"+e+"("+_+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==A&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=st.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[x]||(m[x]={}),l=c[e]||[],d=l[0]===N&&l[1],f=l[0]===N&&l[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[N,d,f];break}}else if(v&&(l=(t[x]||(t[x]={}))[e])&&l[0]===N)f=l[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[x]||(p[x]={}))[e]=[N,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||st.error("unsupported pseudo: "+e);return r[x]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?ot(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=M.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ot(function(e){var t=[],n=[],r=s(e.replace(W,"$1"));return r[x]?ot(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ot(function(e){return function(t){return st(e,t).length>0}}),contains:ot(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:ot(function(e){return X.test(e||"")||st.error("unsupported lang: "+e),e=e.replace(et,tt).toLowerCase(),function(t){var n;do if(n=d?t.getAttribute("xml:lang")||t.getAttribute("lang"):t.lang)return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:pt(function(){return[0]}),last:pt(function(e,t){return[t-1]}),eq:pt(function(e,t,n){return[0>n?n+t:n]}),even:pt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:pt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:pt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:pt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[n]=lt(n);for(n in{submit:!0,reset:!0})i.pseudos[n]=ct(n);function ft(e,t){var n,r,o,a,s,u,l,c=E[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=i.preFilter;while(s){(!n||(r=$.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),u.push(o=[])),n=!1,(r=I.exec(s))&&(n=r.shift(),o.push({value:n,type:r[0].replace(W," ")}),s=s.slice(n.length));for(a in i.filter)!(r=U[a].exec(s))||l[a]&&!(r=l[a](r))||(n=r.shift(),o.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?st.error(e):E(e,u).slice(0)}function dt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function ht(e,t,n){var i=t.dir,o=n&&"parentNode"===i,a=C++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,s){var u,l,c,p=N+" "+a;if(s){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[x]||(t[x]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,s)||r,l[1]===!0)return!0}}function gt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function mt(e,t,n,r,i){var o,a=[],s=0,u=e.length,l=null!=t;for(;u>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),l&&t.push(s));return a}function yt(e,t,n,r,i,o){return r&&!r[x]&&(r=yt(r)),i&&!i[x]&&(i=yt(i,o)),ot(function(o,a,s,u){var l,c,p,f=[],d=[],h=a.length,g=o||xt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:mt(g,f,e,s,u),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,u),r){l=mt(y,d),r(l,[],s,u),c=l.length;while(c--)(p=l[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?M.call(o,p):f[c])>-1&&(o[l]=!(a[l]=p))}}else y=mt(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function vt(e){var t,n,r,o=e.length,a=i.relative[e[0].type],s=a||i.relative[" "],u=a?1:0,c=ht(function(e){return e===t},s,!0),p=ht(function(e){return M.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>u;u++)if(n=i.relative[e[u].type])f=[ht(gt(f),n)];else{if(n=i.filter[e[u].type].apply(null,e[u].matches),n[x]){for(r=++u;o>r;r++)if(i.relative[e[r].type])break;return yt(u>1&&gt(f),u>1&&dt(e.slice(0,u-1)).replace(W,"$1"),n,r>u&&vt(e.slice(u,r)),o>r&&vt(e=e.slice(r)),o>r&&dt(e))}f.push(n)}return gt(f)}function bt(e,t){var n=0,o=t.length>0,a=e.length>0,s=function(s,u,c,f,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,T=l,C=s||a&&i.find.TAG("*",d&&u.parentNode||u),k=N+=null==T?1:Math.random()||.1;for(w&&(l=u!==p&&u,r=n);null!=(h=C[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,u,c)){f.push(h);break}w&&(N=k,r=++n)}o&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,o&&b!==v){g=0;while(m=t[g++])m(x,y,u,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=L.call(f));y=mt(y)}H.apply(f,y),w&&!s&&y.length>0&&v+t.length>1&&st.uniqueSort(f)}return w&&(N=k,l=T),x};return o?ot(s):s}s=st.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=ft(e)),n=t.length;while(n--)o=vt(t[n]),o[x]?r.push(o):i.push(o);o=S(e,bt(i,r))}return o};function xt(e,t,n){var r=0,i=t.length;for(;i>r;r++)st(e,t[r],n);return n}function wt(e,t,n,r){var o,a,u,l,c,p=ft(e);if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(u=a[0]).type&&9===t.nodeType&&!d&&i.relative[a[1].type]){if(t=i.find.ID(u.matches[0].replace(et,tt),t)[0],!t)return n;e=e.slice(a.shift().value.length)}o=U.needsContext.test(e)?0:a.length;while(o--){if(u=a[o],i.relative[l=u.type])break;if((c=i.find[l])&&(r=c(u.matches[0].replace(et,tt),V.test(a[0].type)&&t.parentNode||t))){if(a.splice(o,1),e=r.length&&dt(a),!e)return H.apply(n,q.call(r,0)),n;break}}}return s(e,p)(r,t,d,n,V.test(e)),n}i.pseudos.nth=i.pseudos.eq;function Tt(){}i.filters=Tt.prototype=i.pseudos,i.setFilters=new Tt,c(),st.attr=b.attr,b.find=st,b.expr=st.selectors,b.expr[":"]=b.expr.pseudos,b.unique=st.uniqueSort,b.text=st.getText,b.isXMLDoc=st.isXML,b.contains=st.contains}(e);var at=/Until$/,st=/^(?:parents|prev(?:Until|All))/,ut=/^.[^:#\[\.,]*$/,lt=b.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};b.fn.extend({find:function(e){var t,n,r,i=this.length;if("string"!=typeof e)return r=this,this.pushStack(b(e).filter(function(){for(t=0;i>t;t++)if(b.contains(r[t],this))return!0}));for(n=[],t=0;i>t;t++)b.find(e,this[t],n);return n=this.pushStack(i>1?b.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t,n=b(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(b.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1))},filter:function(e){return this.pushStack(ft(this,e,!0))},is:function(e){return!!e&&("string"==typeof e?lt.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,o=[],a=lt.test(e)||"string"!=typeof e?b(e,t||this.context):0;for(;i>r;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&11!==n.nodeType){if(a?a.index(n)>-1:b.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}}return this.pushStack(o.length>1?b.unique(o):o)},index:function(e){return e?"string"==typeof e?b.inArray(this[0],b(e)):b.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?b(e,t):b.makeArray(e&&e.nodeType?[e]:e),r=b.merge(this.get(),n);return this.pushStack(b.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.fn.andSelf=b.fn.addBack;function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(e,t,n){return b.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(e,t,n){return b.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return b.dir(e,"previousSibling",n)},siblings:function(e){return b.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.merge([],e.childNodes)}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return at.test(e)||(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),i=this.length>1&&!ct[e]?b.unique(i):i,this.length>1&&st.test(e)&&(i=i.reverse()),this.pushStack(i)}}),b.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?b.find.matchesSelector(t[0],e)?[t[0]]:[]:b.find.matches(e,t)},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!b(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(t=t||0,b.isFunction(t))return b.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return b.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=b.grep(e,function(e){return 1===e.nodeType});if(ut.test(t))return b.filter(t,r,!n);t=b.filter(t,r)}return b.grep(e,function(e){return b.inArray(e,t)>=0===n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Nt=/^(?:checkbox|radio)$/i,Ct=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:b.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(o),Dt=jt.appendChild(o.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,b.fn.extend({text:function(e){return b.access(this,function(e){return e===t?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e))return this.each(function(t){b(this).wrapAll(e.call(this,t))});if(this[0]){var t=b(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return b.isFunction(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b.isFunction(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){b.nodeName(this,"body")||b(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=0;for(;null!=(n=this[r]);r++)(!e||b.filter(e,[n]).length>0)&&(t||1!==n.nodeType||b.cleanData(Ot(n)),n.parentNode&&(t&&b.contains(n.ownerDocument,n)&&Mt(Ot(n,"script")),n.parentNode.removeChild(n)));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&b.cleanData(Ot(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&b.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return b.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!b.support.htmlSerialize&&mt.test(e)||!b.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(b.cleanData(Ot(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){var t=b.isFunction(e);return t||"string"==typeof e||(e=b(e).not(this).detach()),this.domManip([e],!0,function(e){var t=this.nextSibling,n=this.parentNode;n&&(b(this).remove(),n.insertBefore(e,t))})},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=f.apply([],e);var i,o,a,s,u,l,c=0,p=this.length,d=this,h=p-1,g=e[0],m=b.isFunction(g);if(m||!(1>=p||"string"!=typeof g||b.support.checkClone)&&Ct.test(g))return this.each(function(i){var o=d.eq(i);m&&(e[0]=g.call(this,i,n?o.html():t)),o.domManip(e,n,r)});if(p&&(l=b.buildFragment(e,this[0].ownerDocument,!1,this),i=l.firstChild,1===l.childNodes.length&&(l=i),i)){for(n=n&&b.nodeName(i,"tr"),s=b.map(Ot(l,"script"),Ht),a=s.length;p>c;c++)o=l,c!==h&&(o=b.clone(o,!0,!0),a&&b.merge(s,Ot(o,"script"))),r.call(n&&b.nodeName(this[c],"table")?Lt(this[c],"tbody"):this[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,b.map(s,qt),c=0;a>c;c++)o=s[c],kt.test(o.type||"")&&!b._data(o,"globalEval")&&b.contains(u,o)&&(o.src?b.ajax({url:o.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):b.globalEval((o.text||o.textContent||o.innerHTML||"").replace(St,"")));l=i=null}return this}});function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function Ht(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Mt(e,t){var n,r=0;for(;null!=(n=e[r]);r++)b._data(n,"globalEval",!t||b._data(t[r],"globalEval"))}function _t(e,t){if(1===t.nodeType&&b.hasData(e)){var n,r,i,o=b._data(e),a=b._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)b.event.add(t,n,s[n][r])}a.data&&(a.data=b.extend({},a.data))}}function Ft(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!b.support.noCloneEvent&&t[b.expando]){i=b._data(t);for(r in i.events)b.removeEvent(t,r,i.handle);t.removeAttribute(b.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),b.support.html5Clone&&e.innerHTML&&!b.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Nt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){var n,r=0,i=[],o=b(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),b(o[r])[t](n),d.apply(i,n.get());return this.pushStack(i)}});function Ot(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||b.nodeName(o,n)?s.push(o):b.merge(s,Ot(o,n));return n===t||n&&b.nodeName(e,n)?b.merge([e],s):s}function Bt(e){Nt.test(e.type)&&(e.defaultChecked=e.checked)}b.extend({clone:function(e,t,n){var r,i,o,a,s,u=b.contains(e.ownerDocument,e);if(b.support.html5Clone||b.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(b.support.noCloneEvent&&b.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(r=Ot(o),s=Ot(e),a=0;null!=(i=s[a]);++a)r[a]&&Ft(i,r[a]);if(t)if(n)for(s=s||Ot(e),r=r||Ot(o),a=0;null!=(i=s[a]);a++)_t(i,r[a]);else _t(e,o);return r=Ot(o,"script"),r.length>0&&Mt(r,!u&&Ot(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,u,l,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===b.type(o))b.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),u=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[u]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!b.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!b.support.tbody){o="table"!==u||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)b.nodeName(l=o.childNodes[i],"tbody")&&!l.childNodes.length&&o.removeChild(l)
No newline at end of file
5 }b.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),b.support.appendChecked||b.grep(Ot(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===b.inArray(o,r))&&(a=b.contains(o.ownerDocument,o),s=Ot(f.appendChild(o),"script"),a&&Mt(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,u=b.expando,l=b.cache,p=b.support.deleteExpando,f=b.event.special;for(;null!=(n=e[s]);s++)if((t||b.acceptData(n))&&(o=n[u],a=o&&l[o])){if(a.events)for(r in a.events)f[r]?b.event.remove(n,r):b.removeEvent(n,r,a.handle);l[o]&&(delete l[o],p?delete n[u]:typeof n.removeAttribute!==i?n.removeAttribute(u):n[u]=null,c.push(o))}}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+x+")(.*)$","i"),Yt=RegExp("^("+x+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+x+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===b.css(e,"display")||!b.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=b._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=b._data(r,"olddisplay",un(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&b._data(r,"olddisplay",i?n:b.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}b.fn.extend({css:function(e,n){return b.access(this,function(e,n,r){var i,o,a={},s=0;if(b.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=b.css(e,n[s],!1,o);return a}return r!==t?b.style(e,n,r):b.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?b(this).show():b(this).hide()})}}),b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=b.camelCase(n),l=e.style;if(n=b.cssProps[u]||(b.cssProps[u]=tn(l,u)),s=b.cssHooks[n]||b.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(b.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||b.cssNumber[u]||(r+="px"),b.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=b.camelCase(n);return n=b.cssProps[u]||(b.cssProps[u]=tn(e.style,u)),s=b.cssHooks[n]||b.cssHooks[u],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||b.isNumeric(o)?o||0:a):a},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||b.contains(e.ownerDocument,e)||(u=b.style(e,n)),Yt.test(u)&&Ut.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):o.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),Yt.test(u)&&!zt.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=b.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=b.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=b.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=b.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=b.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(b.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function un(e){var t=o,n=Gt[e];return n||(n=ln(e,t),"none"!==n&&n||(Pt=(Pt||b("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=ln(e,t),Pt.detach()),Gt[e]=n),n}function ln(e,t){var n=b(t.createElement(e)).appendTo(t.body),r=b.css(n[0],"display");return n.remove(),r}b.each(["height","width"],function(e,n){b.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(b.css(e,"display"))?b.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,i),i):0)}}}),b.support.opacity||(b.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=b.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===b.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),b(function(){b.support.reliableMarginRight||(b.cssHooks.marginRight={get:function(e,n){return n?b.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!b.support.pixelPosition&&b.fn.position&&b.each(["top","left"],function(e,n){b.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?b(e).position()[n]+"px":r):t}}})}),b.expr&&b.expr.filters&&(b.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!b.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||b.css(e,"display"))},b.expr.filters.visible=function(e){return!b.expr.filters.hidden(e)}),b.each({margin:"",padding:"",border:"Width"},function(e,t){b.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(b.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;b.fn.extend({serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=b.prop(this,"elements");return e?b.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!b(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Nt.test(e))}).map(function(e,t){var n=b(this).val();return null==n?null:b.isArray(n)?b.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),b.param=function(e,n){var r,i=[],o=function(e,t){t=b.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=b.ajaxSettings&&b.ajaxSettings.traditional),b.isArray(e)||e.jquery&&!b.isPlainObject(e))b.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(b.isArray(t))b.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==b.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}b.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){b.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),b.fn.hover=function(e,t){return this.mouseenter(e).mouseleave(t||e)};var mn,yn,vn=b.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Nn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Cn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=b.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=a.href}catch(Ln){yn=o.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(w)||[];if(b.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(u){var l;return o[u]=!0,b.each(e[u]||[],function(e,u){var c=u(n,r,i);return"string"!=typeof c||a||o[c]?a?!(l=c):t:(n.dataTypes.unshift(c),s(c),!1)}),l}return s(n.dataTypes[0])||!o["*"]&&s("*")}function Mn(e,n){var r,i,o=b.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&b.extend(!0,e,r),e}b.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,u=e.indexOf(" ");return u>=0&&(i=e.slice(u,e.length),e=e.slice(0,u)),b.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&b.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?b("<div>").append(b.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},b.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){b.fn[t]=function(e){return this.on(t,e)}}),b.each(["get","post"],function(e,n){b[n]=function(e,r,i,o){return b.isFunction(r)&&(o=o||i,i=r,r=t),b.ajax({url:e,type:n,dataType:o,data:r,success:i})}}),b.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Nn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Mn(Mn(e,b.ajaxSettings),t):Mn(b.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,u,l,c,p=b.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?b(f):b.event,h=b.Deferred(),g=b.Callbacks("once memory"),m=p.statusCode||{},y={},v={},x=0,T="canceled",N={readyState:0,getResponseHeader:function(e){var t;if(2===x){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===x?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return x||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return x||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>x)for(t in e)m[t]=[m[t],e[t]];else N.always(e[N.status]);return this},abort:function(e){var t=e||T;return l&&l.abort(t),k(0,t),this}};if(h.promise(N).complete=g.add,N.success=N.done,N.error=N.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=b.trim(p.dataType||"*").toLowerCase().match(w)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?80:443))==(mn[3]||("http:"===mn[1]?80:443)))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=b.param(p.data,p.traditional)),qn(An,p,n,N),2===x)return N;u=p.global,u&&0===b.active++&&b.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Cn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(b.lastModified[o]&&N.setRequestHeader("If-Modified-Since",b.lastModified[o]),b.etag[o]&&N.setRequestHeader("If-None-Match",b.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&N.setRequestHeader("Content-Type",p.contentType),N.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)N.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,N,p)===!1||2===x))return N.abort();T="abort";for(i in{success:1,error:1,complete:1})N[i](p[i]);if(l=qn(jn,p,n,N)){N.readyState=1,u&&d.trigger("ajaxSend",[N,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){N.abort("timeout")},p.timeout));try{x=1,l.send(y,k)}catch(C){if(!(2>x))throw C;k(-1,C)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,C=n;2!==x&&(x=2,s&&clearTimeout(s),l=t,a=i||"",N.readyState=e>0?4:0,r&&(w=_n(p,N,r)),e>=200&&300>e||304===e?(p.ifModified&&(T=N.getResponseHeader("Last-Modified"),T&&(b.lastModified[o]=T),T=N.getResponseHeader("etag"),T&&(b.etag[o]=T)),204===e?(c=!0,C="nocontent"):304===e?(c=!0,C="notmodified"):(c=Fn(p,w),C=c.state,y=c.data,v=c.error,c=!v)):(v=C,(e||!C)&&(C="error",0>e&&(e=0))),N.status=e,N.statusText=(n||C)+"",c?h.resolveWith(f,[y,C,N]):h.rejectWith(f,[N,C,v]),N.statusCode(m),m=t,u&&d.trigger(c?"ajaxSuccess":"ajaxError",[N,p,c?y:v]),g.fireWith(f,[N,C]),u&&(d.trigger("ajaxComplete",[N,p]),--b.active||b.event.trigger("ajaxStop")))}return N},getScript:function(e,n){return b.get(e,t,n,"script")},getJSON:function(e,t,n){return b.get(e,t,n,"json")}});function _n(e,n,r){var i,o,a,s,u=e.contents,l=e.dataTypes,c=e.responseFields;for(s in c)s in r&&(n[c[s]]=r[s]);while("*"===l[0])l.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in u)if(u[s]&&u[s].test(o)){l.unshift(s);break}if(l[0]in r)a=l[0];else{for(s in r){if(!l[0]||e.converters[s+" "+l[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==l[0]&&l.unshift(a),r[a]):t}function Fn(e,t){var n,r,i,o,a={},s=0,u=e.dataTypes.slice(),l=u[0];if(e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u[1])for(i in e.converters)a[i.toLowerCase()]=e.converters[i];for(;r=u[++s];)if("*"!==r){if("*"!==l&&l!==r){if(i=a[l+" "+r]||a["* "+r],!i)for(n in a)if(o=n.split(" "),o[1]===r&&(i=a[l+" "+o[0]]||a["* "+o[0]])){i===!0?i=a[n]:a[n]!==!0&&(r=o[0],u.splice(s--,0,r));break}if(i!==!0)if(i&&e["throws"])t=i(t);else try{t=i(t)}catch(c){return{state:"parsererror",error:i?c:"No conversion from "+l+" to "+r}}}l=r}return{state:"success",data:t}}b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return b.globalEval(e),e}}}),b.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),b.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=o.head||b("head")[0]||o.documentElement;return{send:function(t,i){n=o.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var On=[],Bn=/(=)\?(?=&|$)|\?\?/;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=On.pop()||b.expando+"_"+vn++;return this[e]=!0,e}}),b.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,u=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return u||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=b.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,u?n[u]=n[u].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||b.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,On.push(o)),s&&b.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}b.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=b.ajaxSettings.xhr(),b.support.cors=!!Rn&&"withCredentials"in Rn,Rn=b.support.ajax=!!Rn,Rn&&b.ajaxTransport(function(n){if(!n.crossDomain||b.support.cors){var r;return{send:function(i,o){var a,s,u=n.xhr();if(n.username?u.open(n.type,n.url,n.async,n.username,n.password):u.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)u[s]=n.xhrFields[s];n.mimeType&&u.overrideMimeType&&u.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)u.setRequestHeader(s,i[s])}catch(l){}u.send(n.hasContent&&n.data||null),r=function(e,i){var s,l,c,p;try{if(r&&(i||4===u.readyState))if(r=t,a&&(u.onreadystatechange=b.noop,$n&&delete Pn[a]),i)4!==u.readyState&&u.abort();else{p={},s=u.status,l=u.getAllResponseHeaders(),"string"==typeof u.responseText&&(p.text=u.responseText);try{c=u.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,l)},n.async?4===u.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},b(e).unload($n)),Pn[a]=r),u.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+x+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n,r,i=this.createTween(e,t),o=Yn.exec(t),a=i.cur(),s=+a||0,u=1,l=20;if(o){if(n=+o[2],r=o[3]||(b.cssNumber[e]?"":"px"),"px"!==r&&s){s=b.css(i.elem,e,!0)||n||1;do u=u||".5",s/=u,b.style(i.elem,e,s+r);while(u!==(u=i.cur()/a)&&1!==u&&--l)}i.unit=r,i.start=s,i.end=o[1]?s+(o[1]+1)*n:n}return i}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=b.now()}function Zn(e,t){b.each(t,function(t,n){var r=(Qn[t]||[]).concat(Qn["*"]),i=0,o=r.length;for(;o>i;i++)if(r[i].call(e,t,n))return})}function er(e,t,n){var r,i,o=0,a=Gn.length,s=b.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,a=0,u=l.tweens.length;for(;u>a;a++)l.tweens[a].run(o);return s.notifyWith(e,[l,o,n]),1>o&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:b.extend({},t),opts:b.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=b.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return t?s.resolveWith(e,[l,t]):s.rejectWith(e,[l,t]),this}}),c=l.props;for(tr(c,l.opts.specialEasing);a>o;o++)if(r=Gn[o].call(l,e,c,l.opts))return r;return Zn(l,c),b.isFunction(l.opts.start)&&l.opts.start.call(e,l),b.fx.timer(b.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function tr(e,t){var n,r,i,o,a;for(i in e)if(r=b.camelCase(i),o=t[r],n=e[i],b.isArray(n)&&(o=n[1],n=e[i]=n[0]),i!==r&&(e[r]=n,delete e[i]),a=b.cssHooks[r],a&&"expand"in a){n=a.expand(n),delete e[r];for(i in n)i in e||(e[i]=n[i],t[i]=o)}else t[r]=o}b.Animation=b.extend(er,{tweener:function(e,t){b.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,u,l,c,p,f=this,d=e.style,h={},g=[],m=e.nodeType&&nn(e);n.queue||(c=b._queueHooks(e,"fx"),null==c.unqueued&&(c.unqueued=0,p=c.empty.fire,c.empty.fire=function(){c.unqueued||p()}),c.unqueued++,f.always(function(){f.always(function(){c.unqueued--,b.queue(e,"fx").length||c.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],"inline"===b.css(e,"display")&&"none"===b.css(e,"float")&&(b.support.inlineBlockNeedsLayout&&"inline"!==un(e.nodeName)?d.zoom=1:d.display="inline-block")),n.overflow&&(d.overflow="hidden",b.support.shrinkWrapBlocks||f.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]}));for(i in t)if(a=t[i],Vn.exec(a)){if(delete t[i],u=u||"toggle"===a,a===(m?"hide":"show"))continue;g.push(i)}if(o=g.length){s=b._data(e,"fxshow")||b._data(e,"fxshow",{}),"hidden"in s&&(m=s.hidden),u&&(s.hidden=!m),m?b(e).show():f.done(function(){b(e).hide()}),f.done(function(){var t;b._removeData(e,"fxshow");for(t in h)b.style(e,t,h[t])});for(i=0;o>i;i++)r=g[i],l=f.createTween(r,m?s[r]:0),h[r]=s[r]||b.style(e,r),r in s||(s[r]=l.start,m&&(l.end=l.start,l.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}b.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(b.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?b.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=b.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){b.fx.step[e.prop]?b.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[b.cssProps[e.prop]]||b.cssHooks[e.prop])?b.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},b.each(["toggle","show","hide"],function(e,t){var n=b.fn[t];b.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),b.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=b.isEmptyObject(e),o=b.speed(t,n,r),a=function(){var t=er(this,b.extend({},e),o);a.finish=function(){t.stop(!0)},(i||b._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=b.timers,a=b._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&b.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=b._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=b.timers,a=r?r.length:0;for(n.finish=!0,b.queue(this,e,[]),i&&i.cur&&i.cur.finish&&i.cur.finish.call(this),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}b.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){b.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),b.speed=function(e,t,n){var r=e&&"object"==typeof e?b.extend({},e):{complete:n||!n&&t||b.isFunction(e)&&e,duration:e,easing:n&&t||t&&!b.isFunction(t)&&t};return r.duration=b.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in b.fx.speeds?b.fx.speeds[r.duration]:b.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){b.isFunction(r.old)&&r.old.call(this),r.queue&&b.dequeue(this,r.queue)},r},b.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},b.timers=[],b.fx=rr.prototype.init,b.fx.tick=function(){var e,n=b.timers,r=0;for(Xn=b.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||b.fx.stop(),Xn=t},b.fx.timer=function(e){e()&&b.timers.push(e)&&b.fx.start()},b.fx.interval=13,b.fx.start=function(){Un||(Un=setInterval(b.fx.tick,b.fx.interval))},b.fx.stop=function(){clearInterval(Un),Un=null},b.fx.speeds={slow:600,fast:200,_default:400},b.fx.step={},b.expr&&b.expr.filters&&(b.expr.filters.animated=function(e){return b.grep(b.timers,function(t){return e===t.elem}).length}),b.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){b.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,b.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},b.offset={setOffset:function(e,t,n){var r=b.css(e,"position");"static"===r&&(e.style.position="relative");var i=b(e),o=i.offset(),a=b.css(e,"top"),s=b.css(e,"left"),u=("absolute"===r||"fixed"===r)&&b.inArray("auto",[a,s])>-1,l={},c={},p,f;u?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),b.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(l.top=t.top-o.top+p),null!=t.left&&(l.left=t.left-o.left+f),"using"in t?t.using.call(e,l):i.css(l)}},b.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===b.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),b.nodeName(e[0],"html")||(n=e.offset()),n.top+=b.css(e[0],"borderTopWidth",!0),n.left+=b.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-b.css(r,"marginTop",!0),left:t.left-n.left-b.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||o.documentElement;while(e&&!b.nodeName(e,"html")&&"static"===b.css(e,"position"))e=e.offsetParent;return e||o.documentElement})}}),b.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);b.fn[e]=function(i){return b.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?b(a).scrollLeft():o,r?o:b(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return b.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}b.each({Height:"height",Width:"width"},function(e,n){b.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){b.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return b.access(this,function(n,r,i){var o;return b.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?b.css(n,r,s):b.style(n,r,i,s)},n,a?i:t,a,null)}})}),e.jQuery=e.$=b,"function"==typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return b})})(window); No newline at end of file
@@ -0,0 +1,6
1 /*! jQuery v2.0.0 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
No newline at end of file
2 //@ sourceMappingURL=jquery.min.map
No newline at end of file
3 */
No newline at end of file
4 (function(e,undefined){var t,n,r=typeof undefined,i=e.location,o=e.document,s=o.documentElement,a=e.jQuery,u=e.$,l={},c=[],f="2.0.0",p=c.concat,h=c.push,d=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=f.trim,x=function(e,n){return new x.fn.init(e,n,t)},b=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^-ms-/,N=/-([\da-z])/gi,E=function(e,t){return t.toUpperCase()},S=function(){o.removeEventListener("DOMContentLoaded",S,!1),e.removeEventListener("load",S,!1),x.ready()};x.fn=x.prototype={jquery:f,constructor:x,init:function(e,t,n){var r,i;if(!e)return this;if("string"==typeof e){if(r="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:T.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof x?t[0]:t,x.merge(this,x.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:o,!0)),C.test(r[1])&&x.isPlainObject(t))for(r in t)x.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return i=o.getElementById(r[2]),i&&i.parentNode&&(this.length=1,this[0]=i),this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?n.ready(e):(e.selector!==undefined&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return d.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,t,n,r,i,o,s=arguments[0]||{},a=1,u=arguments.length,l=!1;for("boolean"==typeof s&&(l=s,s=arguments[1]||{},a=2),"object"==typeof s||x.isFunction(s)||(s={}),u===a&&(s=this,--a);u>a;a++)if(null!=(e=arguments[a]))for(t in e)n=s[t],r=e[t],s!==r&&(l&&r&&(x.isPlainObject(r)||(i=x.isArray(r)))?(i?(i=!1,o=n&&x.isArray(n)?n:[]):o=n&&x.isPlainObject(n)?n:{},s[t]=x.extend(l,o,r)):r!==undefined&&(s[t]=r));return s},x.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=a),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){(e===!0?--x.readyWait:x.isReady)||(x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(o,[x]),x.fn.trigger&&x(o).trigger("ready").off("ready")))},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if("object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:JSON.parse,parseXML:function(e){var t,n;if(!e||"string"!=typeof e)return null;try{n=new DOMParser,t=n.parseFromString(e,"text/xml")}catch(r){t=undefined}return(!t||t.getElementsByTagName("parsererror").length)&&x.error("Invalid XML: "+e),t},noop:function(){},globalEval:function(e){var t,n=eval;e=x.trim(e),e&&(1===e.indexOf("use strict")?(t=o.createElement("script"),t.text=e,o.head.appendChild(t).parentNode.removeChild(t)):n(e))},camelCase:function(e){return e.replace(k,"ms-").replace(N,E)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,s=j(e);if(n){if(s){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(s){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:function(e){return null==e?"":v.call(e)},makeArray:function(e,t){var n=t||[];return null!=e&&(j(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:g.call(t,e,n)},merge:function(e,t){var n=t.length,r=e.length,i=0;if("number"==typeof n)for(;n>i;i++)e[r++]=t[i];else while(t[i]!==undefined)e[r++]=t[i++];return e.length=r,e},grep:function(e,t,n){var r,i=[],o=0,s=e.length;for(n=!!n;s>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,s=j(e),a=[];if(s)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(a[a.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(a[a.length]=r);return p.apply([],a)},guid:1,proxy:function(e,t){var n,r,i;return"string"==typeof t&&(n=e[t],t=e,e=n),x.isFunction(e)?(r=d.call(arguments,2),i=function(){return e.apply(t||this,r.concat(d.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):undefined},access:function(e,t,n,r,i,o,s){var a=0,u=e.length,l=null==n;if("object"===x.type(n)){i=!0;for(a in n)x.access(e,t,a,n[a],!0,o,s)}else if(r!==undefined&&(i=!0,x.isFunction(r)||(s=!0),l&&(s?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(x(e),n)})),t))for(;u>a;a++)t(e[a],n,s?r:r.call(e[a],a,t(e[a],n)));return i?e:l?t.call(e):u?t(e[0],n):o},now:Date.now,swap:function(e,t,n,r){var i,o,s={};for(o in t)s[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=s[o];return i}}),x.ready.promise=function(t){return n||(n=x.Deferred(),"complete"===o.readyState?setTimeout(x.ready):(o.addEventListener("DOMContentLoaded",S,!1),e.addEventListener("load",S,!1))),n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function j(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}t=x(o),function(e,undefined){var t,n,r,i,o,s,a,u,l,c,f,p,h,d,g,m,y="sizzle"+-new Date,v=e.document,b={},w=0,T=0,C=ot(),k=ot(),N=ot(),E=!1,S=function(){return 0},j=typeof undefined,D=1<<31,A=[],L=A.pop,q=A.push,H=A.push,O=A.slice,F=A.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},P="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",R="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",W=M.replace("w","w#"),$="\\["+R+"*("+M+")"+R+"*(?:([*^$|!~]?=)"+R+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+W+")|)|)"+R+"*\\]",B=":("+M+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+$.replace(3,8)+")*)|.*)\\)|)",I=RegExp("^"+R+"+|((?:^|[^\\\\])(?:\\\\.)*)"+R+"+$","g"),z=RegExp("^"+R+"*,"+R+"*"),_=RegExp("^"+R+"*([>+~]|"+R+")"+R+"*"),X=RegExp(R+"*[+~]"),U=RegExp("="+R+"*([^\\]'\"]*)"+R+"*\\]","g"),Y=RegExp(B),V=RegExp("^"+W+"$"),G={ID:RegExp("^#("+M+")"),CLASS:RegExp("^\\.("+M+")"),TAG:RegExp("^("+M.replace("w","w*")+")"),ATTR:RegExp("^"+$),PSEUDO:RegExp("^"+B),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+R+"*(even|odd|(([+-]|)(\\d*)n|)"+R+"*(?:([+-]|)"+R+"*(\\d+)|))"+R+"*\\)|)","i"),"boolean":RegExp("^(?:"+P+")$","i"),needsContext:RegExp("^"+R+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+R+"*((?:-\\d)?\\d*)"+R+"*\\)|)(?=[^-]|$)","i")},J=/^[^{]+\{\s*\[native \w/,Q=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,et=/'|\\/g,tt=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,nt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{H.apply(A=O.call(v.childNodes),v.childNodes),A[v.childNodes.length].nodeType}catch(rt){H={apply:A.length?function(e,t){q.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function it(e){return J.test(e+"")}function ot(){var e,t=[];return e=function(n,i){return t.push(n+=" ")>r.cacheLength&&delete e[t.shift()],e[n]=i}}function st(e){return e[y]=!0,e}function at(e){var t=c.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ut(e,t,n,r){var i,o,s,a,u,f,d,g,x,w;if((t?t.ownerDocument||t:v)!==c&&l(t),t=t||c,n=n||[],!e||"string"!=typeof e)return n;if(1!==(a=t.nodeType)&&9!==a)return[];if(p&&!r){if(i=Q.exec(e))if(s=i[1]){if(9===a){if(o=t.getElementById(s),!o||!o.parentNode)return n;if(o.id===s)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(s))&&m(t,o)&&o.id===s)return n.push(o),n}else{if(i[2])return H.apply(n,t.getElementsByTagName(e)),n;if((s=i[3])&&b.getElementsByClassName&&t.getElementsByClassName)return H.apply(n,t.getElementsByClassName(s)),n}if(b.qsa&&(!h||!h.test(e))){if(g=d=y,x=t,w=9===a&&e,1===a&&"object"!==t.nodeName.toLowerCase()){f=gt(e),(d=t.getAttribute("id"))?g=d.replace(et,"\\$&"):t.setAttribute("id",g),g="[id='"+g+"'] ",u=f.length;while(u--)f[u]=g+mt(f[u]);x=X.test(e)&&t.parentNode||t,w=f.join(",")}if(w)try{return H.apply(n,x.querySelectorAll(w)),n}catch(T){}finally{d||t.removeAttribute("id")}}}return kt(e.replace(I,"$1"),t,n,r)}o=ut.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},l=ut.setDocument=function(e){var t=e?e.ownerDocument||e:v;return t!==c&&9===t.nodeType&&t.documentElement?(c=t,f=t.documentElement,p=!o(t),b.getElementsByTagName=at(function(e){return e.appendChild(t.createComment("")),!e.getElementsByTagName("*").length}),b.attributes=at(function(e){return e.className="i",!e.getAttribute("className")}),b.getElementsByClassName=at(function(e){return e.innerHTML="<div class='a'></div><div class='a i'></div>",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),b.sortDetached=at(function(e){return 1&e.compareDocumentPosition(c.createElement("div"))}),b.getById=at(function(e){return f.appendChild(e).id=y,!t.getElementsByName||!t.getElementsByName(y).length}),b.getById?(r.find.ID=function(e,t){if(typeof t.getElementById!==j&&p){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},r.filter.ID=function(e){var t=e.replace(tt,nt);return function(e){return e.getAttribute("id")===t}}):(r.find.ID=function(e,t){if(typeof t.getElementById!==j&&p){var n=t.getElementById(e);return n?n.id===e||typeof n.getAttributeNode!==j&&n.getAttributeNode("id").value===e?[n]:undefined:[]}},r.filter.ID=function(e){var t=e.replace(tt,nt);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),r.find.TAG=b.getElementsByTagName?function(e,t){return typeof t.getElementsByTagName!==j?t.getElementsByTagName(e):undefined}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=b.getElementsByClassName&&function(e,t){return typeof t.getElementsByClassName!==j&&p?t.getElementsByClassName(e):undefined},d=[],h=[],(b.qsa=it(t.querySelectorAll))&&(at(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||h.push("\\["+R+"*(?:value|"+P+")"),e.querySelectorAll(":checked").length||h.push(":checked")}),at(function(e){var t=c.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&h.push("[*^$]="+R+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(b.matchesSelector=it(g=f.webkitMatchesSelector||f.mozMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&at(function(e){b.disconnectedMatch=g.call(e,"div"),g.call(e,"[s!='']:x"),d.push("!=",B)}),h=h.length&&RegExp(h.join("|")),d=d.length&&RegExp(d.join("|")),m=it(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},S=f.compareDocumentPosition?function(e,n){if(e===n)return E=!0,0;var r=n.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(n);return r?1&r||!b.sortDetached&&n.compareDocumentPosition(e)===r?e===t||m(v,e)?-1:n===t||m(v,n)?1:u?F.call(u,e)-F.call(u,n):0:4&r?-1:1:e.compareDocumentPosition?-1:1}:function(e,n){var r,i=0,o=e.parentNode,s=n.parentNode,a=[e],l=[n];if(e===n)return E=!0,0;if(!o||!s)return e===t?-1:n===t?1:o?-1:s?1:u?F.call(u,e)-F.call(u,n):0;if(o===s)return lt(e,n);r=e;while(r=r.parentNode)a.unshift(r);r=n;while(r=r.parentNode)l.unshift(r);while(a[i]===l[i])i++;return i?lt(a[i],l[i]):a[i]===v?-1:l[i]===v?1:0},c):c},ut.matches=function(e,t){return ut(e,null,null,t)},ut.matchesSelector=function(e,t){if((e.ownerDocument||e)!==c&&l(e),t=t.replace(U,"='$1']"),!(!b.matchesSelector||!p||d&&d.test(t)||h&&h.test(t)))try{var n=g.call(e,t);if(n||b.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return ut(t,c,null,[e]).length>0},ut.contains=function(e,t){return(e.ownerDocument||e)!==c&&l(e),m(e,t)},ut.attr=function(e,t){(e.ownerDocument||e)!==c&&l(e);var n=r.attrHandle[t.toLowerCase()],i=n&&n(e,t,!p);return i===undefined?b.attributes||!p?e.getAttribute(t):(i=e.getAttributeNode(t))&&i.specified?i.value:null:i},ut.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},ut.uniqueSort=function(e){var t,n=[],r=0,i=0;if(E=!b.detectDuplicates,u=!b.sortStable&&e.slice(0),e.sort(S),E){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return e};function lt(e,t){var n=t&&e,r=n&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function ct(e,t,n){var r;return n?undefined:(r=e.getAttributeNode(t))&&r.specified?r.value:e[t]===!0?t.toLowerCase():null}function ft(e,t,n){var r;return n?undefined:r=e.getAttribute(t,"type"===t.toLowerCase()?1:2)}function pt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ht(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function dt(e){return st(function(t){return t=+t,st(function(n,r){var i,o=e([],n.length,t),s=o.length;while(s--)n[i=o[s]]&&(n[i]=!(r[i]=n[i]))})})}i=ut.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r];r++)n+=i(t);return n},r=ut.selectors={cacheLength:50,createPseudo:st,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(tt,nt),e[3]=(e[4]||e[5]||"").replace(tt,nt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||ut.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&ut.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return G.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&Y.test(n)&&(t=gt(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(tt,nt).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=C[e+" "];return t||(t=RegExp("(^|"+R+")"+e+"("+R+"|$)"))&&C(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=ut.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,h,d,g=o!==s?"nextSibling":"previousSibling",m=t.parentNode,v=a&&t.nodeName.toLowerCase(),x=!u&&!a;if(m){if(o){while(g){f=t;while(f=f[g])if(a?f.nodeName.toLowerCase()===v:1===f.nodeType)return!1;d=g="only"===e&&!d&&"nextSibling"}return!0}if(d=[s?m.firstChild:m.lastChild],s&&x){c=m[y]||(m[y]={}),l=c[e]||[],h=l[0]===w&&l[1],p=l[0]===w&&l[2],f=h&&m.childNodes[h];while(f=++h&&f&&f[g]||(p=h=0)||d.pop())if(1===f.nodeType&&++p&&f===t){c[e]=[w,h,p];break}}else if(x&&(l=(t[y]||(t[y]={}))[e])&&l[0]===w)p=l[1];else while(f=++h&&f&&f[g]||(p=h=0)||d.pop())if((a?f.nodeName.toLowerCase()===v:1===f.nodeType)&&++p&&(x&&((f[y]||(f[y]={}))[e]=[w,p]),f===t))break;return p-=i,p===r||0===p%r&&p/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||ut.error("unsupported pseudo: "+e);return i[y]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?st(function(e,n){var r,o=i(e,t),s=o.length;while(s--)r=F.call(e,o[s]),e[r]=!(n[r]=o[s])}):function(e){return i(e,0,n)}):i}},pseudos:{not:st(function(e){var t=[],n=[],r=s(e.replace(I,"$1"));return r[y]?st(function(e,t,n,i){var o,s=r(e,null,i,[]),a=e.length;while(a--)(o=s[a])&&(e[a]=!(t[a]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:st(function(e){return function(t){return ut(e,t).length>0}}),contains:st(function(e){return function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:st(function(e){return V.test(e||"")||ut.error("unsupported lang: "+e),e=e.replace(tt,nt).toLowerCase(),function(t){var n;do if(n=p?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===c.activeElement&&(!c.hasFocus||c.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Z.test(e.nodeName)},input:function(e){return K.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:dt(function(){return[0]}),last:dt(function(e,t){return[t-1]}),eq:dt(function(e,t,n){return[0>n?n+t:n]}),even:dt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:dt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:dt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:dt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(t in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=pt(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=ht(t);function gt(e,t){var n,i,o,s,a,u,l,c=k[e+" "];if(c)return t?0:c.slice(0);a=e,u=[],l=r.preFilter;while(a){(!n||(i=z.exec(a)))&&(i&&(a=a.slice(i[0].length)||a),u.push(o=[])),n=!1,(i=_.exec(a))&&(n=i.shift(),o.push({value:n,type:i[0].replace(I," ")}),a=a.slice(n.length));for(s in r.filter)!(i=G[s].exec(a))||l[s]&&!(i=l[s](i))||(n=i.shift(),o.push({value:n,type:s,matches:i}),a=a.slice(n.length));if(!n)break}return t?a.length:a?ut.error(e):k(e,u).slice(0)}function mt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function yt(e,t,r){var i=t.dir,o=r&&"parentNode"===i,s=T++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,r,a){var u,l,c,f=w+" "+s;if(a){while(t=t[i])if((1===t.nodeType||o)&&e(t,r,a))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[y]||(t[y]={}),(l=c[i])&&l[0]===f){if((u=l[1])===!0||u===n)return u===!0}else if(l=c[i]=[f],l[1]=e(t,r,a)||n,l[1]===!0)return!0}}function vt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xt(e,t,n,r,i){var o,s=[],a=0,u=e.length,l=null!=t;for(;u>a;a++)(o=e[a])&&(!n||n(o,r,i))&&(s.push(o),l&&t.push(a));return s}function bt(e,t,n,r,i,o){return r&&!r[y]&&(r=bt(r)),i&&!i[y]&&(i=bt(i,o)),st(function(o,s,a,u){var l,c,f,p=[],h=[],d=s.length,g=o||Ct(t||"*",a.nodeType?[a]:a,[]),m=!e||!o&&t?g:xt(g,p,e,a,u),y=n?i||(o?e:d||r)?[]:s:m;if(n&&n(m,y,a,u),r){l=xt(y,h),r(l,[],a,u),c=l.length;while(c--)(f=l[c])&&(y[h[c]]=!(m[h[c]]=f))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(f=y[c])&&l.push(m[c]=f);i(null,y=[],l,u)}c=y.length;while(c--)(f=y[c])&&(l=i?F.call(o,f):p[c])>-1&&(o[l]=!(s[l]=f))}}else y=xt(y===s?y.splice(d,y.length):y),i?i(null,s,y,u):H.apply(s,y)})}function wt(e){var t,n,i,o=e.length,s=r.relative[e[0].type],u=s||r.relative[" "],l=s?1:0,c=yt(function(e){return e===t},u,!0),f=yt(function(e){return F.call(t,e)>-1},u,!0),p=[function(e,n,r){return!s&&(r||n!==a)||((t=n).nodeType?c(e,n,r):f(e,n,r))}];for(;o>l;l++)if(n=r.relative[e[l].type])p=[yt(vt(p),n)];else{if(n=r.filter[e[l].type].apply(null,e[l].matches),n[y]){for(i=++l;o>i;i++)if(r.relative[e[i].type])break;return bt(l>1&&vt(p),l>1&&mt(e.slice(0,l-1)).replace(I,"$1"),n,i>l&&wt(e.slice(l,i)),o>i&&wt(e=e.slice(i)),o>i&&mt(e))}p.push(n)}return vt(p)}function Tt(e,t){var i=0,o=t.length>0,s=e.length>0,u=function(u,l,f,p,h){var d,g,m,y=[],v=0,x="0",b=u&&[],T=null!=h,C=a,k=u||s&&r.find.TAG("*",h&&l.parentNode||l),N=w+=null==C?1:Math.random()||.1;for(T&&(a=l!==c&&l,n=i);null!=(d=k[x]);x++){if(s&&d){g=0;while(m=e[g++])if(m(d,l,f)){p.push(d);break}T&&(w=N,n=++i)}o&&((d=!m&&d)&&v--,u&&b.push(d))}if(v+=x,o&&x!==v){g=0;while(m=t[g++])m(b,y,l,f);if(u){if(v>0)while(x--)b[x]||y[x]||(y[x]=L.call(p));y=xt(y)}H.apply(p,y),T&&!u&&y.length>0&&v+t.length>1&&ut.uniqueSort(p)}return T&&(w=N,a=C),b};return o?st(u):u}s=ut.compile=function(e,t){var n,r=[],i=[],o=N[e+" "];if(!o){t||(t=gt(e)),n=t.length;while(n--)o=wt(t[n]),o[y]?r.push(o):i.push(o);o=N(e,Tt(i,r))}return o};function Ct(e,t,n){var r=0,i=t.length;for(;i>r;r++)ut(e,t[r],n);return n}function kt(e,t,n,i){var o,a,u,l,c,f=gt(e);if(!i&&1===f.length){if(a=f[0]=f[0].slice(0),a.length>2&&"ID"===(u=a[0]).type&&9===t.nodeType&&p&&r.relative[a[1].type]){if(t=(r.find.ID(u.matches[0].replace(tt,nt),t)||[])[0],!t)return n;e=e.slice(a.shift().value.length)}o=G.needsContext.test(e)?0:a.length;while(o--){if(u=a[o],r.relative[l=u.type])break;if((c=r.find[l])&&(i=c(u.matches[0].replace(tt,nt),X.test(a[0].type)&&t.parentNode||t))){if(a.splice(o,1),e=i.length&&mt(a),!e)return H.apply(n,i),n;break}}}return s(e,f)(i,t,!p,n,X.test(e)),n}r.pseudos.nth=r.pseudos.eq;function Nt(){}Nt.prototype=r.filters=r.pseudos,r.setFilters=new Nt,b.sortStable=y.split("").sort(S).join("")===y,l(),[0,0].sort(S),b.detectDuplicates=E,at(function(e){if(e.innerHTML="<a href='#'></a>","#"!==e.firstChild.getAttribute("href")){var t="type|href|height|width".split("|"),n=t.length;while(n--)r.attrHandle[t[n]]=ft}}),at(function(e){if(null!=e.getAttribute("disabled")){var t=P.split("|"),n=t.length;while(n--)r.attrHandle[t[n]]=ct}}),x.find=ut,x.expr=ut.selectors,x.expr[":"]=x.expr.pseudos,x.unique=ut.uniqueSort,x.text=ut.getText,x.isXMLDoc=ut.isXML,x.contains=ut.contains}(e);var D={};function A(e){var t=D[e]={};return x.each(e.match(w)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?D[e]||A(e):x.extend({},e);var t,n,r,i,o,s,a=[],u=!e.once&&[],l=function(f){for(t=e.memory&&f,n=!0,s=i||0,i=0,o=a.length,r=!0;a&&o>s;s++)if(a[s].apply(f[0],f[1])===!1&&e.stopOnFalse){t=!1;break}r=!1,a&&(u?u.length&&l(u.shift()):t?a=[]:c.disable())},c={add:function(){if(a){var n=a.length;(function s(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&c.has(n)||a.push(n):n&&n.length&&"string"!==r&&s(n)})})(arguments),r?o=a.length:t&&(i=n,l(t))}return this},remove:function(){return a&&x.each(arguments,function(e,t){var n;while((n=x.inArray(t,a,n))>-1)a.splice(n,1),r&&(o>=n&&o--,s>=n&&s--)}),this},has:function(e){return e?x.inArray(e,a)>-1:!(!a||!a.length)},empty:function(){return a=[],o=0,this},disable:function(){return a=u=t=undefined,this},disabled:function(){return!a},lock:function(){return u=undefined,t||c.disable(),this},locked:function(){return!u},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!a||n&&!u||(r?u.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!n}};return c},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var s=o[0],a=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=a&&a.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===r?n.promise():this,a?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var s=o[2],a=o[3];r[o[1]]=s.add,a&&s.add(function(){n=a},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=s.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=d.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),s=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?d.call(arguments):r,n===a?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},a,u,l;if(r>1)for(a=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(s(t,l,n)).fail(o.reject).progress(s(t,u,a)):--i;return i||o.resolveWith(l,n),o.promise()}}),x.support=function(t){var n=o.createElement("input"),r=o.createDocumentFragment(),i=o.createElement("div"),s=o.createElement("select"),a=s.appendChild(o.createElement("option"));return n.type?(n.type="checkbox",t.checkOn=""!==n.value,t.optSelected=a.selected,t.reliableMarginRight=!0,t.boxSizingReliable=!0,t.pixelPosition=!1,n.checked=!0,t.noCloneChecked=n.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!a.disabled,n=o.createElement("input"),n.value="t",n.type="radio",t.radioValue="t"===n.value,n.setAttribute("checked","t"),n.setAttribute("name","t"),r.appendChild(n),t.checkClone=r.cloneNode(!0).cloneNode(!0).lastChild.checked,t.focusinBubbles="onfocusin"in e,i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===i.style.backgroundClip,x(function(){var n,r,s="padding:0;margin:0;border:0;display:block;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box",a=o.getElementsByTagName("body")[0];a&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",a.appendChild(n).appendChild(i),i.innerHTML="",i.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%",x.swap(a,null!=a.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===i.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(i,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(i,null)||{width:"4px"}).width,r=i.appendChild(o.createElement("div")),r.style.cssText=i.style.cssText=s,r.style.marginRight=r.style.width="0",i.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),a.removeChild(n))}),t):t}({});var L,q,H=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,O=/([A-Z])/g;function F(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=x.expando+Math.random()}F.uid=1,F.accepts=function(e){return e.nodeType?1===e.nodeType||9===e.nodeType:!0},F.prototype={key:function(e){if(!F.accepts(e))return 0;var t={},n=e[this.expando];if(!n){n=F.uid++;try{t[this.expando]={value:n},Object.defineProperties(e,t)}catch(r){t[this.expando]=n,x.extend(e,t)}}return this.cache[n]||(this.cache[n]={}),n},set:function(e,t,n){var r,i=this.key(e),o=this.cache[i];if("string"==typeof t)o[t]=n;else if(x.isEmptyObject(o))this.cache[i]=t;else for(r in t)o[r]=t[r]},get:function(e,t){var n=this.cache[this.key(e)];return t===undefined?n:n[t]},access:function(e,t,n){return t===undefined||t&&"string"==typeof t&&n===undefined?this.get(e,t):(this.set(e,t,n),n!==undefined?n:t)},remove:function(e,t){var n,r,i=this.key(e),o=this.cache[i];if(t===undefined)this.cache[i]={};else{x.isArray(t)?r=t.concat(t.map(x.camelCase)):t in o?r=[t]:(r=x.camelCase(t),r=r in o?[r]:r.match(w)||[]),n=r.length;while(n--)delete o[r[n]]}},hasData:function(e){return!x.isEmptyObject(this.cache[e[this.expando]]||{})},discard:function(e){delete this.cache[this.key(e)]}},L=new F,q=new F,x.extend({acceptData:F.accepts,hasData:function(e){return L.hasData(e)||q.hasData(e)},data:function(e,t,n){return L.access(e,t,n)},removeData:function(e,t){L.remove(e,t)},_data:function(e,t,n){return q.access(e,t,n)},_removeData:function(e,t){q.remove(e,t)}}),x.fn.extend({data:function(e,t){var n,r,i=this[0],o=0,s=null;if(e===undefined){if(this.length&&(s=L.get(i),1===i.nodeType&&!q.get(i,"hasDataAttrs"))){for(n=i.attributes;n.length>o;o++)r=n[o].name,0===r.indexOf("data-")&&(r=x.camelCase(r.substring(5)),P(i,r,s[r]));q.set(i,"hasDataAttrs",!0)}return s}return"object"==typeof e?this.each(function(){L.set(this,e)}):x.access(this,function(t){var n,r=x.camelCase(e);if(i&&t===undefined){if(n=L.get(i,e),n!==undefined)return n;if(n=L.get(i,r),n!==undefined)return n;if(n=P(i,r,undefined),n!==undefined)return n}else this.each(function(){var n=L.get(this,r);L.set(this,r,t),-1!==e.indexOf("-")&&n!==undefined&&L.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){L.remove(this,e)})}});function P(e,t,n){var r;if(n===undefined&&1===e.nodeType)if(r="data-"+t.replace(O,"-$1").toLowerCase(),n=e.getAttribute(r),"string"==typeof n){try{n="true"===n?!0:"false"===n?!1:"null"===n?null:+n+""===n?+n:H.test(n)?JSON.parse(n):n}catch(i){}L.set(e,t,n)}else n=undefined;return n}x.extend({queue:function(e,t,n){var r;return e?(t=(t||"fx")+"queue",r=q.get(e,t),n&&(!r||x.isArray(n)?r=q.access(e,t,x.makeArray(n)):r.push(n)),r||[]):undefined},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),s=function(){x.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,s,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return q.get(e,n)||q.access(e,n,{empty:x.Callbacks("once memory").add(function(){q.remove(e,[t+"queue",n])})})}}),x.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),n>arguments.length?x.queue(this[0],e):t===undefined?this:this.each(function(){var n=x.queue(this,e,t);
No newline at end of file
5 x._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=x.Deferred(),o=this,s=this.length,a=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=undefined),e=e||"fx";while(s--)n=q.get(o[s],e+"queueHooks"),n&&n.empty&&(r++,n.empty.add(a));return a(),i.promise(t)}});var R,M,W=/[\t\r\n]/g,$=/\r/g,B=/^(?:input|select|textarea|button)$/i;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[x.propFix[e]||e]})},addClass:function(e){var t,n,r,i,o,s=0,a=this.length,u="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];a>s;s++)if(n=this[s],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(W," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,s=0,a=this.length,u=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];a>s;s++)if(n=this[s],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(W," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,i="boolean"==typeof t;return x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,s=0,a=x(this),u=t,l=e.match(w)||[];while(o=l[s++])u=i?u:!a.hasClass(o),a[u?"addClass":"removeClass"](o)}else(n===r||"boolean"===n)&&(this.className&&q.set(this,"__className__",this.className),this.className=this.className||e===!1?"":q.get(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(W," ").indexOf(t)>=0)return!0;return!1},val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=x.isFunction(e),this.each(function(n){var i,o=x(this);1===this.nodeType&&(i=r?e.call(this,n,o.val()):e,null==i?i="":"number"==typeof i?i+="":x.isArray(i)&&(i=x.map(i,function(e){return null==e?"":e+""})),t=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&t.set(this,i,"value")!==undefined||(this.value=i))});if(i)return t=x.valHooks[i.type]||x.valHooks[i.nodeName.toLowerCase()],t&&"get"in t&&(n=t.get(i,"value"))!==undefined?n:(n=i.value,"string"==typeof n?n.replace($,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,s=o?null:[],a=o?i+1:r.length,u=0>i?a:o?i:0;for(;a>u;u++)if(n=r[u],!(!n.selected&&u!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),s=i.length;while(s--)r=i[s],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,t,n){var i,o,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===r?x.prop(e,t,n):(1===s&&x.isXMLDoc(e)||(t=t.toLowerCase(),i=x.attrHooks[t]||(x.expr.match.boolean.test(t)?M:R)),n===undefined?i&&"get"in i&&null!==(o=i.get(e,t))?o:(o=x.find.attr(e,t),null==o?undefined:o):null!==n?i&&"set"in i&&(o=i.set(e,n,t))!==undefined?o:(e.setAttribute(t,n+""),n):(x.removeAttr(e,t),undefined))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.boolean.test(n)&&(e[r]=!1),e.removeAttribute(n)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,t,n){var r,i,o,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return o=1!==s||!x.isXMLDoc(e),o&&(t=x.propFix[t]||t,i=x.propHooks[t]),n!==undefined?i&&"set"in i&&(r=i.set(e,n,t))!==undefined?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){return e.hasAttribute("tabindex")||B.test(e.nodeName)||e.href?e.tabIndex:-1}}}}),M={set:function(e,t,n){return t===!1?x.removeAttr(e,n):e.setAttribute(n,n),n}},x.each(x.expr.match.boolean.source.match(/\w+/g),function(e,t){var n=x.expr.attrHandle[t]||x.find.attr;x.expr.attrHandle[t]=function(e,t,r){var i=x.expr.attrHandle[t],o=r?undefined:(x.expr.attrHandle[t]=undefined)!=n(e,t,r)?t.toLowerCase():null;return x.expr.attrHandle[t]=i,o}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,t){return x.isArray(t)?e.checked=x.inArray(x(e).val(),t)>=0:undefined}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var I=/^key/,z=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,X=/^([^.]*)(?:\.(.+)|)$/;function U(){return!0}function Y(){return!1}function V(){try{return o.activeElement}catch(e){}}x.event={global:{},add:function(e,t,n,i,o){var s,a,u,l,c,f,p,h,d,g,m,y=q.get(e);if(y){n.handler&&(s=n,n=s.handler,o=s.selector),n.guid||(n.guid=x.guid++),(l=y.events)||(l=y.events={}),(a=y.handle)||(a=y.handle=function(e){return typeof x===r||e&&x.event.triggered===e.type?undefined:x.event.dispatch.apply(a.elem,arguments)},a.elem=e),t=(t||"").match(w)||[""],c=t.length;while(c--)u=X.exec(t[c])||[],d=m=u[1],g=(u[2]||"").split(".").sort(),d&&(p=x.event.special[d]||{},d=(o?p.delegateType:p.bindType)||d,p=x.event.special[d]||{},f=x.extend({type:d,origType:m,data:i,handler:n,guid:n.guid,selector:o,needsContext:o&&x.expr.match.needsContext.test(o),namespace:g.join(".")},s),(h=l[d])||(h=l[d]=[],h.delegateCount=0,p.setup&&p.setup.call(e,i,g,a)!==!1||e.addEventListener&&e.addEventListener(d,a,!1)),p.add&&(p.add.call(e,f),f.handler.guid||(f.handler.guid=n.guid)),o?h.splice(h.delegateCount++,0,f):h.push(f),x.event.global[d]=!0);e=null}},remove:function(e,t,n,r,i){var o,s,a,u,l,c,f,p,h,d,g,m=q.hasData(e)&&q.get(e);if(m&&(u=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(a=X.exec(t[l])||[],h=g=a[1],d=(a[2]||"").split(".").sort(),h){f=x.event.special[h]||{},h=(r?f.delegateType:f.bindType)||h,p=u[h]||[],a=a[2]&&RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||a&&!a.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));s&&!p.length&&(f.teardown&&f.teardown.call(e,d,m.handle)!==!1||x.removeEvent(e,h,m.handle),delete u[h])}else for(h in u)x.event.remove(e,h+t[l],n,r,!0);x.isEmptyObject(u)&&(delete m.handle,q.remove(e,"events"))}},trigger:function(t,n,r,i){var s,a,u,l,c,f,p,h=[r||o],d=y.call(t,"type")?t.type:t,g=y.call(t,"namespace")?t.namespace.split("."):[];if(a=u=r=r||o,3!==r.nodeType&&8!==r.nodeType&&!_.test(d+x.event.triggered)&&(d.indexOf(".")>=0&&(g=d.split("."),d=g.shift(),g.sort()),c=0>d.indexOf(":")&&"on"+d,t=t[x.expando]?t:new x.Event(d,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=g.join("."),t.namespace_re=t.namespace?RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=undefined,t.target||(t.target=r),n=null==n?[t]:x.makeArray(n,[t]),p=x.event.special[d]||{},i||!p.trigger||p.trigger.apply(r,n)!==!1)){if(!i&&!p.noBubble&&!x.isWindow(r)){for(l=p.delegateType||d,_.test(l+d)||(a=a.parentNode);a;a=a.parentNode)h.push(a),u=a;u===(r.ownerDocument||o)&&h.push(u.defaultView||u.parentWindow||e)}s=0;while((a=h[s++])&&!t.isPropagationStopped())t.type=s>1?l:p.bindType||d,f=(q.get(a,"events")||{})[t.type]&&q.get(a,"handle"),f&&f.apply(a,n),f=c&&a[c],f&&x.acceptData(a)&&f.apply&&f.apply(a,n)===!1&&t.preventDefault();return t.type=d,i||t.isDefaultPrevented()||p._default&&p._default.apply(h.pop(),n)!==!1||!x.acceptData(r)||c&&x.isFunction(r[d])&&!x.isWindow(r)&&(u=r[c],u&&(r[c]=null),x.event.triggered=d,r[d](),x.event.triggered=undefined,u&&(r[c]=u)),t.result}},dispatch:function(e){e=x.event.fix(e);var t,n,r,i,o,s=[],a=d.call(arguments),u=(q.get(this,"events")||{})[e.type]||[],l=x.event.special[e.type]||{};if(a[0]=e,e.delegateTarget=this,!l.preDispatch||l.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),t=0;while((i=s[t++])&&!e.isPropagationStopped()){e.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(o.namespace))&&(e.handleObj=o,e.data=o.data,r=((x.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,a),r!==undefined&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return l.postDispatch&&l.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,r,i,o,s=[],a=t.delegateCount,u=e.target;if(a&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!==this;u=u.parentNode||this)if(u.disabled!==!0||"click"!==e.type){for(r=[],n=0;a>n;n++)o=t[n],i=o.selector+" ",r[i]===undefined&&(r[i]=o.needsContext?x(i,this).index(u)>=0:x.find(i,this,null,[u]).length),r[i]&&r.push(o);r.length&&s.push({elem:u,handlers:r})}return t.length>a&&s.push({elem:this,handlers:t.slice(a)}),s},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,t){var n,r,i,s=t.button;return null==e.pageX&&null!=t.clientX&&(n=e.target.ownerDocument||o,r=n.documentElement,i=n.body,e.pageX=t.clientX+(r&&r.scrollLeft||i&&i.scrollLeft||0)-(r&&r.clientLeft||i&&i.clientLeft||0),e.pageY=t.clientY+(r&&r.scrollTop||i&&i.scrollTop||0)-(r&&r.clientTop||i&&i.clientTop||0)),e.which||s===undefined||(e.which=1&s?1:2&s?3:4&s?2:0),e}},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=z.test(i)?this.mouseHooks:I.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new x.Event(o),t=r.length;while(t--)n=r[t],e[n]=o[n];return 3===e.target.nodeType&&(e.target=e.target.parentNode),s.filter?s.filter(e,o):e},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==V()&&this.focus?(this.focus(),!1):undefined},delegateType:"focusin"},blur:{trigger:function(){return this===V()&&this.blur?(this.blur(),!1):undefined},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&x.nodeName(this,"input")?(this.click(),!1):undefined},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==undefined&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)},x.Event=function(e,t){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.getPreventDefault&&e.getPreventDefault()?U:Y):this.type=e,t&&x.extend(this,t),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,undefined):new x.Event(e,t)},x.Event.prototype={isDefaultPrevented:Y,isPropagationStopped:Y,isImmediatePropagationStopped:Y,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=U,e&&e.preventDefault&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=U,e&&e.stopPropagation&&e.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=U,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,t,n,r,i){var o,s;if("object"==typeof e){"string"!=typeof t&&(n=n||t,t=undefined);for(s in e)this.on(s,t,n,e[s],i);return this}if(null==n&&null==r?(r=t,n=t=undefined):null==r&&("string"==typeof t?(r=n,n=undefined):(r=n,n=t,t=undefined)),r===!1)r=Y;else if(!r)return this;return 1===i&&(o=r,r=function(e){return x().off(e),o.apply(this,arguments)},r.guid=o.guid||(o.guid=x.guid++)),this.each(function(){x.event.add(this,e,r,n,t)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,x(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return(t===!1||"function"==typeof t)&&(n=t,t=undefined),n===!1&&(n=Y),this.each(function(){x.event.remove(this,e,n,t)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];return n?x.event.trigger(e,t,n,!0):undefined}});var G=/^.[^:#\[\.,]*$/,J=x.expr.match.needsContext,Q={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n,r,i=this.length;if("string"!=typeof e)return t=this,this.pushStack(x(e).filter(function(){for(r=0;i>r;r++)if(x.contains(t[r],this))return!0}));for(n=[],r=0;i>r;r++)x.find(e,this[r],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t=x(e,this),n=t.length;return this.filter(function(){var e=0;for(;n>e;e++)if(x.contains(this,t[e]))return!0})},not:function(e){return this.pushStack(Z(this,e||[],!0))},filter:function(e){return this.pushStack(Z(this,e||[],!1))},is:function(e){return!!e&&("string"==typeof e?J.test(e)?x(e,this.context).index(this[0])>=0:x.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,o=[],s=J.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(s?s.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?g.call(x(e),this[0]):g.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function K(e,t){while((e=e[t])&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return K(e,"nextSibling")},prev:function(e){return K(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return x.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(Q[e]||x.unique(i),"p"===e[0]&&i.reverse()),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,t,n){var r=[],i=n!==undefined;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&x(e).is(n))break;r.push(e)}return r},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function Z(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(G.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return g.call(t,e)>=0!==n})}var et=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,tt=/<([\w:]+)/,nt=/<|&#?\w+;/,rt=/<(?:script|style|link)/i,it=/^(?:checkbox|radio)$/i,ot=/checked\s*(?:[^=]|=\s*.checked.)/i,st=/^$|\/(?:java|ecma)script/i,at=/^true\/(.*)/,ut=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,lt={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};lt.optgroup=lt.option,lt.tbody=lt.tfoot=lt.colgroup=lt.caption=lt.col=lt.thead,lt.th=lt.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===undefined?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=ct(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=ct(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(gt(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&ht(gt(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++)1===e.nodeType&&(x.cleanData(gt(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var t=this[0]||{},n=0,r=this.length;if(e===undefined&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!rt.test(e)&&!lt[(tt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(et,"<$1></$2>");try{for(;r>n;n++)t=this[n]||{},1===t.nodeType&&(x.cleanData(gt(t,!1)),t.innerHTML=e);t=0}catch(i){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=p.apply([],e);var r,i,o,s,a,u,l=0,c=this.length,f=this,h=c-1,d=e[0],g=x.isFunction(d);if(g||!(1>=c||"string"!=typeof d||x.support.checkClone)&&ot.test(d))return this.each(function(r){var i=f.eq(r);g&&(e[0]=d.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(r=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),i=r.firstChild,1===r.childNodes.length&&(r=i),i)){for(o=x.map(gt(r,"script"),ft),s=o.length;c>l;l++)a=r,l!==h&&(a=x.clone(a,!0,!0),s&&x.merge(o,gt(a,"script"))),t.call(this[l],a,l);if(s)for(u=o[o.length-1].ownerDocument,x.map(o,pt),l=0;s>l;l++)a=o[l],st.test(a.type||"")&&!q.access(a,"globalEval")&&x.contains(u,a)&&(a.src?x._evalUrl(a.src):x.globalEval(a.textContent.replace(ut,"")))}return this}}),x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=[],i=x(e),o=i.length-1,s=0;for(;o>=s;s++)n=s===o?this:this.clone(!0),x(i[s])[t](n),h.apply(r,n.get());return this.pushStack(r)}}),x.extend({clone:function(e,t,n){var r,i,o,s,a=e.cloneNode(!0),u=x.contains(e.ownerDocument,e);if(!(x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(s=gt(a),o=gt(e),r=0,i=o.length;i>r;r++)mt(o[r],s[r]);if(t)if(n)for(o=o||gt(e),s=s||gt(a),r=0,i=o.length;i>r;r++)dt(o[r],s[r]);else dt(e,a);return s=gt(a,"script"),s.length>0&&ht(s,!u&&gt(e,"script")),a},buildFragment:function(e,t,n,r){var i,o,s,a,u,l,c=0,f=e.length,p=t.createDocumentFragment(),h=[];for(;f>c;c++)if(i=e[c],i||0===i)if("object"===x.type(i))x.merge(h,i.nodeType?[i]:i);else if(nt.test(i)){o=o||p.appendChild(t.createElement("div")),s=(tt.exec(i)||["",""])[1].toLowerCase(),a=lt[s]||lt._default,o.innerHTML=a[1]+i.replace(et,"<$1></$2>")+a[2],l=a[0];while(l--)o=o.firstChild;x.merge(h,o.childNodes),o=p.firstChild,o.textContent=""}else h.push(t.createTextNode(i));p.textContent="",c=0;while(i=h[c++])if((!r||-1===x.inArray(i,r))&&(u=x.contains(i.ownerDocument,i),o=gt(p.appendChild(i),"script"),u&&ht(o),n)){l=0;while(i=o[l++])st.test(i.type||"")&&n.push(i)}return p},cleanData:function(e){var t,n,r,i=e.length,o=0,s=x.event.special;for(;i>o;o++){if(n=e[o],x.acceptData(n)&&(t=q.access(n)))for(r in t.events)s[r]?x.event.remove(n,r):x.removeEvent(n,r,t.handle);L.discard(n),q.discard(n)}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"text",async:!1,global:!1,success:x.globalEval})}});function ct(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function ft(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function pt(e){var t=at.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function ht(e,t){var n=e.length,r=0;for(;n>r;r++)q.set(e[r],"globalEval",!t||q.get(t[r],"globalEval"))}function dt(e,t){var n,r,i,o,s,a,u,l;if(1===t.nodeType){if(q.hasData(e)&&(o=q.access(e),s=x.extend({},o),l=o.events,q.set(t,s),l)){delete s.handle,s.events={};for(i in l)for(n=0,r=l[i].length;r>n;n++)x.event.add(t,i,l[i][n])}L.hasData(e)&&(a=L.access(e),u=x.extend({},a),L.set(t,u))}}function gt(e,t){var n=e.getElementsByTagName?e.getElementsByTagName(t||"*"):e.querySelectorAll?e.querySelectorAll(t||"*"):[];return t===undefined||t&&x.nodeName(e,t)?x.merge([e],n):n}function mt(e,t){var n=t.nodeName.toLowerCase();"input"===n&&it.test(e.type)?t.checked=e.checked:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}x.fn.extend({wrapAll:function(e){var t;return x.isFunction(e)?this.each(function(t){x(this).wrapAll(e.call(this,t))}):(this[0]&&(t=x(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this)},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var yt,vt,xt=/^(none|table(?!-c[ea]).+)/,bt=/^margin/,wt=RegExp("^("+b+")(.*)$","i"),Tt=RegExp("^("+b+")(?!px)[a-z%]+$","i"),Ct=RegExp("^([+-])=("+b+")","i"),kt={BODY:"block"},Nt={position:"absolute",visibility:"hidden",display:"block"},Et={letterSpacing:0,fontWeight:400},St=["Top","Right","Bottom","Left"],jt=["Webkit","O","Moz","ms"];function Dt(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=jt.length;while(i--)if(t=jt[i]+n,t in e)return t;return r}function At(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function Lt(t){return e.getComputedStyle(t,null)}function qt(e,t){var n,r,i,o=[],s=0,a=e.length;for(;a>s;s++)r=e[s],r.style&&(o[s]=q.get(r,"olddisplay"),n=r.style.display,t?(o[s]||"none"!==n||(r.style.display=""),""===r.style.display&&At(r)&&(o[s]=q.access(r,"olddisplay",Pt(r.nodeName)))):o[s]||(i=At(r),(n&&"none"!==n||!i)&&q.set(r,"olddisplay",i?n:x.css(r,"display"))));for(s=0;a>s;s++)r=e[s],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[s]||"":"none"));return e}x.fn.extend({css:function(e,t){return x.access(this,function(e,t,n){var r,i,o={},s=0;if(x.isArray(t)){for(r=Lt(e),i=t.length;i>s;s++)o[t[s]]=x.css(e,t[s],!1,r);return o}return n!==undefined?x.style(e,t,n):x.css(e,t)},e,t,arguments.length>1)},show:function(){return qt(this,!0)},hide:function(){return qt(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:At(this))?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=yt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,s,a=x.camelCase(t),u=e.style;return t=x.cssProps[a]||(x.cssProps[a]=Dt(u,a)),s=x.cssHooks[t]||x.cssHooks[a],n===undefined?s&&"get"in s&&(i=s.get(e,!1,r))!==undefined?i:u[t]:(o=typeof n,"string"===o&&(i=Ct.exec(n))&&(n=(i[1]+1)*i[2]+parseFloat(x.css(e,t)),o="number"),null==n||"number"===o&&isNaN(n)||("number"!==o||x.cssNumber[a]||(n+="px"),x.support.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),s&&"set"in s&&(n=s.set(e,n,r))===undefined||(u[t]=n)),undefined)}},css:function(e,t,n,r){var i,o,s,a=x.camelCase(t);return t=x.cssProps[a]||(x.cssProps[a]=Dt(e.style,a)),s=x.cssHooks[t]||x.cssHooks[a],s&&"get"in s&&(i=s.get(e,!0,n)),i===undefined&&(i=yt(e,t,r)),"normal"===i&&t in Et&&(i=Et[t]),""===n||n?(o=parseFloat(i),n===!0||x.isNumeric(o)?o||0:i):i}}),yt=function(e,t,n){var r,i,o,s=n||Lt(e),a=s?s.getPropertyValue(t)||s[t]:undefined,u=e.style;return s&&(""!==a||x.contains(e.ownerDocument,e)||(a=x.style(e,t)),Tt.test(a)&&bt.test(t)&&(r=u.width,i=u.minWidth,o=u.maxWidth,u.minWidth=u.maxWidth=u.width=a,a=s.width,u.width=r,u.minWidth=i,u.maxWidth=o)),a};function Ht(e,t,n){var r=wt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function Ot(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,s=0;for(;4>o;o+=2)"margin"===n&&(s+=x.css(e,n+St[o],!0,i)),r?("content"===n&&(s-=x.css(e,"padding"+St[o],!0,i)),"margin"!==n&&(s-=x.css(e,"border"+St[o]+"Width",!0,i))):(s+=x.css(e,"padding"+St[o],!0,i),"padding"!==n&&(s+=x.css(e,"border"+St[o]+"Width",!0,i)));return s}function Ft(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Lt(e),s=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=yt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Tt.test(i))return i;r=s&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+Ot(e,t,n||(s?"border":"content"),r,o)+"px"}function Pt(e){var t=o,n=kt[e];return n||(n=Rt(e,t),"none"!==n&&n||(vt=(vt||x("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(vt[0].contentWindow||vt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=Rt(e,t),vt.detach()),kt[e]=n),n}function Rt(e,t){var n=x(t.createElement(e)).appendTo(t.body),r=x.css(n[0],"display");return n.remove(),r}x.each(["height","width"],function(e,t){x.cssHooks[t]={get:function(e,n,r){return n?0===e.offsetWidth&&xt.test(x.css(e,"display"))?x.swap(e,Nt,function(){return Ft(e,t,r)}):Ft(e,t,r):undefined},set:function(e,n,r){var i=r&&Lt(e);return Ht(e,n,r?Ot(e,t,r,x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,i),i):0)}}}),x(function(){x.support.reliableMarginRight||(x.cssHooks.marginRight={get:function(e,t){return t?x.swap(e,{display:"inline-block"},yt,[e,"marginRight"]):undefined}}),!x.support.pixelPosition&&x.fn.position&&x.each(["top","left"],function(e,t){x.cssHooks[t]={get:function(e,n){return n?(n=yt(e,t),Tt.test(n)?x(e).position()[t]+"px":n):undefined}}})}),x.expr&&x.expr.filters&&(x.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight},x.expr.filters.visible=function(e){return!x.expr.filters.hidden(e)}),x.each({margin:"",padding:"",border:"Width"},function(e,t){x.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+St[r]+t]=o[r]||o[r-2]||o[0];return i}},bt.test(e)||(x.cssHooks[e+t].set=Ht)});var Mt=/%20/g,Wt=/\[\]$/,$t=/\r?\n/g,Bt=/^(?:submit|button|image|reset|file)$/i,It=/^(?:input|select|textarea|keygen)/i;x.fn.extend({serialize:function(){return x.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=x.prop(this,"elements");return e?x.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!x(this).is(":disabled")&&It.test(this.nodeName)&&!Bt.test(e)&&(this.checked||!it.test(e))}).map(function(e,t){var n=x(this).val();return null==n?null:x.isArray(n)?x.map(n,function(e){return{name:t.name,value:e.replace($t,"\r\n")}}):{name:t.name,value:n.replace($t,"\r\n")}}).get()}}),x.param=function(e,t){var n,r=[],i=function(e,t){t=x.isFunction(t)?t():null==t?"":t,r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(t===undefined&&(t=x.ajaxSettings&&x.ajaxSettings.traditional),x.isArray(e)||e.jquery&&!x.isPlainObject(e))x.each(e,function(){i(this.name,this.value)});else for(n in e)zt(n,e[n],t,i);return r.join("&").replace(Mt,"+")};function zt(e,t,n,r){var i;if(x.isArray(t))x.each(t,function(t,i){n||Wt.test(e)?r(e,i):zt(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==x.type(t))r(e,t);else for(i in t)zt(e+"["+i+"]",t[i],n,r)}x.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){x.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),x.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var _t,Xt,Ut=x.now(),Yt=/\?/,Vt=/#.*$/,Gt=/([?&])_=[^&]*/,Jt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Qt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Kt=/^(?:GET|HEAD)$/,Zt=/^\/\//,en=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,tn=x.fn.load,nn={},rn={},on="*/".concat("*");try{Xt=i.href}catch(sn){Xt=o.createElement("a"),Xt.href="",Xt=Xt.href}_t=en.exec(Xt.toLowerCase())||[];function an(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(w)||[];
No newline at end of file
6 if(x.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function un(e,t,n,r){var i={},o=e===rn;function s(a){var u;return i[a]=!0,x.each(e[a]||[],function(e,a){var l=a(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):undefined:(t.dataTypes.unshift(l),s(l),!1)}),u}return s(t.dataTypes[0])||!i["*"]&&s("*")}function ln(e,t){var n,r,i=x.ajaxSettings.flatOptions||{};for(n in t)t[n]!==undefined&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&x.extend(!0,e,r),e}x.fn.load=function(e,t,n){if("string"!=typeof e&&tn)return tn.apply(this,arguments);var r,i,o,s=this,a=e.indexOf(" ");return a>=0&&(r=e.slice(a),e=e.slice(0,a)),x.isFunction(t)?(n=t,t=undefined):t&&"object"==typeof t&&(i="POST"),s.length>0&&x.ajax({url:e,type:i,dataType:"html",data:t}).done(function(e){o=arguments,s.html(r?x("<div>").append(x.parseHTML(e)).find(r):e)}).complete(n&&function(e,t){s.each(n,o||[e.responseText,t,e])}),this},x.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){x.fn[t]=function(e){return this.on(t,e)}}),x.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Xt,type:"GET",isLocal:Qt.test(_t[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":on,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":x.parseJSON,"text xml":x.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?ln(ln(e,x.ajaxSettings),t):ln(x.ajaxSettings,e)},ajaxPrefilter:an(nn),ajaxTransport:an(rn),ajax:function(e,t){"object"==typeof e&&(t=e,e=undefined),t=t||{};var n,r,i,o,s,a,u,l,c=x.ajaxSetup({},t),f=c.context||c,p=c.context&&(f.nodeType||f.jquery)?x(f):x.event,h=x.Deferred(),d=x.Callbacks("once memory"),g=c.statusCode||{},m={},y={},v=0,b="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(2===v){if(!o){o={};while(t=Jt.exec(i))o[t[1].toLowerCase()]=t[2]}t=o[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===v?i:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return v||(e=y[n]=y[n]||e,m[e]=t),this},overrideMimeType:function(e){return v||(c.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>v)for(t in e)g[t]=[g[t],e[t]];else T.always(e[T.status]);return this},abort:function(e){var t=e||b;return n&&n.abort(t),k(0,t),this}};if(h.promise(T).complete=d.add,T.success=T.done,T.error=T.fail,c.url=((e||c.url||Xt)+"").replace(Vt,"").replace(Zt,_t[1]+"//"),c.type=t.method||t.type||c.method||c.type,c.dataTypes=x.trim(c.dataType||"*").toLowerCase().match(w)||[""],null==c.crossDomain&&(a=en.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===_t[1]&&a[2]===_t[2]&&(a[3]||("http:"===a[1]?"80":"443"))===(_t[3]||("http:"===_t[1]?"80":"443")))),c.data&&c.processData&&"string"!=typeof c.data&&(c.data=x.param(c.data,c.traditional)),un(nn,c,t,T),2===v)return T;u=c.global,u&&0===x.active++&&x.event.trigger("ajaxStart"),c.type=c.type.toUpperCase(),c.hasContent=!Kt.test(c.type),r=c.url,c.hasContent||(c.data&&(r=c.url+=(Yt.test(r)?"&":"?")+c.data,delete c.data),c.cache===!1&&(c.url=Gt.test(r)?r.replace(Gt,"$1_="+Ut++):r+(Yt.test(r)?"&":"?")+"_="+Ut++)),c.ifModified&&(x.lastModified[r]&&T.setRequestHeader("If-Modified-Since",x.lastModified[r]),x.etag[r]&&T.setRequestHeader("If-None-Match",x.etag[r])),(c.data&&c.hasContent&&c.contentType!==!1||t.contentType)&&T.setRequestHeader("Content-Type",c.contentType),T.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+("*"!==c.dataTypes[0]?", "+on+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)T.setRequestHeader(l,c.headers[l]);if(c.beforeSend&&(c.beforeSend.call(f,T,c)===!1||2===v))return T.abort();b="abort";for(l in{success:1,error:1,complete:1})T[l](c[l]);if(n=un(rn,c,t,T)){T.readyState=1,u&&p.trigger("ajaxSend",[T,c]),c.async&&c.timeout>0&&(s=setTimeout(function(){T.abort("timeout")},c.timeout));try{v=1,n.send(m,k)}catch(C){if(!(2>v))throw C;k(-1,C)}}else k(-1,"No Transport");function k(e,t,o,a){var l,m,y,b,w,C=t;2!==v&&(v=2,s&&clearTimeout(s),n=undefined,i=a||"",T.readyState=e>0?4:0,l=e>=200&&300>e||304===e,o&&(b=cn(c,T,o)),b=fn(c,b,T,l),l?(c.ifModified&&(w=T.getResponseHeader("Last-Modified"),w&&(x.lastModified[r]=w),w=T.getResponseHeader("etag"),w&&(x.etag[r]=w)),204===e?C="nocontent":304===e?C="notmodified":(C=b.state,m=b.data,y=b.error,l=!y)):(y=C,(e||!C)&&(C="error",0>e&&(e=0))),T.status=e,T.statusText=(t||C)+"",l?h.resolveWith(f,[m,C,T]):h.rejectWith(f,[T,C,y]),T.statusCode(g),g=undefined,u&&p.trigger(l?"ajaxSuccess":"ajaxError",[T,c,l?m:y]),d.fireWith(f,[T,C]),u&&(p.trigger("ajaxComplete",[T,c]),--x.active||x.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return x.get(e,t,n,"json")},getScript:function(e,t){return x.get(e,undefined,t,"script")}}),x.each(["get","post"],function(e,t){x[t]=function(e,n,r,i){return x.isFunction(n)&&(i=i||r,r=n,n=undefined),x.ajax({url:e,type:t,dataType:i,data:n,success:r})}});function cn(e,t,n){var r,i,o,s,a=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),r===undefined&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in a)if(a[i]&&a[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}s||(s=i)}o=o||s}return o?(o!==u[0]&&u.unshift(o),n[o]):undefined}function fn(e,t,n,r){var i,o,s,a,u,l={},c=e.dataTypes.slice();if(c[1])for(s in e.converters)l[s.toLowerCase()]=e.converters[s];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(s=l[u+" "+o]||l["* "+o],!s)for(i in l)if(a=i.split(" "),a[1]===o&&(s=l[u+" "+a[0]]||l["* "+a[0]])){s===!0?s=l[i]:l[i]!==!0&&(o=a[0],c.unshift(a[1]));break}if(s!==!0)if(s&&e["throws"])t=s(t);else try{t=s(t)}catch(f){return{state:"parsererror",error:s?f:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}x.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return x.globalEval(e),e}}}),x.ajaxPrefilter("script",function(e){e.cache===undefined&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),x.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,i){t=x("<script>").prop({async:!0,charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&i("error"===e.type?404:200,e.type)}),o.head.appendChild(t[0])},abort:function(){n&&n()}}}});var pn=[],hn=/(=)\?(?=&|$)|\?\?/;x.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=pn.pop()||x.expando+"_"+Ut++;return this[e]=!0,e}}),x.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,s,a=t.jsonp!==!1&&(hn.test(t.url)?"url":"string"==typeof t.data&&!(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&hn.test(t.data)&&"data");return a||"jsonp"===t.dataTypes[0]?(i=t.jsonpCallback=x.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,a?t[a]=t[a].replace(hn,"$1"+i):t.jsonp!==!1&&(t.url+=(Yt.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return s||x.error(i+" was not called"),s[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){s=arguments},r.always(function(){e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,pn.push(i)),s&&x.isFunction(o)&&o(s[0]),s=o=undefined}),"script"):undefined}),x.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(e){}};var dn=x.ajaxSettings.xhr(),gn={0:200,1223:204},mn=0,yn={};e.ActiveXObject&&x(e).on("unload",function(){for(var e in yn)yn[e]();yn=undefined}),x.support.cors=!!dn&&"withCredentials"in dn,x.support.ajax=dn=!!dn,x.ajaxTransport(function(e){var t;return x.support.cors||dn&&!e.crossDomain?{send:function(n,r){var i,o,s=e.xhr();if(s.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(i in e.xhrFields)s[i]=e.xhrFields[i];e.mimeType&&s.overrideMimeType&&s.overrideMimeType(e.mimeType),e.crossDomain||n["X-Requested-With"]||(n["X-Requested-With"]="XMLHttpRequest");for(i in n)s.setRequestHeader(i,n[i]);t=function(e){return function(){t&&(delete yn[o],t=s.onload=s.onerror=null,"abort"===e?s.abort():"error"===e?r(s.status||404,s.statusText):r(gn[s.status]||s.status,s.statusText,"string"==typeof s.responseText?{text:s.responseText}:undefined,s.getAllResponseHeaders()))}},s.onload=t(),s.onerror=t("error"),t=yn[o=mn++]=t("abort"),s.send(e.hasContent&&e.data||null)},abort:function(){t&&t()}}:undefined});var vn,xn,bn=/^(?:toggle|show|hide)$/,wn=RegExp("^(?:([+-])=|)("+b+")([a-z%]*)$","i"),Tn=/queueHooks$/,Cn=[Dn],kn={"*":[function(e,t){var n,r,i=this.createTween(e,t),o=wn.exec(t),s=i.cur(),a=+s||0,u=1,l=20;if(o){if(n=+o[2],r=o[3]||(x.cssNumber[e]?"":"px"),"px"!==r&&a){a=x.css(i.elem,e,!0)||n||1;do u=u||".5",a/=u,x.style(i.elem,e,a+r);while(u!==(u=i.cur()/s)&&1!==u&&--l)}i.unit=r,i.start=a,i.end=o[1]?a+(o[1]+1)*n:n}return i}]};function Nn(){return setTimeout(function(){vn=undefined}),vn=x.now()}function En(e,t){x.each(t,function(t,n){var r=(kn[t]||[]).concat(kn["*"]),i=0,o=r.length;for(;o>i;i++)if(r[i].call(e,t,n))return})}function Sn(e,t,n){var r,i,o=0,s=Cn.length,a=x.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;var t=vn||Nn(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,s=0,u=l.tweens.length;for(;u>s;s++)l.tweens[s].run(o);return a.notifyWith(e,[l,o,n]),1>o&&u?n:(a.resolveWith(e,[l]),!1)},l=a.promise({elem:e,props:x.extend({},t),opts:x.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:vn||Nn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=x.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return t?a.resolveWith(e,[l,t]):a.rejectWith(e,[l,t]),this}}),c=l.props;for(jn(c,l.opts.specialEasing);s>o;o++)if(r=Cn[o].call(l,e,c,l.opts))return r;return En(l,c),x.isFunction(l.opts.start)&&l.opts.start.call(e,l),x.fx.timer(x.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function jn(e,t){var n,r,i,o,s;for(n in e)if(r=x.camelCase(n),i=t[r],o=e[n],x.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),s=x.cssHooks[r],s&&"expand"in s){o=s.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}x.Animation=x.extend(Sn,{tweener:function(e,t){x.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],kn[n]=kn[n]||[],kn[n].unshift(t)},prefilter:function(e,t){t?Cn.unshift(e):Cn.push(e)}});function Dn(e,t,n){var r,i,o,s,a,u,l,c,f,p=this,h=e.style,d={},g=[],m=e.nodeType&&At(e);n.queue||(c=x._queueHooks(e,"fx"),null==c.unqueued&&(c.unqueued=0,f=c.empty.fire,c.empty.fire=function(){c.unqueued||f()}),c.unqueued++,p.always(function(){p.always(function(){c.unqueued--,x.queue(e,"fx").length||c.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],"inline"===x.css(e,"display")&&"none"===x.css(e,"float")&&(h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),a=q.get(e,"fxshow");for(r in t)if(o=t[r],bn.exec(o)){if(delete t[r],u=u||"toggle"===o,o===(m?"hide":"show")){if("show"!==o||a===undefined||a[r]===undefined)continue;m=!0}g.push(r)}if(s=g.length){a=q.get(e,"fxshow")||q.access(e,"fxshow",{}),"hidden"in a&&(m=a.hidden),u&&(a.hidden=!m),m?x(e).show():p.done(function(){x(e).hide()}),p.done(function(){var t;q.remove(e,"fxshow");for(t in d)x.style(e,t,d[t])});for(r=0;s>r;r++)i=g[r],l=p.createTween(i,m?a[i]:0),d[i]=a[i]||x.style(e,i),i in a||(a[i]=l.start,m&&(l.end=l.start,l.start="width"===i||"height"===i?1:0))}}function An(e,t,n,r,i){return new An.prototype.init(e,t,n,r,i)}x.Tween=An,An.prototype={constructor:An,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(x.cssNumber[n]?"":"px")},cur:function(){var e=An.propHooks[this.prop];return e&&e.get?e.get(this):An.propHooks._default.get(this)},run:function(e){var t,n=An.propHooks[this.prop];return this.pos=t=this.options.duration?x.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):An.propHooks._default.set(this),this}},An.prototype.init.prototype=An.prototype,An.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=x.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){x.fx.step[e.prop]?x.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[x.cssProps[e.prop]]||x.cssHooks[e.prop])?x.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},An.propHooks.scrollTop=An.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},x.each(["toggle","show","hide"],function(e,t){var n=x.fn[t];x.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(Ln(t,!0),e,r,i)}}),x.fn.extend({fadeTo:function(e,t,n,r){return this.filter(At).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=x.isEmptyObject(e),o=x.speed(t,n,r),s=function(){var t=Sn(this,x.extend({},e),o);s.finish=function(){t.stop(!0)},(i||q.get(this,"finish"))&&t.stop(!0)};return s.finish=s,i||o.queue===!1?this.each(s):this.queue(o.queue,s)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=undefined),t&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=x.timers,s=q.get(this);if(i)s[i]&&s[i].stop&&r(s[i]);else for(i in s)s[i]&&s[i].stop&&Tn.test(i)&&r(s[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));(t||!n)&&x.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=q.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=x.timers,s=r?r.length:0;for(n.finish=!0,x.queue(this,e,[]),i&&i.cur&&i.cur.finish&&i.cur.finish.call(this),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;s>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function Ln(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=St[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}x.each({slideDown:Ln("show"),slideUp:Ln("hide"),slideToggle:Ln("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){x.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),x.speed=function(e,t,n){var r=e&&"object"==typeof e?x.extend({},e):{complete:n||!n&&t||x.isFunction(e)&&e,duration:e,easing:n&&t||t&&!x.isFunction(t)&&t};return r.duration=x.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in x.fx.speeds?x.fx.speeds[r.duration]:x.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){x.isFunction(r.old)&&r.old.call(this),r.queue&&x.dequeue(this,r.queue)},r},x.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},x.timers=[],x.fx=An.prototype.init,x.fx.tick=function(){var e,t=x.timers,n=0;for(vn=x.now();t.length>n;n++)e=t[n],e()||t[n]!==e||t.splice(n--,1);t.length||x.fx.stop(),vn=undefined},x.fx.timer=function(e){e()&&x.timers.push(e)&&x.fx.start()},x.fx.interval=13,x.fx.start=function(){xn||(xn=setInterval(x.fx.tick,x.fx.interval))},x.fx.stop=function(){clearInterval(xn),xn=null},x.fx.speeds={slow:600,fast:200,_default:400},x.fx.step={},x.expr&&x.expr.filters&&(x.expr.filters.animated=function(e){return x.grep(x.timers,function(t){return e===t.elem}).length}),x.fn.offset=function(e){if(arguments.length)return e===undefined?this:this.each(function(t){x.offset.setOffset(this,e,t)});var t,n,i=this[0],o={top:0,left:0},s=i&&i.ownerDocument;if(s)return t=s.documentElement,x.contains(t,i)?(typeof i.getBoundingClientRect!==r&&(o=i.getBoundingClientRect()),n=qn(s),{top:o.top+n.pageYOffset-t.clientTop,left:o.left+n.pageXOffset-t.clientLeft}):o},x.offset={setOffset:function(e,t,n){var r,i,o,s,a,u,l,c=x.css(e,"position"),f=x(e),p={};"static"===c&&(e.style.position="relative"),a=f.offset(),o=x.css(e,"top"),u=x.css(e,"left"),l=("absolute"===c||"fixed"===c)&&(o+u).indexOf("auto")>-1,l?(r=f.position(),s=r.top,i=r.left):(s=parseFloat(o)||0,i=parseFloat(u)||0),x.isFunction(t)&&(t=t.call(e,n,a)),null!=t.top&&(p.top=t.top-a.top+s),null!=t.left&&(p.left=t.left-a.left+i),"using"in t?t.using.call(e,p):f.css(p)}},x.fn.extend({position:function(){if(this[0]){var e,t,n=this[0],r={top:0,left:0};return"fixed"===x.css(n,"position")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),x.nodeName(e[0],"html")||(r=e.offset()),r.top+=x.css(e[0],"borderTopWidth",!0),r.left+=x.css(e[0],"borderLeftWidth",!0)),{top:t.top-r.top-x.css(n,"marginTop",!0),left:t.left-r.left-x.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||s;while(e&&!x.nodeName(e,"html")&&"static"===x.css(e,"position"))e=e.offsetParent;return e||s})}}),x.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,n){var r="pageYOffset"===n;x.fn[t]=function(i){return x.access(this,function(t,i,o){var s=qn(t);return o===undefined?s?s[n]:t[i]:(s?s.scrollTo(r?e.pageXOffset:o,r?o:e.pageYOffset):t[i]=o,undefined)},t,i,arguments.length,null)}});function qn(e){return x.isWindow(e)?e:9===e.nodeType&&e.defaultView}x.each({Height:"height",Width:"width"},function(e,t){x.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){x.fn[r]=function(r,i){var o=arguments.length&&(n||"boolean"!=typeof r),s=n||(r===!0||i===!0?"margin":"border");return x.access(this,function(t,n,r){var i;return x.isWindow(t)?t.document.documentElement["client"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body["scroll"+e],i["scroll"+e],t.body["offset"+e],i["offset"+e],i["client"+e])):r===undefined?x.css(t,n,s):x.style(t,n,r,s)},t,o?r:undefined,o,null)}})}),x.fn.size=function(){return this.length},x.fn.andSelf=x.fn.addBack,"object"==typeof module&&"object"==typeof module.exports?module.exports=x:"function"==typeof define&&define.amd&&define("jquery",[],function(){return x}),"object"==typeof e&&"object"==typeof e.document&&(e.jQuery=e.$=x)})(window); No newline at end of file
@@ -0,0 +1,2
1 /*! jQuery v1.8.3 jquery.com | jquery.org/license */
No newline at end of file
2 (function(e,t){function _(e){var t=M[e]={};return v.each(e.split(y),function(e,n){t[n]=!0}),t}function H(e,n,r){if(r===t&&e.nodeType===1){var i="data-"+n.replace(P,"-$1").toLowerCase();r=e.getAttribute(i);if(typeof r=="string"){try{r=r==="true"?!0:r==="false"?!1:r==="null"?null:+r+""===r?+r:D.test(r)?v.parseJSON(r):r}catch(s){}v.data(e,n,r)}else r=t}return r}function B(e){var t;for(t in e){if(t==="data"&&v.isEmptyObject(e[t]))continue;if(t!=="toJSON")return!1}return!0}function et(){return!1}function tt(){return!0}function ut(e){return!e||!e.parentNode||e.parentNode.nodeType===11}function at(e,t){do e=e[t];while(e&&e.nodeType!==1);return e}function ft(e,t,n){t=t||0;if(v.isFunction(t))return v.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return v.grep(e,function(e,r){return e===t===n});if(typeof t=="string"){var r=v.grep(e,function(e){return e.nodeType===1});if(it.test(t))return v.filter(t,r,!n);t=v.filter(t,r)}return v.grep(e,function(e,r){return v.inArray(e,t)>=0===n})}function lt(e){var t=ct.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function At(e,t){if(t.nodeType!==1||!v.hasData(e))return;var n,r,i,s=v._data(e),o=v._data(t,s),u=s.events;if(u){delete o.handle,o.events={};for(n in u)for(r=0,i=u[n].length;r<i;r++)v.event.add(t,n,u[n][r])}o.data&&(o.data=v.extend({},o.data))}function Ot(e,t){var n;if(t.nodeType!==1)return;t.clearAttributes&&t.clearAttributes(),t.mergeAttributes&&t.mergeAttributes(e),n=t.nodeName.toLowerCase(),n==="object"?(t.parentNode&&(t.outerHTML=e.outerHTML),v.support.html5Clone&&e.innerHTML&&!v.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):n==="input"&&Et.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):n==="option"?t.selected=e.defaultSelected:n==="input"||n==="textarea"?t.defaultValue=e.defaultValue:n==="script"&&t.text!==e.text&&(t.text=e.text),t.removeAttribute(v.expando)}function Mt(e){return typeof e.getElementsByTagName!="undefined"?e.getElementsByTagName("*"):typeof e.querySelectorAll!="undefined"?e.querySelectorAll("*"):[]}function _t(e){Et.test(e.type)&&(e.defaultChecked=e.checked)}function Qt(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=Jt.length;while(i--){t=Jt[i]+n;if(t in e)return t}return r}function Gt(e,t){return e=t||e,v.css(e,"display")==="none"||!v.contains(e.ownerDocument,e)}function Yt(e,t){var n,r,i=[],s=0,o=e.length;for(;s<o;s++){n=e[s];if(!n.style)continue;i[s]=v._data(n,"olddisplay"),t?(!i[s]&&n.style.display==="none"&&(n.style.display=""),n.style.display===""&&Gt(n)&&(i[s]=v._data(n,"olddisplay",nn(n.nodeName)))):(r=Dt(n,"display"),!i[s]&&r!=="none"&&v._data(n,"olddisplay",r))}for(s=0;s<o;s++){n=e[s];if(!n.style)continue;if(!t||n.style.display==="none"||n.style.display==="")n.style.display=t?i[s]||"":"none"}return e}function Zt(e,t,n){var r=Rt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function en(e,t,n,r){var i=n===(r?"border":"content")?4:t==="width"?1:0,s=0;for(;i<4;i+=2)n==="margin"&&(s+=v.css(e,n+$t[i],!0)),r?(n==="content"&&(s-=parseFloat(Dt(e,"padding"+$t[i]))||0),n!=="margin"&&(s-=parseFloat(Dt(e,"border"+$t[i]+"Width"))||0)):(s+=parseFloat(Dt(e,"padding"+$t[i]))||0,n!=="padding"&&(s+=parseFloat(Dt(e,"border"+$t[i]+"Width"))||0));return s}function tn(e,t,n){var r=t==="width"?e.offsetWidth:e.offsetHeight,i=!0,s=v.support.boxSizing&&v.css(e,"boxSizing")==="border-box";if(r<=0||r==null){r=Dt(e,t);if(r<0||r==null)r=e.style[t];if(Ut.test(r))return r;i=s&&(v.support.boxSizingReliable||r===e.style[t]),r=parseFloat(r)||0}return r+en(e,t,n||(s?"border":"content"),i)+"px"}function nn(e){if(Wt[e])return Wt[e];var t=v("<"+e+">").appendTo(i.body),n=t.css("display");t.remove();if(n==="none"||n===""){Pt=i.body.appendChild(Pt||v.extend(i.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!Ht||!Pt.createElement)Ht=(Pt.contentWindow||Pt.contentDocument).document,Ht.write("<!doctype html><html><body>"),Ht.close();t=Ht.body.appendChild(Ht.createElement(e)),n=Dt(t,"display"),i.body.removeChild(Pt)}return Wt[e]=n,n}function fn(e,t,n,r){var i;if(v.isArray(t))v.each(t,function(t,i){n||sn.test(e)?r(e,i):fn(e+"["+(typeof i=="object"?t:"")+"]",i,n,r)});else if(!n&&v.type(t)==="object")for(i in t)fn(e+"["+i+"]",t[i],n,r);else r(e,t)}function Cn(e){return function(t,n){typeof t!="string"&&(n=t,t="*");var r,i,s,o=t.toLowerCase().split(y),u=0,a=o.length;if(v.isFunction(n))for(;u<a;u++)r=o[u],s=/^\+/.test(r),s&&(r=r.substr(1)||"*"),i=e[r]=e[r]||[],i[s?"unshift":"push"](n)}}function kn(e,n,r,i,s,o){s=s||n.dataTypes[0],o=o||{},o[s]=!0;var u,a=e[s],f=0,l=a?a.length:0,c=e===Sn;for(;f<l&&(c||!u);f++)u=a[f](n,r,i),typeof u=="string"&&(!c||o[u]?u=t:(n.dataTypes.unshift(u),u=kn(e,n,r,i,u,o)));return(c||!u)&&!o["*"]&&(u=kn(e,n,r,i,"*",o)),u}function Ln(e,n){var r,i,s=v.ajaxSettings.flatOptions||{};for(r in n)n[r]!==t&&((s[r]?e:i||(i={}))[r]=n[r]);i&&v.extend(!0,e,i)}function An(e,n,r){var i,s,o,u,a=e.contents,f=e.dataTypes,l=e.responseFields;for(s in l)s in r&&(n[l[s]]=r[s]);while(f[0]==="*")f.shift(),i===t&&(i=e.mimeType||n.getResponseHeader("content-type"));if(i)for(s in a)if(a[s]&&a[s].test(i)){f.unshift(s);break}if(f[0]in r)o=f[0];else{for(s in r){if(!f[0]||e.converters[s+" "+f[0]]){o=s;break}u||(u=s)}o=o||u}if(o)return o!==f[0]&&f.unshift(o),r[o]}function On(e,t){var n,r,i,s,o=e.dataTypes.slice(),u=o[0],a={},f=0;e.dataFilter&&(t=e.dataFilter(t,e.dataType));if(o[1])for(n in e.converters)a[n.toLowerCase()]=e.converters[n];for(;i=o[++f];)if(i!=="*"){if(u!=="*"&&u!==i){n=a[u+" "+i]||a["* "+i];if(!n)for(r in a){s=r.split(" ");if(s[1]===i){n=a[u+" "+s[0]]||a["* "+s[0]];if(n){n===!0?n=a[r]:a[r]!==!0&&(i=s[0],o.splice(f--,0,i));break}}}if(n!==!0)if(n&&e["throws"])t=n(t);else try{t=n(t)}catch(l){return{state:"parsererror",error:n?l:"No conversion from "+u+" to "+i}}}u=i}return{state:"success",data:t}}function Fn(){try{return new e.XMLHttpRequest}catch(t){}}function In(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}function $n(){return setTimeout(function(){qn=t},0),qn=v.now()}function Jn(e,t){v.each(t,function(t,n){var r=(Vn[t]||[]).concat(Vn["*"]),i=0,s=r.length;for(;i<s;i++)if(r[i].call(e,t,n))return})}function Kn(e,t,n){var r,i=0,s=0,o=Xn.length,u=v.Deferred().always(function(){delete a.elem}),a=function(){var t=qn||$n(),n=Math.max(0,f.startTime+f.duration-t),r=n/f.duration||0,i=1-r,s=0,o=f.tweens.length;for(;s<o;s++)f.tweens[s].run(i);return u.notifyWith(e,[f,i,n]),i<1&&o?n:(u.resolveWith(e,[f]),!1)},f=u.promise({elem:e,props:v.extend({},t),opts:v.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:qn||$n(),duration:n.duration,tweens:[],createTween:function(t,n,r){var i=v.Tween(e,f.opts,t,n,f.opts.specialEasing[t]||f.opts.easing);return f.tweens.push(i),i},stop:function(t){var n=0,r=t?f.tweens.length:0;for(;n<r;n++)f.tweens[n].run(1);return t?u.resolveWith(e,[f,t]):u.rejectWith(e,[f,t]),this}}),l=f.props;Qn(l,f.opts.specialEasing);for(;i<o;i++){r=Xn[i].call(f,e,l,f.opts);if(r)return r}return Jn(f,l),v.isFunction(f.opts.start)&&f.opts.start.call(e,f),v.fx.timer(v.extend(a,{anim:f,queue:f.opts.queue,elem:e})),f.progress(f.opts.progress).done(f.opts.done,f.opts.complete).fail(f.opts.fail).always(f.opts.always)}function Qn(e,t){var n,r,i,s,o;for(n in e){r=v.camelCase(n),i=t[r],s=e[n],v.isArray(s)&&(i=s[1],s=e[n]=s[0]),n!==r&&(e[r]=s,delete e[n]),o=v.cssHooks[r];if(o&&"expand"in o){s=o.expand(s),delete e[r];for(n in s)n in e||(e[n]=s[n],t[n]=i)}else t[r]=i}}function Gn(e,t,n){var r,i,s,o,u,a,f,l,c,h=this,p=e.style,d={},m=[],g=e.nodeType&&Gt(e);n.queue||(l=v._queueHooks(e,"fx"),l.unqueued==null&&(l.unqueued=0,c=l.empty.fire,l.empty.fire=function(){l.unqueued||c()}),l.unqueued++,h.always(function(){h.always(function(){l.unqueued--,v.queue(e,"fx").length||l.empty.fire()})})),e.nodeType===1&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],v.css(e,"display")==="inline"&&v.css(e,"float")==="none"&&(!v.support.inlineBlockNeedsLayout||nn(e.nodeName)==="inline"?p.display="inline-block":p.zoom=1)),n.overflow&&(p.overflow="hidden",v.support.shrinkWrapBlocks||h.done(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t){s=t[r];if(Un.exec(s)){delete t[r],a=a||s==="toggle";if(s===(g?"hide":"show"))continue;m.push(r)}}o=m.length;if(o){u=v._data(e,"fxshow")||v._data(e,"fxshow",{}),"hidden"in u&&(g=u.hidden),a&&(u.hidden=!g),g?v(e).show():h.done(function(){v(e).hide()}),h.done(function(){var t;v.removeData(e,"fxshow",!0);for(t in d)v.style(e,t,d[t])});for(r=0;r<o;r++)i=m[r],f=h.createTween(i,g?u[i]:0),d[i]=u[i]||v.style(e,i),i in u||(u[i]=f.start,g&&(f.end=f.start,f.start=i==="width"||i==="height"?1:0))}}function Yn(e,t,n,r,i){return new Yn.prototype.init(e,t,n,r,i)}function Zn(e,t){var n,r={height:e},i=0;t=t?1:0;for(;i<4;i+=2-t)n=$t[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}function tr(e){return v.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:!1}var n,r,i=e.document,s=e.location,o=e.navigator,u=e.jQuery,a=e.$,f=Array.prototype.push,l=Array.prototype.slice,c=Array.prototype.indexOf,h=Object.prototype.toString,p=Object.prototype.hasOwnProperty,d=String.prototype.trim,v=function(e,t){return new v.fn.init(e,t,n)},m=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,g=/\S/,y=/\s+/,b=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,w=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,E=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,S=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,T=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,N=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,C=/^-ms-/,k=/-([\da-z])/gi,L=function(e,t){return(t+"").toUpperCase()},A=function(){i.addEventListener?(i.removeEventListener("DOMContentLoaded",A,!1),v.ready()):i.readyState==="complete"&&(i.detachEvent("onreadystatechange",A),v.ready())},O={};v.fn=v.prototype={constructor:v,init:function(e,n,r){var s,o,u,a;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if(typeof e=="string"){e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3?s=[null,e,null]:s=w.exec(e);if(s&&(s[1]||!n)){if(s[1])return n=n instanceof v?n[0]:n,a=n&&n.nodeType?n.ownerDocument||n:i,e=v.parseHTML(s[1],a,!0),E.test(s[1])&&v.isPlainObject(n)&&this.attr.call(e,n,!0),v.merge(this,e);o=i.getElementById(s[2]);if(o&&o.parentNode){if(o.id!==s[2])return r.find(e);this.length=1,this[0]=o}return this.context=i,this.selector=e,this}return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e)}return v.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),v.makeArray(e,this))},selector:"",jquery:"1.8.3",length:0,size:function(){return this.length},toArray:function(){return l.call(this)},get:function(e){return e==null?this.toArray():e<0?this[this.length+e]:this[e]},pushStack:function(e,t,n){var r=v.merge(this.constructor(),e);return r.prevObject=this,r.context=this.context,t==="find"?r.selector=this.selector+(this.selector?" ":"")+n:t&&(r.selector=this.selector+"."+t+"("+n+")"),r},each:function(e,t){return v.each(this,e,t)},ready:function(e){return v.ready.promise().done(e),this},eq:function(e){return e=+e,e===-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(l.apply(this,arguments),"slice",l.call(arguments).join(","))},map:function(e){return this.pushStack(v.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:[].sort,splice:[].splice},v.fn.init.prototype=v.fn,v.extend=v.fn.extend=function(){var e,n,r,i,s,o,u=arguments[0]||{},a=1,f=arguments.length,l=!1;typeof u=="boolean"&&(l=u,u=arguments[1]||{},a=2),typeof u!="object"&&!v.isFunction(u)&&(u={}),f===a&&(u=this,--a);for(;a<f;a++)if((e=arguments[a])!=null)for(n in e){r=u[n],i=e[n];if(u===i)continue;l&&i&&(v.isPlainObject(i)||(s=v.isArray(i)))?(s?(s=!1,o=r&&v.isArray(r)?r:[]):o=r&&v.isPlainObject(r)?r:{},u[n]=v.extend(l,o,i)):i!==t&&(u[n]=i)}return u},v.extend({noConflict:function(t){return e.$===v&&(e.$=a),t&&e.jQuery===v&&(e.jQuery=u),v},isReady:!1,readyWait:1,holdReady:function(e){e?v.readyWait++:v.ready(!0)},ready:function(e){if(e===!0?--v.readyWait:v.isReady)return;if(!i.body)return setTimeout(v.ready,1);v.isReady=!0;if(e!==!0&&--v.readyWait>0)return;r.resolveWith(i,[v]),v.fn.trigger&&v(i).trigger("ready").off("ready")},isFunction:function(e){return v.type(e)==="function"},isArray:Array.isArray||function(e){return v.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return e==null?String(e):O[h.call(e)]||"object"},isPlainObject:function(e){if(!e||v.type(e)!=="object"||e.nodeType||v.isWindow(e))return!1;try{if(e.constructor&&!p.call(e,"constructor")&&!p.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||p.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return!e||typeof e!="string"?null:(typeof t=="boolean"&&(n=t,t=0),t=t||i,(r=E.exec(e))?[t.createElement(r[1])]:(r=v.buildFragment([e],t,n?null:[]),v.merge([],(r.cacheable?v.clone(r.fragment):r.fragment).childNodes)))},parseJSON:function(t){if(!t||typeof t!="string")return null;t=v.trim(t);if(e.JSON&&e.JSON.parse)return e.JSON.parse(t);if(S.test(t.replace(T,"@").replace(N,"]").replace(x,"")))return(new Function("return "+t))();v.error("Invalid JSON: "+t)},parseXML:function(n){var r,i;if(!n||typeof n!="string")return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(s){r=t}return(!r||!r.documentElement||r.getElementsByTagName("parsererror").length)&&v.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&g.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(C,"ms-").replace(k,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,n,r){var i,s=0,o=e.length,u=o===t||v.isFunction(e);if(r){if(u){for(i in e)if(n.apply(e[i],r)===!1)break}else for(;s<o;)if(n.apply(e[s++],r)===!1)break}else if(u){for(i in e)if(n.call(e[i],i,e[i])===!1)break}else for(;s<o;)if(n.call(e[s],s,e[s++])===!1)break;return e},trim:d&&!d.call("\ufeff\u00a0")?function(e){return e==null?"":d.call(e)}:function(e){return e==null?"":(e+"").replace(b,"")},makeArray:function(e,t){var n,r=t||[];return e!=null&&(n=v.type(e),e.length==null||n==="string"||n==="function"||n==="regexp"||v.isWindow(e)?f.call(r,e):v.merge(r,e)),r},inArray:function(e,t,n){var r;if(t){if(c)return c.call(t,e,n);r=t.length,n=n?n<0?Math.max(0,r+n):n:0;for(;n<r;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,s=0;if(typeof r=="number")for(;s<r;s++)e[i++]=n[s];else while(n[s]!==t)e[i++]=n[s++];return e.length=i,e},grep:function(e,t,n){var r,i=[],s=0,o=e.length;n=!!n;for(;s<o;s++)r=!!t(e[s],s),n!==r&&i.push(e[s]);return i},map:function(e,n,r){var i,s,o=[],u=0,a=e.length,f=e instanceof v||a!==t&&typeof a=="number"&&(a>0&&e[0]&&e[a-1]||a===0||v.isArray(e));if(f)for(;u<a;u++)i=n(e[u],u,r),i!=null&&(o[o.length]=i);else for(s in e)i=n(e[s],s,r),i!=null&&(o[o.length]=i);return o.concat.apply([],o)},guid:1,proxy:function(e,n){var r,i,s;return typeof n=="string"&&(r=e[n],n=e,e=r),v.isFunction(e)?(i=l.call(arguments,2),s=function(){return e.apply(n,i.concat(l.call(arguments)))},s.guid=e.guid=e.guid||v.guid++,s):t},access:function(e,n,r,i,s,o,u){var a,f=r==null,l=0,c=e.length;if(r&&typeof r=="object"){for(l in r)v.access(e,n,l,r[l],1,o,i);s=1}else if(i!==t){a=u===t&&v.isFunction(i),f&&(a?(a=n,n=function(e,t,n){return a.call(v(e),n)}):(n.call(e,i),n=null));if(n)for(;l<c;l++)n(e[l],r,a?i.call(e[l],l,n(e[l],r)):i,u);s=1}return s?e:f?n.call(e):c?n(e[0],r):o},now:function(){return(new Date).getTime()}}),v.ready.promise=function(t){if(!r){r=v.Deferred();if(i.readyState==="complete")setTimeout(v.ready,1);else if(i.addEventListener)i.addEventListener("DOMContentLoaded",A,!1),e.addEventListener("load",v.ready,!1);else{i.attachEvent("onreadystatechange",A),e.attachEvent("onload",v.ready);var n=!1;try{n=e.frameElement==null&&i.documentElement}catch(s){}n&&n.doScroll&&function o(){if(!v.isReady){try{n.doScroll("left")}catch(e){return setTimeout(o,50)}v.ready()}}()}}return r.promise(t)},v.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(e,t){O["[object "+t+"]"]=t.toLowerCase()}),n=v(i);var M={};v.Callbacks=function(e){e=typeof e=="string"?M[e]||_(e):v.extend({},e);var n,r,i,s,o,u,a=[],f=!e.once&&[],l=function(t){n=e.memory&&t,r=!0,u=s||0,s=0,o=a.length,i=!0;for(;a&&u<o;u++)if(a[u].apply(t[0],t[1])===!1&&e.stopOnFalse){n=!1;break}i=!1,a&&(f?f.length&&l(f.shift()):n?a=[]:c.disable())},c={add:function(){if(a){var t=a.length;(function r(t){v.each(t,function(t,n){var i=v.type(n);i==="function"?(!e.unique||!c.has(n))&&a.push(n):n&&n.length&&i!=="string"&&r(n)})})(arguments),i?o=a.length:n&&(s=t,l(n))}return this},remove:function(){return a&&v.each(arguments,function(e,t){var n;while((n=v.inArray(t,a,n))>-1)a.splice(n,1),i&&(n<=o&&o--,n<=u&&u--)}),this},has:function(e){return v.inArray(e,a)>-1},empty:function(){return a=[],this},disable:function(){return a=f=n=t,this},disabled:function(){return!a},lock:function(){return f=t,n||c.disable(),this},locked:function(){return!f},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],a&&(!r||f)&&(i?f.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},v.extend({Deferred:function(e){var t=[["resolve","done",v.Callbacks("once memory"),"resolved"],["reject","fail",v.Callbacks("once memory"),"rejected"],["notify","progress",v.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return v.Deferred(function(n){v.each(t,function(t,r){var s=r[0],o=e[t];i[r[1]](v.isFunction(o)?function(){var e=o.apply(this,arguments);e&&v.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===i?n:this,[e])}:n[s])}),e=null}).promise()},promise:function(e){return e!=null?v.extend(e,r):r}},i={};return r.pipe=r.then,v.each(t,function(e,s){var o=s[2],u=s[3];r[s[1]]=o.add,u&&o.add(function(){n=u},t[e^1][2].disable,t[2][2].lock),i[s[0]]=o.fire,i[s[0]+"With"]=o.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=l.call(arguments),r=n.length,i=r!==1||e&&v.isFunction(e.promise)?r:0,s=i===1?e:v.Deferred(),o=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?l.call(arguments):r,n===u?s.notifyWith(t,n):--i||s.resolveWith(t,n)}},u,a,f;if(r>1){u=new Array(r),a=new Array(r),f=new Array(r);for(;t<r;t++)n[t]&&v.isFunction(n[t].promise)?n[t].promise().done(o(t,f,n)).fail(s.reject).progress(o(t,a,u)):--i}return i||s.resolveWith(f,n),s.promise()}}),v.support=function(){var t,n,r,s,o,u,a,f,l,c,h,p=i.createElement("div");p.setAttribute("className","t"),p.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=p.getElementsByTagName("*"),r=p.getElementsByTagName("a")[0];if(!n||!r||!n.length)return{};s=i.createElement("select"),o=s.appendChild(i.createElement("option")),u=p.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:r.getAttribute("href")==="/a",opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:u.value==="on",optSelected:o.selected,getSetAttribute:p.className!=="t",enctype:!!i.createElement("form").enctype,html5Clone:i.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",boxModel:i.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},u.checked=!0,t.noCloneChecked=u.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!o.disabled;try{delete p.test}catch(d){t.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",h=function(){t.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick"),p.detachEvent("onclick",h)),u=i.createElement("input"),u.value="t",u.setAttribute("type","radio"),t.radioValue=u.value==="t",u.setAttribute("checked","checked"),u.setAttribute("name","t"),p.appendChild(u),a=i.createDocumentFragment(),a.appendChild(p.lastChild),t.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=u.checked,a.removeChild(u),a.appendChild(p);if(p.attachEvent)for(l in{submit:!0,change:!0,focusin:!0})f="on"+l,c=f in p,c||(p.setAttribute(f,"return;"),c=typeof p[f]=="function"),t[l+"Bubbles"]=c;return v(function(){var n,r,s,o,u="padding:0;margin:0;border:0;display:block;overflow:hidden;",a=i.getElementsByTagName("body")[0];if(!a)return;n=i.createElement("div"),n.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",a.insertBefore(n,a.firstChild),r=i.createElement("div"),n.appendChild(r),r.innerHTML="<table><tr><td></td><td>t</td></tr></table>",s=r.getElementsByTagName("td"),s[0].style.cssText="padding:0;margin:0;border:0;display:none",c=s[0].offsetHeight===0,s[0].style.display="",s[1].style.display="none",t.reliableHiddenOffsets=c&&s[0].offsetHeight===0,r.innerHTML="",r.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=r.offsetWidth===4,t.doesNotIncludeMarginInBodyOffset=a.offsetTop!==1,e.getComputedStyle&&(t.pixelPosition=(e.getComputedStyle(r,null)||{}).top!=="1%",t.boxSizingReliable=(e.getComputedStyle(r,null)||{width:"4px"}).width==="4px",o=i.createElement("div"),o.style.cssText=r.style.cssText=u,o.style.marginRight=o.style.width="0",r.style.width="1px",r.appendChild(o),t.reliableMarginRight=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),typeof r.style.zoom!="undefined"&&(r.innerHTML="",r.style.cssText=u+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=r.offsetWidth===3,r.style.display="block",r.style.overflow="visible",r.innerHTML="<div></div>",r.firstChild.style.width="5px",t.shrinkWrapBlocks=r.offsetWidth!==3,n.style.zoom=1),a.removeChild(n),n=r=s=o=null}),a.removeChild(p),n=r=s=o=u=a=p=null,t}();var D=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;v.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(v.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?v.cache[e[v.expando]]:e[v.expando],!!e&&!B(e)},data:function(e,n,r,i){if(!v.acceptData(e))return;var s,o,u=v.expando,a=typeof n=="string",f=e.nodeType,l=f?v.cache:e,c=f?e[u]:e[u]&&u;if((!c||!l[c]||!i&&!l[c].data)&&a&&r===t)return;c||(f?e[u]=c=v.deletedIds.pop()||v.guid++:c=u),l[c]||(l[c]={},f||(l[c].toJSON=v.noop));if(typeof n=="object"||typeof n=="function")i?l[c]=v.extend(l[c],n):l[c].data=v.extend(l[c].data,n);return s=l[c],i||(s.data||(s.data={}),s=s.data),r!==t&&(s[v.camelCase(n)]=r),a?(o=s[n],o==null&&(o=s[v.camelCase(n)])):o=s,o},removeData:function(e,t,n){if(!v.acceptData(e))return;var r,i,s,o=e.nodeType,u=o?v.cache:e,a=o?e[v.expando]:v.expando;if(!u[a])return;if(t){r=n?u[a]:u[a].data;if(r){v.isArray(t)||(t in r?t=[t]:(t=v.camelCase(t),t in r?t=[t]:t=t.split(" ")));for(i=0,s=t.length;i<s;i++)delete r[t[i]];if(!(n?B:v.isEmptyObject)(r))return}}if(!n){delete u[a].data;if(!B(u[a]))return}o?v.cleanData([e],!0):v.support.deleteExpando||u!=u.window?delete u[a]:u[a]=null},_data:function(e,t,n){return v.data(e,t,n,!0)},acceptData:function(e){var t=e.nodeName&&v.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),v.fn.extend({data:function(e,n){var r,i,s,o,u,a=this[0],f=0,l=null;if(e===t){if(this.length){l=v.data(a);if(a.nodeType===1&&!v._data(a,"parsedAttrs")){s=a.attributes;for(u=s.length;f<u;f++)o=s[f].name,o.indexOf("data-")||(o=v.camelCase(o.substring(5)),H(a,o,l[o]));v._data(a,"parsedAttrs",!0)}}return l}return typeof e=="object"?this.each(function(){v.data(this,e)}):(r=e.split(".",2),r[1]=r[1]?"."+r[1]:"",i=r[1]+"!",v.access(this,function(n){if(n===t)return l=this.triggerHandler("getData"+i,[r[0]]),l===t&&a&&(l=v.data(a,e),l=H(a,e,l)),l===t&&r[1]?this.data(r[0]):l;r[1]=n,this.each(function(){var t=v(this);t.triggerHandler("setData"+i,r),v.data(this,e,n),t.triggerHandler("changeData"+i,r)})},null,n,arguments.length>1,null,!1))},removeData:function(e){return this.each(function(){v.removeData(this,e)})}}),v.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=v._data(e,t),n&&(!r||v.isArray(n)?r=v._data(e,t,v.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=v.queue(e,t),r=n.length,i=n.shift(),s=v._queueHooks(e,t),o=function(){v.dequeue(e,t)};i==="inprogress"&&(i=n.shift(),r--),i&&(t==="fx"&&n.unshift("inprogress"),delete s.stop,i.call(e,o,s)),!r&&s&&s.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return v._data(e,n)||v._data(e,n,{empty:v.Callbacks("once memory").add(function(){v.removeData(e,t+"queue",!0),v.removeData(e,n,!0)})})}}),v.fn.extend({queue:function(e,n){var r=2;return typeof e!="string"&&(n=e,e="fx",r--),arguments.length<r?v.queue(this[0],e):n===t?this:this.each(function(){var t=v.queue(this,e,n);v._queueHooks(this,e),e==="fx"&&t[0]!=="inprogress"&&v.dequeue(this,e)})},dequeue:function(e){return this.each(function(){v.dequeue(this,e)})},delay:function(e,t){return e=v.fx?v.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,s=v.Deferred(),o=this,u=this.length,a=function(){--i||s.resolveWith(o,[o])};typeof e!="string"&&(n=e,e=t),e=e||"fx";while(u--)r=v._data(o[u],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(a));return a(),s.promise(n)}});var j,F,I,q=/[\t\r\n]/g,R=/\r/g,U=/^(?:button|input)$/i,z=/^(?:button|input|object|select|textarea)$/i,W=/^a(?:rea|)$/i,X=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,V=v.support.getSetAttribute;v.fn.extend({attr:function(e,t){return v.access(this,v.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){v.removeAttr(this,e)})},prop:function(e,t){return v.access(this,v.prop,e,t,arguments.length>1)},removeProp:function(e){return e=v.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,s,o,u;if(v.isFunction(e))return this.each(function(t){v(this).addClass(e.call(this,t,this.className))});if(e&&typeof e=="string"){t=e.split(y);for(n=0,r=this.length;n<r;n++){i=this[n];if(i.nodeType===1)if(!i.className&&t.length===1)i.className=e;else{s=" "+i.className+" ";for(o=0,u=t.length;o<u;o++)s.indexOf(" "+t[o]+" ")<0&&(s+=t[o]+" ");i.className=v.trim(s)}}}return this},removeClass:function(e){var n,r,i,s,o,u,a;if(v.isFunction(e))return this.each(function(t){v(this).removeClass(e.call(this,t,this.className))});if(e&&typeof e=="string"||e===t){n=(e||"").split(y);for(u=0,a=this.length;u<a;u++){i=this[u];if(i.nodeType===1&&i.className){r=(" "+i.className+" ").replace(q," ");for(s=0,o=n.length;s<o;s++)while(r.indexOf(" "+n[s]+" ")>=0)r=r.replace(" "+n[s]+" "," ");i.className=e?v.trim(r):""}}}return this},toggleClass:function(e,t){var n=typeof e,r=typeof t=="boolean";return v.isFunction(e)?this.each(function(n){v(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(n==="string"){var i,s=0,o=v(this),u=t,a=e.split(y);while(i=a[s++])u=r?u:!o.hasClass(i),o[u?"addClass":"removeClass"](i)}else if(n==="undefined"||n==="boolean")this.className&&v._data(this,"__className__",this.className),this.className=this.className||e===!1?"":v._data(this,"__className__")||""})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;n<r;n++)if(this[n].nodeType===1&&(" "+this[n].className+" ").replace(q," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,s=this[0];if(!arguments.length){if(s)return n=v.valHooks[s.type]||v.valHooks[s.nodeName.toLowerCase()],n&&"get"in n&&(r=n.get(s,"value"))!==t?r:(r=s.value,typeof r=="string"?r.replace(R,""):r==null?"":r);return}return i=v.isFunction(e),this.each(function(r){var s,o=v(this);if(this.nodeType!==1)return;i?s=e.call(this,r,o.val()):s=e,s==null?s="":typeof s=="number"?s+="":v.isArray(s)&&(s=v.map(s,function(e){return e==null?"":e+""})),n=v.valHooks[this.type]||v.valHooks[this.nodeName.toLowerCase()];if(!n||!("set"in n)||n.set(this,s,"value")===t)this.value=s})}}),v.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,s=e.type==="select-one"||i<0,o=s?null:[],u=s?i+1:r.length,a=i<0?u:s?i:0;for(;a<u;a++){n=r[a];if((n.selected||a===i)&&(v.support.optDisabled?!n.disabled:n.getAttribute("disabled")===null)&&(!n.parentNode.disabled||!v.nodeName(n.parentNode,"optgroup"))){t=v(n).val();if(s)return t;o.push(t)}}return o},set:function(e,t){var n=v.makeArray(t);return v(e).find("option").each(function(){this.selected=v.inArray(v(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attrFn:{},attr:function(e,n,r,i){var s,o,u,a=e.nodeType;if(!e||a===3||a===8||a===2)return;if(i&&v.isFunction(v.fn[n]))return v(e)[n](r);if(typeof e.getAttribute=="undefined")return v.prop(e,n,r);u=a!==1||!v.isXMLDoc(e),u&&(n=n.toLowerCase(),o=v.attrHooks[n]||(X.test(n)?F:j));if(r!==t){if(r===null){v.removeAttr(e,n);return}return o&&"set"in o&&u&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r)}return o&&"get"in o&&u&&(s=o.get(e,n))!==null?s:(s=e.getAttribute(n),s===null?t:s)},removeAttr:function(e,t){var n,r,i,s,o=0;if(t&&e.nodeType===1){r=t.split(y);for(;o<r.length;o++)i=r[o],i&&(n=v.propFix[i]||i,s=X.test(i),s||v.attr(e,i,""),e.removeAttribute(V?i:n),s&&n in e&&(e[n]=!1))}},attrHooks:{type:{set:function(e,t){if(U.test(e.nodeName)&&e.parentNode)v.error("type property can't be changed");else if(!v.support.radioValue&&t==="radio"&&v.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}},value:{get:function(e,t){return j&&v.nodeName(e,"button")?j.get(e,t):t in e?e.value:null},set:function(e,t,n){if(j&&v.nodeName(e,"button"))return j.set(e,t,n);e.value=t}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,s,o,u=e.nodeType;if(!e||u===3||u===8||u===2)return;return o=u!==1||!v.isXMLDoc(e),o&&(n=v.propFix[n]||n,s=v.propHooks[n]),r!==t?s&&"set"in s&&(i=s.set(e,r,n))!==t?i:e[n]=r:s&&"get"in s&&(i=s.get(e,n))!==null?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):z.test(e.nodeName)||W.test(e.nodeName)&&e.href?0:t}}}}),F={get:function(e,n){var r,i=v.prop(e,n);return i===!0||typeof i!="boolean"&&(r=e.getAttributeNode(n))&&r.nodeValue!==!1?n.toLowerCase():t},set:function(e,t,n){var r;return t===!1?v.removeAttr(e,n):(r=v.propFix[n]||n,r in e&&(e[r]=!0),e.setAttribute(n,n.toLowerCase())),n}},V||(I={name:!0,id:!0,coords:!0},j=v.valHooks.button={get:function(e,n){var r;return r=e.getAttributeNode(n),r&&(I[n]?r.value!=="":r.specified)?r.value:t},set:function(e,t,n){var r=e.getAttributeNode(n);return r||(r=i.createAttribute(n),e.setAttributeNode(r)),r.value=t+""}},v.each(["width","height"],function(e,t){v.attrHooks[t]=v.extend(v.attrHooks[t],{set:function(e,n){if(n==="")return e.setAttribute(t,"auto"),n}})}),v.attrHooks.contenteditable={get:j.get,set:function(e,t,n){t===""&&(t="false"),j.set(e,t,n)}}),v.support.hrefNormalized||v.each(["href","src","width","height"],function(e,n){v.attrHooks[n]=v.extend(v.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return r===null?t:r}})}),v.support.style||(v.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||t},set:function(e,t){return e.style.cssText=t+""}}),v.support.optSelected||(v.propHooks.selected=v.extend(v.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),v.support.enctype||(v.propFix.enctype="encoding"),v.support.checkOn||v.each(["radio","checkbox"],function(){v.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}}),v.each(["radio","checkbox"],function(){v.valHooks[this]=v.extend(v.valHooks[this],{set:function(e,t){if(v.isArray(t))return e.checked=v.inArray(v(e).val(),t)>=0}})});var $=/^(?:textarea|input|select)$/i,J=/^([^\.]*|)(?:\.(.+)|)$/,K=/(?:^|\s)hover(\.\S+|)\b/,Q=/^key/,G=/^(?:mouse|contextmenu)|click/,Y=/^(?:focusinfocus|focusoutblur)$/,Z=function(e){return v.event.special.hover?e:e.replace(K,"mouseenter$1 mouseleave$1")};v.event={add:function(e,n,r,i,s){var o,u,a,f,l,c,h,p,d,m,g;if(e.nodeType===3||e.nodeType===8||!n||!r||!(o=v._data(e)))return;r.handler&&(d=r,r=d.handler,s=d.selector),r.guid||(r.guid=v.guid++),a=o.events,a||(o.events=a={}),u=o.handle,u||(o.handle=u=function(e){return typeof v=="undefined"||!!e&&v.event.triggered===e.type?t:v.event.dispatch.apply(u.elem,arguments)},u.elem=e),n=v.trim(Z(n)).split(" ");for(f=0;f<n.length;f++){l=J.exec(n[f])||[],c=l[1],h=(l[2]||"").split(".").sort(),g=v.event.special[c]||{},c=(s?g.delegateType:g.bindType)||c,g=v.event.special[c]||{},p=v.extend({type:c,origType:l[1],data:i,handler:r,guid:r.guid,selector:s,needsContext:s&&v.expr.match.needsContext.test(s),namespace:h.join(".")},d),m=a[c];if(!m){m=a[c]=[],m.delegateCount=0;if(!g.setup||g.setup.call(e,i,h,u)===!1)e.addEventListener?e.addEventListener(c,u,!1):e.attachEvent&&e.attachEvent("on"+c,u)}g.add&&(g.add.call(e,p),p.handler.guid||(p.handler.guid=r.guid)),s?m.splice(m.delegateCount++,0,p):m.push(p),v.event.global[c]=!0}e=null},global:{},remove:function(e,t,n,r,i){var s,o,u,a,f,l,c,h,p,d,m,g=v.hasData(e)&&v._data(e);if(!g||!(h=g.events))return;t=v.trim(Z(t||"")).split(" ");for(s=0;s<t.length;s++){o=J.exec(t[s])||[],u=a=o[1],f=o[2];if(!u){for(u in h)v.event.remove(e,u+t[s],n,r,!0);continue}p=v.event.special[u]||{},u=(r?p.delegateType:p.bindType)||u,d=h[u]||[],l=d.length,f=f?new RegExp("(^|\\.)"+f.split(".").sort().join("\\.(?:.*\\.|)")+"(\\.|$)"):null;for(c=0;c<d.length;c++)m=d[c],(i||a===m.origType)&&(!n||n.guid===m.guid)&&(!f||f.test(m.namespace))&&(!r||r===m.selector||r==="**"&&m.selector)&&(d.splice(c--,1),m.selector&&d.delegateCount--,p.remove&&p.remove.call(e,m));d.length===0&&l!==d.length&&((!p.teardown||p.teardown.call(e,f,g.handle)===!1)&&v.removeEvent(e,u,g.handle),delete h[u])}v.isEmptyObject(h)&&(delete g.handle,v.removeData(e,"events",!0))},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(n,r,s,o){if(!s||s.nodeType!==3&&s.nodeType!==8){var u,a,f,l,c,h,p,d,m,g,y=n.type||n,b=[];if(Y.test(y+v.event.triggered))return;y.indexOf("!")>=0&&(y=y.slice(0,-1),a=!0),y.indexOf(".")>=0&&(b=y.split("."),y=b.shift(),b.sort());if((!s||v.event.customEvent[y])&&!v.event.global[y])return;n=typeof n=="object"?n[v.expando]?n:new v.Event(y,n):new v.Event(y),n.type=y,n.isTrigger=!0,n.exclusive=a,n.namespace=b.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,h=y.indexOf(":")<0?"on"+y:"";if(!s){u=v.cache;for(f in u)u[f].events&&u[f].events[y]&&v.event.trigger(n,r,u[f].handle.elem,!0);return}n.result=t,n.target||(n.target=s),r=r!=null?v.makeArray(r):[],r.unshift(n),p=v.event.special[y]||{};if(p.trigger&&p.trigger.apply(s,r)===!1)return;m=[[s,p.bindType||y]];if(!o&&!p.noBubble&&!v.isWindow(s)){g=p.delegateType||y,l=Y.test(g+y)?s:s.parentNode;for(c=s;l;l=l.parentNode)m.push([l,g]),c=l;c===(s.ownerDocument||i)&&m.push([c.defaultView||c.parentWindow||e,g])}for(f=0;f<m.length&&!n.isPropagationStopped();f++)l=m[f][0],n.type=m[f][1],d=(v._data(l,"events")||{})[n.type]&&v._data(l,"handle"),d&&d.apply(l,r),d=h&&l[h],d&&v.acceptData(l)&&d.apply&&d.apply(l,r)===!1&&n.preventDefault();return n.type=y,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(s.ownerDocument,r)===!1)&&(y!=="click"||!v.nodeName(s,"a"))&&v.acceptData(s)&&h&&s[y]&&(y!=="focus"&&y!=="blur"||n.target.offsetWidth!==0)&&!v.isWindow(s)&&(c=s[h],c&&(s[h]=null),v.event.triggered=y,s[y](),v.event.triggered=t,c&&(s[h]=c)),n.result}return},dispatch:function(n){n=v.event.fix(n||e.event);var r,i,s,o,u,a,f,c,h,p,d=(v._data(this,"events")||{})[n.type]||[],m=d.delegateCount,g=l.call(arguments),y=!n.exclusive&&!n.namespace,b=v.event.special[n.type]||{},w=[];g[0]=n,n.delegateTarget=this;if(b.preDispatch&&b.preDispatch.call(this,n)===!1)return;if(m&&(!n.button||n.type!=="click"))for(s=n.target;s!=this;s=s.parentNode||this)if(s.disabled!==!0||n.type!=="click"){u={},f=[];for(r=0;r<m;r++)c=d[r],h=c.selector,u[h]===t&&(u[h]=c.needsContext?v(h,this).index(s)>=0:v.find(h,this,null,[s]).length),u[h]&&f.push(c);f.length&&w.push({elem:s,matches:f})}d.length>m&&w.push({elem:this,matches:d.slice(m)});for(r=0;r<w.length&&!n.isPropagationStopped();r++){a=w[r],n.currentTarget=a.elem;for(i=0;i<a.matches.length&&!n.isImmediatePropagationStopped();i++){c=a.matches[i];if(y||!n.namespace&&!c.namespace||n.namespace_re&&n.namespace_re.test(c.namespace))n.data=c.data,n.handleObj=c,o=((v.event.special[c.origType]||{}).handle||c.handler).apply(a.elem,g),o!==t&&(n.result=o,o===!1&&(n.preventDefault(),n.stopPropagation()))}}return b.postDispatch&&b.postDispatch.call(this,n),n.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return e.which==null&&(e.which=t.charCode!=null?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,s,o,u=n.button,a=n.fromElement;return e.pageX==null&&n.clientX!=null&&(r=e.target.ownerDocument||i,s=r.documentElement,o=r.body,e.pageX=n.clientX+(s&&s.scrollLeft||o&&o.scrollLeft||0)-(s&&s.clientLeft||o&&o.clientLeft||0),e.pageY=n.clientY+(s&&s.scrollTop||o&&o.scrollTop||0)-(s&&s.clientTop||o&&o.clientTop||0)),!e.relatedTarget&&a&&(e.relatedTarget=a===e.target?n.toElement:a),!e.which&&u!==t&&(e.which=u&1?1:u&2?3:u&4?2:0),e}},fix:function(e){if(e[v.expando])return e;var t,n,r=e,s=v.event.fixHooks[e.type]||{},o=s.props?this.props.concat(s.props):this.props;e=v.Event(r);for(t=o.length;t;)n=o[--t],e[n]=r[n];return e.target||(e.target=r.srcElement||i),e.target.nodeType===3&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,r):e},special:{load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(e,t,n){v.isWindow(this)&&(this.onbeforeunload=n)},teardown:function(e,t){this.onbeforeunload===t&&(this.onbeforeunload=null)}}},simulate:function(e,t,n,r){var i=v.extend(new v.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?v.event.trigger(i,null,t):v.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},v.event.handle=v.event.dispatch,v.removeEvent=i.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]=="undefined"&&(e[r]=null),e.detachEvent(r,n))},v.Event=function(e,t){if(!(this instanceof v.Event))return new v.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?tt:et):this.type=e,t&&v.extend(this,t),this.timeStamp=e&&e.timeStamp||v.now(),this[v.expando]=!0},v.Event.prototype={preventDefault:function(){this.isDefaultPrevented=tt;var e=this.originalEvent;if(!e)return;e.preventDefault?e.preventDefault():e.returnValue=!1},stopPropagation:function(){this.isPropagationStopped=tt;var e=this.originalEvent;if(!e)return;e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=tt,this.stopPropagation()},isDefaultPrevented:et,isPropagationStopped:et,isImmediatePropagationStopped:et},v.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){v.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,s=e.handleObj,o=s.selector;if(!i||i!==r&&!v.contains(r,i))e.type=s.origType,n=s.handler.apply(this,arguments),e.type=t;return n}}}),v.support.submitBubbles||(v.event.special.submit={setup:function(){if(v.nodeName(this,"form"))return!1;v.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=v.nodeName(n,"input")||v.nodeName(n,"button")?n.form:t;r&&!v._data(r,"_submit_attached")&&(v.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),v._data(r,"_submit_attached",!0))})},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&v.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){if(v.nodeName(this,"form"))return!1;v.event.remove(this,"._submit")}}),v.support.changeBubbles||(v.event.special.change={setup:function(){if($.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")v.event.add(this,"propertychange._change",function(e){e.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),v.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),v.event.simulate("change",this,e,!0)});return!1}v.event.add(this,"beforeactivate._change",function(e){var t=e.target;$.test(t.nodeName)&&!v._data(t,"_change_attached")&&(v.event.add(t,"change._change",function(e){this.parentNode&&!e.isSimulated&&!e.isTrigger&&v.event.simulate("change",this.parentNode,e,!0)}),v._data(t,"_change_attached",!0))})},handle:function(e){var t=e.target;if(this!==t||e.isSimulated||e.isTrigger||t.type!=="radio"&&t.type!=="checkbox")return e.handleObj.handler.apply(this,arguments)},teardown:function(){return v.event.remove(this,"._change"),!$.test(this.nodeName)}}),v.support.focusinBubbles||v.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){v.event.simulate(t,e.target,v.event.fix(e),!0)};v.event.special[t]={setup:function(){n++===0&&i.addEventListener(e,r,!0)},teardown:function(){--n===0&&i.removeEventListener(e,r,!0)}}}),v.fn.extend({on:function(e,n,r,i,s){var o,u;if(typeof e=="object"){typeof n!="string"&&(r=r||n,n=t);for(u in e)this.on(u,n,r,e[u],s);return this}r==null&&i==null?(i=n,r=n=t):i==null&&(typeof n=="string"?(i=r,r=t):(i=r,r=n,n=t));if(i===!1)i=et;else if(!i)return this;return s===1&&(o=i,i=function(e){return v().off(e),o.apply(this,arguments)},i.guid=o.guid||(o.guid=v.guid++)),this.each(function(){v.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,s;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,v(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if(typeof e=="object"){for(s in e)this.off(s,n,e[s]);return this}if(n===!1||typeof n=="function")r=n,n=t;return r===!1&&(r=et),this.each(function(){v.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},live:function(e,t,n){return v(this.context).on(e,this.selector,t,n),this},die:function(e,t){return v(this.context).off(e,this.selector||"**",t),this},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return arguments.length===1?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){v.event.trigger(e,t,this)})},triggerHandler:function(e,t){if(this[0])return v.event.trigger(e,t,this[0],!0)},toggle:function(e){var t=arguments,n=e.guid||v.guid++,r=0,i=function(n){var i=(v._data(this,"lastToggle"+e.guid)||0)%r;return v._data(this,"lastToggle"+e.guid,i+1),n.preventDefault(),t[i].apply(this,arguments)||!1};i.guid=n;while(r<t.length)t[r++].guid=n;return this.click(i)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),v.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){v.fn[t]=function(e,n){return n==null&&(n=e,e=null),arguments.length>0?this.on(t,null,e,n):this.trigger(t)},Q.test(t)&&(v.event.fixHooks[t]=v.event.keyHooks),G.test(t)&&(v.event.fixHooks[t]=v.event.mouseHooks)}),function(e,t){function nt(e,t,n,r){n=n||[],t=t||g;var i,s,a,f,l=t.nodeType;if(!e||typeof e!="string")return n;if(l!==1&&l!==9)return[];a=o(t);if(!a&&!r)if(i=R.exec(e))if(f=i[1]){if(l===9){s=t.getElementById(f);if(!s||!s.parentNode)return n;if(s.id===f)return n.push(s),n}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(f))&&u(t,s)&&s.id===f)return n.push(s),n}else{if(i[2])return S.apply(n,x.call(t.getElementsByTagName(e),0)),n;if((f=i[3])&&Z&&t.getElementsByClassName)return S.apply(n,x.call(t.getElementsByClassName(f),0)),n}return vt(e.replace(j,"$1"),t,n,r,a)}function rt(e){return function(t){var n=t.nodeName.toLowerCase();return n==="input"&&t.type===e}}function it(e){return function(t){var n=t.nodeName.toLowerCase();return(n==="input"||n==="button")&&t.type===e}}function st(e){return N(function(t){return t=+t,N(function(n,r){var i,s=e([],n.length,t),o=s.length;while(o--)n[i=s[o]]&&(n[i]=!(r[i]=n[i]))})})}function ot(e,t,n){if(e===t)return n;var r=e.nextSibling;while(r){if(r===t)return-1;r=r.nextSibling}return 1}function ut(e,t){var n,r,s,o,u,a,f,l=L[d][e+" "];if(l)return t?0:l.slice(0);u=e,a=[],f=i.preFilter;while(u){if(!n||(r=F.exec(u)))r&&(u=u.slice(r[0].length)||u),a.push(s=[]);n=!1;if(r=I.exec(u))s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=r[0].replace(j," ");for(o in i.filter)(r=J[o].exec(u))&&(!f[o]||(r=f[o](r)))&&(s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=o,n.matches=r);if(!n)break}return t?u.length:u?nt.error(e):L(e,a).slice(0)}function at(e,t,r){var i=t.dir,s=r&&t.dir==="parentNode",o=w++;return t.first?function(t,n,r){while(t=t[i])if(s||t.nodeType===1)return e(t,n,r)}:function(t,r,u){if(!u){var a,f=b+" "+o+" ",l=f+n;while(t=t[i])if(s||t.nodeType===1){if((a=t[d])===l)return t.sizset;if(typeof a=="string"&&a.indexOf(f)===0){if(t.sizset)return t}else{t[d]=l;if(e(t,r,u))return t.sizset=!0,t;t.sizset=!1}}}else while(t=t[i])if(s||t.nodeType===1)if(e(t,r,u))return t}}function ft(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function lt(e,t,n,r,i){var s,o=[],u=0,a=e.length,f=t!=null;for(;u<a;u++)if(s=e[u])if(!n||n(s,r,i))o.push(s),f&&t.push(u);return o}function ct(e,t,n,r,i,s){return r&&!r[d]&&(r=ct(r)),i&&!i[d]&&(i=ct(i,s)),N(function(s,o,u,a){var f,l,c,h=[],p=[],d=o.length,v=s||dt(t||"*",u.nodeType?[u]:u,[]),m=e&&(s||!t)?lt(v,h,e,u,a):v,g=n?i||(s?e:d||r)?[]:o:m;n&&n(m,g,u,a);if(r){f=lt(g,p),r(f,[],u,a),l=f.length;while(l--)if(c=f[l])g[p[l]]=!(m[p[l]]=c)}if(s){if(i||e){if(i){f=[],l=g.length;while(l--)(c=g[l])&&f.push(m[l]=c);i(null,g=[],f,a)}l=g.length;while(l--)(c=g[l])&&(f=i?T.call(s,c):h[l])>-1&&(s[f]=!(o[f]=c))}}else g=lt(g===o?g.splice(d,g.length):g),i?i(null,o,g,a):S.apply(o,g)})}function ht(e){var t,n,r,s=e.length,o=i.relative[e[0].type],u=o||i.relative[" "],a=o?1:0,f=at(function(e){return e===t},u,!0),l=at(function(e){return T.call(t,e)>-1},u,!0),h=[function(e,n,r){return!o&&(r||n!==c)||((t=n).nodeType?f(e,n,r):l(e,n,r))}];for(;a<s;a++)if(n=i.relative[e[a].type])h=[at(ft(h),n)];else{n=i.filter[e[a].type].apply(null,e[a].matches);if(n[d]){r=++a;for(;r<s;r++)if(i.relative[e[r].type])break;return ct(a>1&&ft(h),a>1&&e.slice(0,a-1).join("").replace(j,"$1"),n,a<r&&ht(e.slice(a,r)),r<s&&ht(e=e.slice(r)),r<s&&e.join(""))}h.push(n)}return ft(h)}function pt(e,t){var r=t.length>0,s=e.length>0,o=function(u,a,f,l,h){var p,d,v,m=[],y=0,w="0",x=u&&[],T=h!=null,N=c,C=u||s&&i.find.TAG("*",h&&a.parentNode||a),k=b+=N==null?1:Math.E;T&&(c=a!==g&&a,n=o.el);for(;(p=C[w])!=null;w++){if(s&&p){for(d=0;v=e[d];d++)if(v(p,a,f)){l.push(p);break}T&&(b=k,n=++o.el)}r&&((p=!v&&p)&&y--,u&&x.push(p))}y+=w;if(r&&w!==y){for(d=0;v=t[d];d++)v(x,m,a,f);if(u){if(y>0)while(w--)!x[w]&&!m[w]&&(m[w]=E.call(l));m=lt(m)}S.apply(l,m),T&&!u&&m.length>0&&y+t.length>1&&nt.uniqueSort(l)}return T&&(b=k,c=N),x};return o.el=0,r?N(o):o}function dt(e,t,n){var r=0,i=t.length;for(;r<i;r++)nt(e,t[r],n);return n}function vt(e,t,n,r,s){var o,u,f,l,c,h=ut(e),p=h.length;if(!r&&h.length===1){u=h[0]=h[0].slice(0);if(u.length>2&&(f=u[0]).type==="ID"&&t.nodeType===9&&!s&&i.relative[u[1].type]){t=i.find.ID(f.matches[0].replace($,""),t,s)[0];if(!t)return n;e=e.slice(u.shift().length)}for(o=J.POS.test(e)?-1:u.length-1;o>=0;o--){f=u[o];if(i.relative[l=f.type])break;if(c=i.find[l])if(r=c(f.matches[0].replace($,""),z.test(u[0].type)&&t.parentNode||t,s)){u.splice(o,1),e=r.length&&u.join("");if(!e)return S.apply(n,x.call(r,0)),n;break}}}return a(e,h)(r,t,s,n,z.test(e)),n}function mt(){}var n,r,i,s,o,u,a,f,l,c,h=!0,p="undefined",d=("sizcache"+Math.random()).replace(".",""),m=String,g=e.document,y=g.documentElement,b=0,w=0,E=[].pop,S=[].push,x=[].slice,T=[].indexOf||function(e){var t=0,n=this.length;for(;t<n;t++)if(this[t]===e)return t;return-1},N=function(e,t){return e[d]=t==null||t,e},C=function(){var e={},t=[];return N(function(n,r){return t.push(n)>i.cacheLength&&delete e[t.shift()],e[n+" "]=r},e)},k=C(),L=C(),A=C(),O="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",_=M.replace("w","w#"),D="([*^$|!~]?=)",P="\\["+O+"*("+M+")"+O+"*(?:"+D+O+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+_+")|)|)"+O+"*\\]",H=":("+M+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+P+")|[^:]|\\\\.)*|.*))\\)|)",B=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+O+"*((?:-\\d)?\\d*)"+O+"*\\)|)(?=[^-]|$)",j=new RegExp("^"+O+"+|((?:^|[^\\\\])(?:\\\\.)*)"+O+"+$","g"),F=new RegExp("^"+O+"*,"+O+"*"),I=new RegExp("^"+O+"*([\\x20\\t\\r\\n\\f>+~])"+O+"*"),q=new RegExp(H),R=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,U=/^:not/,z=/[\x20\t\r\n\f]*[+~]/,W=/:not\($/,X=/h\d/i,V=/input|select|textarea|button/i,$=/\\(?!\\)/g,J={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),NAME:new RegExp("^\\[name=['\"]?("+M+")['\"]?\\]"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+H),POS:new RegExp(B,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+O+"*(even|odd|(([+-]|)(\\d*)n|)"+O+"*(?:([+-]|)"+O+"*(\\d+)|))"+O+"*\\)|)","i"),needsContext:new RegExp("^"+O+"*[>+~]|"+B,"i")},K=function(e){var t=g.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}},Q=K(function(e){return e.appendChild(g.createComment("")),!e.getElementsByTagName("*").length}),G=K(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==p&&e.firstChild.getAttribute("href")==="#"}),Y=K(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return t!=="boolean"&&t!=="string"}),Z=K(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",!e.getElementsByClassName||!e.getElementsByClassName("e").length?!1:(e.lastChild.className="e",e.getElementsByClassName("e").length===2)}),et=K(function(e){e.id=d+0,e.innerHTML="<a name='"+d+"'></a><div name='"+d+"'></div>",y.insertBefore(e,y.firstChild);var t=g.getElementsByName&&g.getElementsByName(d).length===2+g.getElementsByName(d+0).length;return r=!g.getElementById(d),y.removeChild(e),t});try{x.call(y.childNodes,0)[0].nodeType}catch(tt){x=function(e){var t,n=[];for(;t=this[e];e++)n.push(t);return n}}nt.matches=function(e,t){return nt(e,null,null,t)},nt.matchesSelector=function(e,t){return nt(t,null,null,[e]).length>0},s=nt.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(i===1||i===9||i===11){if(typeof e.textContent=="string")return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=s(e)}else if(i===3||i===4)return e.nodeValue}else for(;t=e[r];r++)n+=s(t);return n},o=nt.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?t.nodeName!=="HTML":!1},u=nt.contains=y.contains?function(e,t){var n=e.nodeType===9?e.documentElement:e,r=t&&t.parentNode;return e===r||!!(r&&r.nodeType===1&&n.contains&&n.contains(r))}:y.compareDocumentPosition?function(e,t){return t&&!!(e.compareDocumentPosition(t)&16)}:function(e,t){while(t=t.parentNode)if(t===e)return!0;return!1},nt.attr=function(e,t){var n,r=o(e);return r||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):r||Y?e.getAttribute(t):(n=e.getAttributeNode(t),n?typeof e[t]=="boolean"?e[t]?t:null:n.specified?n.value:null:null)},i=nt.selectors={cacheLength:50,createPseudo:N,match:J,attrHandle:G?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},find:{ID:r?function(e,t,n){if(typeof t.getElementById!==p&&!n){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}}:function(e,n,r){if(typeof n.getElementById!==p&&!r){var i=n.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==p&&i.getAttributeNode("id").value===e?[i]:t:[]}},TAG:Q?function(e,t){if(typeof t.getElementsByTagName!==p)return t.getElementsByTagName(e)}:function(e,t){var n=t.getElementsByTagName(e);if(e==="*"){var r,i=[],s=0;for(;r=n[s];s++)r.nodeType===1&&i.push(r);return i}return n},NAME:et&&function(e,t){if(typeof t.getElementsByName!==p)return t.getElementsByName(name)},CLASS:Z&&function(e,t,n){if(typeof t.getElementsByClassName!==p&&!n)return t.getElementsByClassName(e)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace($,""),e[3]=(e[4]||e[5]||"").replace($,""),e[2]==="~="&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),e[1]==="nth"?(e[2]||nt.error(e[0]),e[3]=+(e[3]?e[4]+(e[5]||1):2*(e[2]==="even"||e[2]==="odd")),e[4]=+(e[6]+e[7]||e[2]==="odd")):e[2]&&nt.error(e[0]),e},PSEUDO:function(e){var t,n;if(J.CHILD.test(e[0]))return null;if(e[3])e[2]=e[3];else if(t=e[4])q.test(t)&&(n=ut(t,!0))&&(n=t.indexOf(")",t.length-n)-t.length)&&(t=t.slice(0,n),e[0]=e[0].slice(0,n)),e[2]=t;return e.slice(0,3)}},filter:{ID:r?function(e){return e=e.replace($,""),function(t){return t.getAttribute("id")===e}}:function(e){return e=e.replace($,""),function(t){var n=typeof t.getAttributeNode!==p&&t.getAttributeNode("id");return n&&n.value===e}},TAG:function(e){return e==="*"?function(){return!0}:(e=e.replace($,"").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[d][e+" "];return t||(t=new RegExp("(^|"+O+")"+e+"("+O+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==p&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r,i){var s=nt.attr(r,e);return s==null?t==="!=":t?(s+="",t==="="?s===n:t==="!="?s!==n:t==="^="?n&&s.indexOf(n)===0:t==="*="?n&&s.indexOf(n)>-1:t==="$="?n&&s.substr(s.length-n.length)===n:t==="~="?(" "+s+" ").indexOf(n)>-1:t==="|="?s===n||s.substr(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r){return e==="nth"?function(e){var t,i,s=e.parentNode;if(n===1&&r===0)return!0;if(s){i=0;for(t=s.firstChild;t;t=t.nextSibling)if(t.nodeType===1){i++;if(e===t)break}}return i-=r,i===n||i%n===0&&i/n>=0}:function(t){var n=t;switch(e){case"only":case"first":while(n=n.previousSibling)if(n.nodeType===1)return!1;if(e==="first")return!0;n=t;case"last":while(n=n.nextSibling)if(n.nodeType===1)return!1;return!0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||nt.error("unsupported pseudo: "+e);return r[d]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?N(function(e,n){var i,s=r(e,t),o=s.length;while(o--)i=T.call(e,s[o]),e[i]=!(n[i]=s[o])}):function(e){return r(e,0,n)}):r}},pseudos:{not:N(function(e){var t=[],n=[],r=a(e.replace(j,"$1"));return r[d]?N(function(e,t,n,i){var s,o=r(e,null,i,[]),u=e.length;while(u--)if(s=o[u])e[u]=!(t[u]=s)}):function(e,i,s){return t[0]=e,r(t,null,s,n),!n.pop()}}),has:N(function(e){return function(t){return nt(e,t).length>0}}),contains:N(function(e){return function(t){return(t.textContent||t.innerText||s(t)).indexOf(e)>-1}}),enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&!!e.checked||t==="option"&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},parent:function(e){return!i.pseudos.empty(e)},empty:function(e){var t;e=e.firstChild;while(e){if(e.nodeName>"@"||(t=e.nodeType)===3||t===4)return!1;e=e.nextSibling}return!0},header:function(e){return X.test(e.nodeName)},text:function(e){var t,n;return e.nodeName.toLowerCase()==="input"&&(t=e.type)==="text"&&((n=e.getAttribute("type"))==null||n.toLowerCase()===t)},radio:rt("radio"),checkbox:rt("checkbox"),file:rt("file"),password:rt("password"),image:rt("image"),submit:it("submit"),reset:it("reset"),button:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&e.type==="button"||t==="button"},input:function(e){return V.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return e===t.activeElement&&(!t.hasFocus||t.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},active:function(e){return e===e.ownerDocument.activeElement},first:st(function(){return[0]}),last:st(function(e,t){return[t-1]}),eq:st(function(e,t,n){return[n<0?n+t:n]}),even:st(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:st(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:st(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:st(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},f=y.compareDocumentPosition?function(e,t){return e===t?(l=!0,0):(!e.compareDocumentPosition||!t.compareDocumentPosition?e.compareDocumentPosition:e.compareDocumentPosition(t)&4)?-1:1}:function(e,t){if(e===t)return l=!0,0;if(e.sourceIndex&&t.sourceIndex)return e.sourceIndex-t.sourceIndex;var n,r,i=[],s=[],o=e.parentNode,u=t.parentNode,a=o;if(o===u)return ot(e,t);if(!o)return-1;if(!u)return 1;while(a)i.unshift(a),a=a.parentNode;a=u;while(a)s.unshift(a),a=a.parentNode;n=i.length,r=s.length;for(var f=0;f<n&&f<r;f++)if(i[f]!==s[f])return ot(i[f],s[f]);return f===n?ot(e,s[f],-1):ot(i[f],t,1)},[0,0].sort(f),h=!l,nt.uniqueSort=function(e){var t,n=[],r=1,i=0;l=h,e.sort(f);if(l){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e},nt.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},a=nt.compile=function(e,t){var n,r=[],i=[],s=A[d][e+" "];if(!s){t||(t=ut(e)),n=t.length;while(n--)s=ht(t[n]),s[d]?r.push(s):i.push(s);s=A(e,pt(i,r))}return s},g.querySelectorAll&&function(){var e,t=vt,n=/'|\\/g,r=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,i=[":focus"],s=[":active"],u=y.matchesSelector||y.mozMatchesSelector||y.webkitMatchesSelector||y.oMatchesSelector||y.msMatchesSelector;K(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||i.push("\\["+O+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||i.push(":checked")}),K(function(e){e.innerHTML="<p test=''></p>",e.querySelectorAll("[test^='']").length&&i.push("[*^$]="+O+"*(?:\"\"|'')"),e.innerHTML="<input type='hidden'/>",e.querySelectorAll(":enabled").length||i.push(":enabled",":disabled")}),i=new RegExp(i.join("|")),vt=function(e,r,s,o,u){if(!o&&!u&&!i.test(e)){var a,f,l=!0,c=d,h=r,p=r.nodeType===9&&e;if(r.nodeType===1&&r.nodeName.toLowerCase()!=="object"){a=ut(e),(l=r.getAttribute("id"))?c=l.replace(n,"\\$&"):r.setAttribute("id",c),c="[id='"+c+"'] ",f=a.length;while(f--)a[f]=c+a[f].join("");h=z.test(e)&&r.parentNode||r,p=a.join(",")}if(p)try{return S.apply(s,x.call(h.querySelectorAll(p),0)),s}catch(v){}finally{l||r.removeAttribute("id")}}return t(e,r,s,o,u)},u&&(K(function(t){e=u.call(t,"div");try{u.call(t,"[test!='']:sizzle"),s.push("!=",H)}catch(n){}}),s=new RegExp(s.join("|")),nt.matchesSelector=function(t,n){n=n.replace(r,"='$1']");if(!o(t)&&!s.test(n)&&!i.test(n))try{var a=u.call(t,n);if(a||e||t.document&&t.document.nodeType!==11)return a}catch(f){}return nt(n,null,null,[t]).length>0})}(),i.pseudos.nth=i.pseudos.eq,i.filters=mt.prototype=i.pseudos,i.setFilters=new mt,nt.attr=v.attr,v.find=nt,v.expr=nt.selectors,v.expr[":"]=v.expr.pseudos,v.unique=nt.uniqueSort,v.text=nt.getText,v.isXMLDoc=nt.isXML,v.contains=nt.contains}(e);var nt=/Until$/,rt=/^(?:parents|prev(?:Until|All))/,it=/^.[^:#\[\.,]*$/,st=v.expr.match.needsContext,ot={children:!0,contents:!0,next:!0,prev:!0};v.fn.extend({find:function(e){var t,n,r,i,s,o,u=this;if(typeof e!="string")return v(e).filter(function(){for(t=0,n=u.length;t<n;t++)if(v.contains(u[t],this))return!0});o=this.pushStack("","find",e);for(t=0,n=this.length;t<n;t++){r=o.length,v.find(e,this[t],o);if(t>0)for(i=r;i<o.length;i++)for(s=0;s<r;s++)if(o[s]===o[i]){o.splice(i--,1);break}}return o},has:function(e){var t,n=v(e,this),r=n.length;return this.filter(function(){for(t=0;t<r;t++)if(v.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1),"not",e)},filter:function(e){return this.pushStack(ft(this,e,!0),"filter",e)},is:function(e){return!!e&&(typeof e=="string"?st.test(e)?v(e,this.context).index(this[0])>=0:v.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,s=[],o=st.test(e)||typeof e!="string"?v(e,t||this.context):0;for(;r<i;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&n.nodeType!==11){if(o?o.index(n)>-1:v.find.matchesSelector(n,e)){s.push(n);break}n=n.parentNode}}return s=s.length>1?v.unique(s):s,this.pushStack(s,"closest",e)},index:function(e){return e?typeof e=="string"?v.inArray(this[0],v(e)):v.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(e,t){var n=typeof e=="string"?v(e,t):v.makeArray(e&&e.nodeType?[e]:e),r=v.merge(this.get(),n);return this.pushStack(ut(n[0])||ut(r[0])?r:v.unique(r))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}}),v.fn.andSelf=v.fn.addBack,v.each({parent:function(e){var t=e.parentNode;return t&&t.nodeType!==11?t:null},parents:function(e){return v.dir(e,"parentNode")},parentsUntil:function(e,t,n){return v.dir(e,"parentNode",n)},next:function(e){return at(e,"nextSibling")},prev:function(e){return at(e,"previousSibling")},nextAll:function(e){return v.dir(e,"nextSibling")},prevAll:function(e){return v.dir(e,"previousSibling")},nextUntil:function(e,t,n){return v.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return v.dir(e,"previousSibling",n)},siblings:function(e){return v.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return v.sibling(e.firstChild)},contents:function(e){return v.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:v.merge([],e.childNodes)}},function(e,t){v.fn[e]=function(n,r){var i=v.map(this,t,n);return nt.test(e)||(r=n),r&&typeof r=="string"&&(i=v.filter(r,i)),i=this.length>1&&!ot[e]?v.unique(i):i,this.length>1&&rt.test(e)&&(i=i.reverse()),this.pushStack(i,e,l.call(arguments).join(","))}}),v.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),t.length===1?v.find.matchesSelector(t[0],e)?[t[0]]:[]:v.find.matches(e,t)},dir:function(e,n,r){var i=[],s=e[n];while(s&&s.nodeType!==9&&(r===t||s.nodeType!==1||!v(s).is(r)))s.nodeType===1&&i.push(s),s=s[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)e.nodeType===1&&e!==t&&n.push(e);return n}});var ct="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ht=/ jQuery\d+="(?:null|\d+)"/g,pt=/^\s+/,dt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,vt=/<([\w:]+)/,mt=/<tbody/i,gt=/<|&#?\w+;/,yt=/<(?:script|style|link)/i,bt=/<(?:script|object|embed|option|style)/i,wt=new RegExp("<(?:"+ct+")[\\s/>]","i"),Et=/^(?:checkbox|radio)$/,St=/checked\s*(?:[^=]|=\s*.checked.)/i,xt=/\/(java|ecma)script/i,Tt=/^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,Nt={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},Ct=lt(i),kt=Ct.appendChild(i.createElement("div"));Nt.optgroup=Nt.option,Nt.tbody=Nt.tfoot=Nt.colgroup=Nt.caption=Nt.thead,Nt.th=Nt.td,v.support.htmlSerialize||(Nt._default=[1,"X<div>","</div>"]),v.fn.extend({text:function(e){return v.access(this,function(e){return e===t?v.text(this):this.empty().append((this[0]&&this[0].ownerDocument||i).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(v.isFunction(e))return this.each(function(t){v(this).wrapAll(e.call(this,t))});if(this[0]){var t=v(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&e.firstChild.nodeType===1)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return v.isFunction(e)?this.each(function(t){v(this).wrapInner(e.call(this,t))}):this.each(function(){var t=v(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=v.isFunction(e);return this.each(function(n){v(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){v.nodeName(this,"body")||v(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(e,this.firstChild)})},before:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(e,this),"before",this.selector)}},after:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(this,e),"after",this.selector)}},remove:function(e,t){var n,r=0;for(;(n=this[r])!=null;r++)if(!e||v.filter(e,[n]).length)!t&&n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),v.cleanData([n])),n.parentNode&&n.parentNode.removeChild(n);return this},empty:function(){var e,t=0;for(;(e=this[t])!=null;t++){e.nodeType===1&&v.cleanData(e.getElementsByTagName("*"));while(e.firstChild)e.removeChild(e.firstChild)}return this},clone:function(e,t){return e=e==null?!1:e,t=t==null?e:t,this.map(function(){return v.clone(this,e,t)})},html:function(e){return v.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return n.nodeType===1?n.innerHTML.replace(ht,""):t;if(typeof e=="string"&&!yt.test(e)&&(v.support.htmlSerialize||!wt.test(e))&&(v.support.leadingWhitespace||!pt.test(e))&&!Nt[(vt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(dt,"<$1></$2>");try{for(;r<i;r++)n=this[r]||{},n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),n.innerHTML=e);n=0}catch(s){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){return ut(this[0])?this.length?this.pushStack(v(v.isFunction(e)?e():e),"replaceWith",e):this:v.isFunction(e)?this.each(function(t){var n=v(this),r=n.html();n.replaceWith(e.call(this,t,r))}):(typeof e!="string"&&(e=v(e).detach()),this.each(function(){var t=this.nextSibling,n=this.parentNode;v(this).remove(),t?v(t).before(e):v(n).append(e)}))},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=[].concat.apply([],e);var i,s,o,u,a=0,f=e[0],l=[],c=this.length;if(!v.support.checkClone&&c>1&&typeof f=="string"&&St.test(f))return this.each(function(){v(this).domManip(e,n,r)});if(v.isFunction(f))return this.each(function(i){var s=v(this);e[0]=f.call(this,i,n?s.html():t),s.domManip(e,n,r)});if(this[0]){i=v.buildFragment(e,this,l),o=i.fragment,s=o.firstChild,o.childNodes.length===1&&(o=s);if(s){n=n&&v.nodeName(s,"tr");for(u=i.cacheable||c-1;a<c;a++)r.call(n&&v.nodeName(this[a],"table")?Lt(this[a],"tbody"):this[a],a===u?o:v.clone(o,!0,!0))}o=s=null,l.length&&v.each(l,function(e,t){t.src?v.ajax?v.ajax({url:t.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):v.error("no ajax"):v.globalEval((t.text||t.textContent||t.innerHTML||"").replace(Tt,"")),t.parentNode&&t.parentNode.removeChild(t)})}return this}}),v.buildFragment=function(e,n,r){var s,o,u,a=e[0];return n=n||i,n=!n.nodeType&&n[0]||n,n=n.ownerDocument||n,e.length===1&&typeof a=="string"&&a.length<512&&n===i&&a.charAt(0)==="<"&&!bt.test(a)&&(v.support.checkClone||!St.test(a))&&(v.support.html5Clone||!wt.test(a))&&(o=!0,s=v.fragments[a],u=s!==t),s||(s=n.createDocumentFragment(),v.clean(e,n,s,r),o&&(v.fragments[a]=u&&s)),{fragment:s,cacheable:o}},v.fragments={},v.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){v.fn[e]=function(n){var r,i=0,s=[],o=v(n),u=o.length,a=this.length===1&&this[0].parentNode;if((a==null||a&&a.nodeType===11&&a.childNodes.length===1)&&u===1)return o[t](this[0]),this;for(;i<u;i++)r=(i>0?this.clone(!0):this).get(),v(o[i])[t](r),s=s.concat(r);return this.pushStack(s,e,o.selector)}}),v.extend({clone:function(e,t,n){var r,i,s,o;v.support.html5Clone||v.isXMLDoc(e)||!wt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(kt.innerHTML=e.outerHTML,kt.removeChild(o=kt.firstChild));if((!v.support.noCloneEvent||!v.support.noCloneChecked)&&(e.nodeType===1||e.nodeType===11)&&!v.isXMLDoc(e)){Ot(e,o),r=Mt(e),i=Mt(o);for(s=0;r[s];++s)i[s]&&Ot(r[s],i[s])}if(t){At(e,o);if(n){r=Mt(e),i=Mt(o);for(s=0;r[s];++s)At(r[s],i[s])}}return r=i=null,o},clean:function(e,t,n,r){var s,o,u,a,f,l,c,h,p,d,m,g,y=t===i&&Ct,b=[];if(!t||typeof t.createDocumentFragment=="undefined")t=i;for(s=0;(u=e[s])!=null;s++){typeof u=="number"&&(u+="");if(!u)continue;if(typeof u=="string")if(!gt.test(u))u=t.createTextNode(u);else{y=y||lt(t),c=t.createElement("div"),y.appendChild(c),u=u.replace(dt,"<$1></$2>"),a=(vt.exec(u)||["",""])[1].toLowerCase(),f=Nt[a]||Nt._default,l=f[0],c.innerHTML=f[1]+u+f[2];while(l--)c=c.lastChild;if(!v.support.tbody){h=mt.test(u),p=a==="table"&&!h?c.firstChild&&c.firstChild.childNodes:f[1]==="<table>"&&!h?c.childNodes:[];for(o=p.length-1;o>=0;--o)v.nodeName(p[o],"tbody")&&!p[o].childNodes.length&&p[o].parentNode.removeChild(p[o])}!v.support.leadingWhitespace&&pt.test(u)&&c.insertBefore(t.createTextNode(pt.exec(u)[0]),c.firstChild),u=c.childNodes,c.parentNode.removeChild(c)}u.nodeType?b.push(u):v.merge(b,u)}c&&(u=c=y=null);if(!v.support.appendChecked)for(s=0;(u=b[s])!=null;s++)v.nodeName(u,"input")?_t(u):typeof u.getElementsByTagName!="undefined"&&v.grep(u.getElementsByTagName("input"),_t);if(n){m=function(e){if(!e.type||xt.test(e.type))return r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e)};for(s=0;(u=b[s])!=null;s++)if(!v.nodeName(u,"script")||!m(u))n.appendChild(u),typeof u.getElementsByTagName!="undefined"&&(g=v.grep(v.merge([],u.getElementsByTagName("script")),m),b.splice.apply(b,[s+1,0].concat(g)),s+=g.length)}return b},cleanData:function(e,t){var n,r,i,s,o=0,u=v.expando,a=v.cache,f=v.support.deleteExpando,l=v.event.special;for(;(i=e[o])!=null;o++)if(t||v.acceptData(i)){r=i[u],n=r&&a[r];if(n){if(n.events)for(s in n.events)l[s]?v.event.remove(i,s):v.removeEvent(i,s,n.handle);a[r]&&(delete a[r],f?delete i[u]:i.removeAttribute?i.removeAttribute(u):i[u]=null,v.deletedIds.push(r))}}}}),function(){var e,t;v.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e=v.uaMatch(o.userAgent),t={},e.browser&&(t[e.browser]=!0,t.version=e.version),t.chrome?t.webkit=!0:t.webkit&&(t.safari=!0),v.browser=t,v.sub=function(){function e(t,n){return new e.fn.init(t,n)}v.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(r,i){return i&&i instanceof v&&!(i instanceof e)&&(i=e(i)),v.fn.init.call(this,r,i,t)},e.fn.init.prototype=e.fn;var t=e(i);return e}}();var Dt,Pt,Ht,Bt=/alpha\([^)]*\)/i,jt=/opacity=([^)]*)/,Ft=/^(top|right|bottom|left)$/,It=/^(none|table(?!-c[ea]).+)/,qt=/^margin/,Rt=new RegExp("^("+m+")(.*)$","i"),Ut=new RegExp("^("+m+")(?!px)[a-z%]+$","i"),zt=new RegExp("^([-+])=("+m+")","i"),Wt={BODY:"block"},Xt={position:"absolute",visibility:"hidden",display:"block"},Vt={letterSpacing:0,fontWeight:400},$t=["Top","Right","Bottom","Left"],Jt=["Webkit","O","Moz","ms"],Kt=v.fn.toggle;v.fn.extend({css:function(e,n){return v.access(this,function(e,n,r){return r!==t?v.style(e,n,r):v.css(e,n)},e,n,arguments.length>1)},show:function(){return Yt(this,!0)},hide:function(){return Yt(this)},toggle:function(e,t){var n=typeof e=="boolean";return v.isFunction(e)&&v.isFunction(t)?Kt.apply(this,arguments):this.each(function(){(n?e:Gt(this))?v(this).show():v(this).hide()})}}),v.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Dt(e,"opacity");return n===""?"1":n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":v.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(!e||e.nodeType===3||e.nodeType===8||!e.style)return;var s,o,u,a=v.camelCase(n),f=e.style;n=v.cssProps[a]||(v.cssProps[a]=Qt(f,a)),u=v.cssHooks[n]||v.cssHooks[a];if(r===t)return u&&"get"in u&&(s=u.get(e,!1,i))!==t?s:f[n];o=typeof r,o==="string"&&(s=zt.exec(r))&&(r=(s[1]+1)*s[2]+parseFloat(v.css(e,n)),o="number");if(r==null||o==="number"&&isNaN(r))return;o==="number"&&!v.cssNumber[a]&&(r+="px");if(!u||!("set"in u)||(r=u.set(e,r,i))!==t)try{f[n]=r}catch(l){}},css:function(e,n,r,i){var s,o,u,a=v.camelCase(n);return n=v.cssProps[a]||(v.cssProps[a]=Qt(e.style,a)),u=v.cssHooks[n]||v.cssHooks[a],u&&"get"in u&&(s=u.get(e,!0,i)),s===t&&(s=Dt(e,n)),s==="normal"&&n in Vt&&(s=Vt[n]),r||i!==t?(o=parseFloat(s),r||v.isNumeric(o)?o||0:s):s},swap:function(e,t,n){var r,i,s={};for(i in t)s[i]=e.style[i],e.style[i]=t[i];r=n.call(e);for(i in t)e.style[i]=s[i];return r}}),e.getComputedStyle?Dt=function(t,n){var r,i,s,o,u=e.getComputedStyle(t,null),a=t.style;return u&&(r=u.getPropertyValue(n)||u[n],r===""&&!v.contains(t.ownerDocument,t)&&(r=v.style(t,n)),Ut.test(r)&&qt.test(n)&&(i=a.width,s=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=r,r=u.width,a.width=i,a.minWidth=s,a.maxWidth=o)),r}:i.documentElement.currentStyle&&(Dt=function(e,t){var n,r,i=e.currentStyle&&e.currentStyle[t],s=e.style;return i==null&&s&&s[t]&&(i=s[t]),Ut.test(i)&&!Ft.test(t)&&(n=s.left,r=e.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.left=e.currentStyle.left),s.left=t==="fontSize"?"1em":i,i=s.pixelLeft+"px",s.left=n,r&&(e.runtimeStyle.left=r)),i===""?"auto":i}),v.each(["height","width"],function(e,t){v.cssHooks[t]={get:function(e,n,r){if(n)return e.offsetWidth===0&&It.test(Dt(e,"display"))?v.swap(e,Xt,function(){return tn(e,t,r)}):tn(e,t,r)},set:function(e,n,r){return Zt(e,n,r?en(e,t,r,v.support.boxSizing&&v.css(e,"boxSizing")==="border-box"):0)}}}),v.support.opacity||(v.cssHooks.opacity={get:function(e,t){return jt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=v.isNumeric(t)?"alpha(opacity="+t*100+")":"",s=r&&r.filter||n.filter||"";n.zoom=1;if(t>=1&&v.trim(s.replace(Bt,""))===""&&n.removeAttribute){n.removeAttribute("filter");if(r&&!r.filter)return}n.filter=Bt.test(s)?s.replace(Bt,i):s+" "+i}}),v(function(){v.support.reliableMarginRight||(v.cssHooks.marginRight={get:function(e,t){return v.swap(e,{display:"inline-block"},function(){if(t)return Dt(e,"marginRight")})}}),!v.support.pixelPosition&&v.fn.position&&v.each(["top","left"],function(e,t){v.cssHooks[t]={get:function(e,n){if(n){var r=Dt(e,t);return Ut.test(r)?v(e).position()[t]+"px":r}}}})}),v.expr&&v.expr.filters&&(v.expr.filters.hidden=function(e){return e.offsetWidth===0&&e.offsetHeight===0||!v.support.reliableHiddenOffsets&&(e.style&&e.style.display||Dt(e,"display"))==="none"},v.expr.filters.visible=function(e){return!v.expr.filters.hidden(e)}),v.each({margin:"",padding:"",border:"Width"},function(e,t){v.cssHooks[e+t]={expand:function(n){var r,i=typeof n=="string"?n.split(" "):[n],s={};for(r=0;r<4;r++)s[e+$t[r]+t]=i[r]||i[r-2]||i[0];return s}},qt.test(e)||(v.cssHooks[e+t].set=Zt)});var rn=/%20/g,sn=/\[\]$/,on=/\r?\n/g,un=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,an=/^(?:select|textarea)/i;v.fn.extend({serialize:function(){return v.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?v.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||an.test(this.nodeName)||un.test(this.type))}).map(function(e,t){var n=v(this).val();return n==null?null:v.isArray(n)?v.map(n,function(e,n){return{name:t.name,value:e.replace(on,"\r\n")}}):{name:t.name,value:n.replace(on,"\r\n")}}).get()}}),v.param=function(e,n){var r,i=[],s=function(e,t){t=v.isFunction(t)?t():t==null?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};n===t&&(n=v.ajaxSettings&&v.ajaxSettings.traditional);if(v.isArray(e)||e.jquery&&!v.isPlainObject(e))v.each(e,function(){s(this.name,this.value)});else for(r in e)fn(r,e[r],n,s);return i.join("&").replace(rn,"+")};var ln,cn,hn=/#.*$/,pn=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,dn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,vn=/^(?:GET|HEAD)$/,mn=/^\/\//,gn=/\?/,yn=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bn=/([?&])_=[^&]*/,wn=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,En=v.fn.load,Sn={},xn={},Tn=["*/"]+["*"];try{cn=s.href}catch(Nn){cn=i.createElement("a"),cn.href="",cn=cn.href}ln=wn.exec(cn.toLowerCase())||[],v.fn.load=function(e,n,r){if(typeof e!="string"&&En)return En.apply(this,arguments);if(!this.length)return this;var i,s,o,u=this,a=e.indexOf(" ");return a>=0&&(i=e.slice(a,e.length),e=e.slice(0,a)),v.isFunction(n)?(r=n,n=t):n&&typeof n=="object"&&(s="POST"),v.ajax({url:e,type:s,dataType:"html",data:n,complete:function(e,t){r&&u.each(r,o||[e.responseText,t,e])}}).done(function(e){o=arguments,u.html(i?v("<div>").append(e.replace(yn,"")).find(i):e)}),this},v.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,t){v.fn[t]=function(e){return this.on(t,e)}}),v.each(["get","post"],function(e,n){v[n]=function(e,r,i,s){return v.isFunction(r)&&(s=s||i,i=r,r=t),v.ajax({type:n,url:e,data:r,success:i,dataType:s})}}),v.extend({getScript:function(e,n){return v.get(e,t,n,"script")},getJSON:function(e,t,n){return v.get(e,t,n,"json")},ajaxSetup:function(e,t){return t?Ln(e,v.ajaxSettings):(t=e,e=v.ajaxSettings),Ln(e,t),e},ajaxSettings:{url:cn,isLocal:dn.test(ln[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Tn},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":v.parseJSON,"text xml":v.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:Cn(Sn),ajaxTransport:Cn(xn),ajax:function(e,n){function T(e,n,s,a){var l,y,b,w,S,T=n;if(E===2)return;E=2,u&&clearTimeout(u),o=t,i=a||"",x.readyState=e>0?4:0,s&&(w=An(c,x,s));if(e>=200&&e<300||e===304)c.ifModified&&(S=x.getResponseHeader("Last-Modified"),S&&(v.lastModified[r]=S),S=x.getResponseHeader("Etag"),S&&(v.etag[r]=S)),e===304?(T="notmodified",l=!0):(l=On(c,w),T=l.state,y=l.data,b=l.error,l=!b);else{b=T;if(!T||e)T="error",e<0&&(e=0)}x.status=e,x.statusText=(n||T)+"",l?d.resolveWith(h,[y,T,x]):d.rejectWith(h,[x,T,b]),x.statusCode(g),g=t,f&&p.trigger("ajax"+(l?"Success":"Error"),[x,c,l?y:b]),m.fireWith(h,[x,T]),f&&(p.trigger("ajaxComplete",[x,c]),--v.active||v.event.trigger("ajaxStop"))}typeof e=="object"&&(n=e,e=t),n=n||{};var r,i,s,o,u,a,f,l,c=v.ajaxSetup({},n),h=c.context||c,p=h!==c&&(h.nodeType||h instanceof v)?v(h):v.event,d=v.Deferred(),m=v.Callbacks("once memory"),g=c.statusCode||{},b={},w={},E=0,S="canceled",x={readyState:0,setRequestHeader:function(e,t){if(!E){var n=e.toLowerCase();e=w[n]=w[n]||e,b[e]=t}return this},getAllResponseHeaders:function(){return E===2?i:null},getResponseHeader:function(e){var n;if(E===2){if(!s){s={};while(n=pn.exec(i))s[n[1].toLowerCase()]=n[2]}n=s[e.toLowerCase()]}return n===t?null:n},overrideMimeType:function(e){return E||(c.mimeType=e),this},abort:function(e){return e=e||S,o&&o.abort(e),T(0,e),this}};d.promise(x),x.success=x.done,x.error=x.fail,x.complete=m.add,x.statusCode=function(e){if(e){var t;if(E<2)for(t in e)g[t]=[g[t],e[t]];else t=e[x.status],x.always(t)}return this},c.url=((e||c.url)+"").replace(hn,"").replace(mn,ln[1]+"//"),c.dataTypes=v.trim(c.dataType||"*").toLowerCase().split(y),c.crossDomain==null&&(a=wn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===ln[1]&&a[2]===ln[2]&&(a[3]||(a[1]==="http:"?80:443))==(ln[3]||(ln[1]==="http:"?80:443)))),c.data&&c.processData&&typeof c.data!="string"&&(c.data=v.param(c.data,c.traditional)),kn(Sn,c,n,x);if(E===2)return x;f=c.global,c.type=c.type.toUpperCase(),c.hasContent=!vn.test(c.type),f&&v.active++===0&&v.event.trigger("ajaxStart");if(!c.hasContent){c.data&&(c.url+=(gn.test(c.url)?"&":"?")+c.data,delete c.data),r=c.url;if(c.cache===!1){var N=v.now(),C=c.url.replace(bn,"$1_="+N);c.url=C+(C===c.url?(gn.test(c.url)?"&":"?")+"_="+N:"")}}(c.data&&c.hasContent&&c.contentType!==!1||n.contentType)&&x.setRequestHeader("Content-Type",c.contentType),c.ifModified&&(r=r||c.url,v.lastModified[r]&&x.setRequestHeader("If-Modified-Since",v.lastModified[r]),v.etag[r]&&x.setRequestHeader("If-None-Match",v.etag[r])),x.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+(c.dataTypes[0]!=="*"?", "+Tn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)x.setRequestHeader(l,c.headers[l]);if(!c.beforeSend||c.beforeSend.call(h,x,c)!==!1&&E!==2){S="abort";for(l in{success:1,error:1,complete:1})x[l](c[l]);o=kn(xn,c,n,x);if(!o)T(-1,"No Transport");else{x.readyState=1,f&&p.trigger("ajaxSend",[x,c]),c.async&&c.timeout>0&&(u=setTimeout(function(){x.abort("timeout")},c.timeout));try{E=1,o.send(b,T)}catch(k){if(!(E<2))throw k;T(-1,k)}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var Mn=[],_n=/\?/,Dn=/(=)\?(?=&|$)|\?\?/,Pn=v.now();v.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Mn.pop()||v.expando+"_"+Pn++;return this[e]=!0,e}}),v.ajaxPrefilter("json jsonp",function(n,r,i){var s,o,u,a=n.data,f=n.url,l=n.jsonp!==!1,c=l&&Dn.test(f),h=l&&!c&&typeof a=="string"&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Dn.test(a);if(n.dataTypes[0]==="jsonp"||c||h)return s=n.jsonpCallback=v.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,o=e[s],c?n.url=f.replace(Dn,"$1"+s):h?n.data=a.replace(Dn,"$1"+s):l&&(n.url+=(_n.test(f)?"&":"?")+n.jsonp+"="+s),n.converters["script json"]=function(){return u||v.error(s+" was not called"),u[0]},n.dataTypes[0]="json",e[s]=function(){u=arguments},i.always(function(){e[s]=o,n[s]&&(n.jsonpCallback=r.jsonpCallback,Mn.push(s)),u&&v.isFunction(o)&&o(u[0]),u=o=t}),"script"}),v.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){return v.globalEval(e),e}}}),v.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),v.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=i.head||i.getElementsByTagName("head")[0]||i.documentElement;return{send:function(s,o){n=i.createElement("script"),n.async="async",e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,i){if(i||!n.readyState||/loaded|complete/.test(n.readyState))n.onload=n.onreadystatechange=null,r&&n.parentNode&&r.removeChild(n),n=t,i||o(200,"success")},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var Hn,Bn=e.ActiveXObject?function(){for(var e in Hn)Hn[e](0,1)}:!1,jn=0;v.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&Fn()||In()}:Fn,function(e){v.extend(v.support,{ajax:!!e,cors:!!e&&"withCredentials"in e})}(v.ajaxSettings.xhr()),v.support.ajax&&v.ajaxTransport(function(n){if(!n.crossDomain||v.support.cors){var r;return{send:function(i,s){var o,u,a=n.xhr();n.username?a.open(n.type,n.url,n.async,n.username,n.password):a.open(n.type,n.url,n.async);if(n.xhrFields)for(u in n.xhrFields)a[u]=n.xhrFields[u];n.mimeType&&a.overrideMimeType&&a.overrideMimeType(n.mimeType),!n.crossDomain&&!i["X-Requested-With"]&&(i["X-Requested-With"]="XMLHttpRequest");try{for(u in i)a.setRequestHeader(u,i[u])}catch(f){}a.send(n.hasContent&&n.data||null),r=function(e,i){var u,f,l,c,h;try{if(r&&(i||a.readyState===4)){r=t,o&&(a.onreadystatechange=v.noop,Bn&&delete Hn[o]);if(i)a.readyState!==4&&a.abort();else{u=a.status,l=a.getAllResponseHeaders(),c={},h=a.responseXML,h&&h.documentElement&&(c.xml=h);try{c.text=a.responseText}catch(p){}try{f=a.statusText}catch(p){f=""}!u&&n.isLocal&&!n.crossDomain?u=c.text?200:404:u===1223&&(u=204)}}}catch(d){i||s(-1,d)}c&&s(u,f,c,l)},n.async?a.readyState===4?setTimeout(r,0):(o=++jn,Bn&&(Hn||(Hn={},v(e).unload(Bn)),Hn[o]=r),a.onreadystatechange=r):r()},abort:function(){r&&r(0,1)}}}});var qn,Rn,Un=/^(?:toggle|show|hide)$/,zn=new RegExp("^(?:([-+])=|)("+m+")([a-z%]*)$","i"),Wn=/queueHooks$/,Xn=[Gn],Vn={"*":[function(e,t){var n,r,i=this.createTween(e,t),s=zn.exec(t),o=i.cur(),u=+o||0,a=1,f=20;if(s){n=+s[2],r=s[3]||(v.cssNumber[e]?"":"px");if(r!=="px"&&u){u=v.css(i.elem,e,!0)||n||1;do a=a||".5",u/=a,v.style(i.elem,e,u+r);while(a!==(a=i.cur()/o)&&a!==1&&--f)}i.unit=r,i.start=u,i.end=s[1]?u+(s[1]+1)*n:n}return i}]};v.Animation=v.extend(Kn,{tweener:function(e,t){v.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;r<i;r++)n=e[r],Vn[n]=Vn[n]||[],Vn[n].unshift(t)},prefilter:function(e,t){t?Xn.unshift(e):Xn.push(e)}}),v.Tween=Yn,Yn.prototype={constructor:Yn,init:function(e,t,n,r,i,s){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=s||(v.cssNumber[n]?"":"px")},cur:function(){var e=Yn.propHooks[this.prop];return e&&e.get?e.get(this):Yn.propHooks._default.get(this)},run:function(e){var t,n=Yn.propHooks[this.prop];return this.options.duration?this.pos=t=v.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Yn.propHooks._default.set(this),this}},Yn.prototype.init.prototype=Yn.prototype,Yn.propHooks={_default:{get:function(e){var t;return e.elem[e.prop]==null||!!e.elem.style&&e.elem.style[e.prop]!=null?(t=v.css(e.elem,e.prop,!1,""),!t||t==="auto"?0:t):e.elem[e.prop]},set:function(e){v.fx.step[e.prop]?v.fx.step[e.prop](e):e.elem.style&&(e.elem.style[v.cssProps[e.prop]]!=null||v.cssHooks[e.prop])?v.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},Yn.propHooks.scrollTop=Yn.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},v.each(["toggle","show","hide"],function(e,t){var n=v.fn[t];v.fn[t]=function(r,i,s){return r==null||typeof r=="boolean"||!e&&v.isFunction(r)&&v.isFunction(i)?n.apply(this,arguments):this.animate(Zn(t,!0),r,i,s)}}),v.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Gt).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=v.isEmptyObject(e),s=v.speed(t,n,r),o=function(){var t=Kn(this,v.extend({},e),s);i&&t.stop(!0)};return i||s.queue===!1?this.each(o):this.queue(s.queue,o)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return typeof e!="string"&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=e!=null&&e+"queueHooks",s=v.timers,o=v._data(this);if(n)o[n]&&o[n].stop&&i(o[n]);else for(n in o)o[n]&&o[n].stop&&Wn.test(n)&&i(o[n]);for(n=s.length;n--;)s[n].elem===this&&(e==null||s[n].queue===e)&&(s[n].anim.stop(r),t=!1,s.splice(n,1));(t||!r)&&v.dequeue(this,e)})}}),v.each({slideDown:Zn("show"),slideUp:Zn("hide"),slideToggle:Zn("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){v.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),v.speed=function(e,t,n){var r=e&&typeof e=="object"?v.extend({},e):{complete:n||!n&&t||v.isFunction(e)&&e,duration:e,easing:n&&t||t&&!v.isFunction(t)&&t};r.duration=v.fx.off?0:typeof r.duration=="number"?r.duration:r.duration in v.fx.speeds?v.fx.speeds[r.duration]:v.fx.speeds._default;if(r.queue==null||r.queue===!0)r.queue="fx";return r.old=r.complete,r.complete=function(){v.isFunction(r.old)&&r.old.call(this),r.queue&&v.dequeue(this,r.queue)},r},v.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},v.timers=[],v.fx=Yn.prototype.init,v.fx.tick=function(){var e,n=v.timers,r=0;qn=v.now();for(;r<n.length;r++)e=n[r],!e()&&n[r]===e&&n.splice(r--,1);n.length||v.fx.stop(),qn=t},v.fx.timer=function(e){e()&&v.timers.push(e)&&!Rn&&(Rn=setInterval(v.fx.tick,v.fx.interval))},v.fx.interval=13,v.fx.stop=function(){clearInterval(Rn),Rn=null},v.fx.speeds={slow:600,fast:200,_default:400},v.fx.step={},v.expr&&v.expr.filters&&(v.expr.filters.animated=function(e){return v.grep(v.timers,function(t){return e===t.elem}).length});var er=/^(?:body|html)$/i;v.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){v.offset.setOffset(this,e,t)});var n,r,i,s,o,u,a,f={top:0,left:0},l=this[0],c=l&&l.ownerDocument;if(!c)return;return(r=c.body)===l?v.offset.bodyOffset(l):(n=c.documentElement,v.contains(n,l)?(typeof l.getBoundingClientRect!="undefined"&&(f=l.getBoundingClientRect()),i=tr(c),s=n.clientTop||r.clientTop||0,o=n.clientLeft||r.clientLeft||0,u=i.pageYOffset||n.scrollTop,a=i.pageXOffset||n.scrollLeft,{top:f.top+u-s,left:f.left+a-o}):f)},v.offset={bodyOffset:function(e){var t=e.offsetTop,n=e.offsetLeft;return v.support.doesNotIncludeMarginInBodyOffset&&(t+=parseFloat(v.css(e,"marginTop"))||0,n+=parseFloat(v.css(e,"marginLeft"))||0),{top:t,left:n}},setOffset:function(e,t,n){var r=v.css(e,"position");r==="static"&&(e.style.position="relative");var i=v(e),s=i.offset(),o=v.css(e,"top"),u=v.css(e,"left"),a=(r==="absolute"||r==="fixed")&&v.inArray("auto",[o,u])>-1,f={},l={},c,h;a?(l=i.position(),c=l.top,h=l.left):(c=parseFloat(o)||0,h=parseFloat(u)||0),v.isFunction(t)&&(t=t.call(e,n,s)),t.top!=null&&(f.top=t.top-s.top+c),t.left!=null&&(f.left=t.left-s.left+h),"using"in t?t.using.call(e,f):i.css(f)}},v.fn.extend({position:function(){if(!this[0])return;var e=this[0],t=this.offsetParent(),n=this.offset(),r=er.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(v.css(e,"marginTop"))||0,n.left-=parseFloat(v.css(e,"marginLeft"))||0,r.top+=parseFloat(v.css(t[0],"borderTopWidth"))||0,r.left+=parseFloat(v.css(t[0],"borderLeftWidth"))||0,{top:n.top-r.top,left:n.left-r.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||i.body;while(e&&!er.test(e.nodeName)&&v.css(e,"position")==="static")e=e.offsetParent;return e||i.body})}}),v.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);v.fn[e]=function(i){return v.access(this,function(e,i,s){var o=tr(e);if(s===t)return o?n in o?o[n]:o.document.documentElement[i]:e[i];o?o.scrollTo(r?v(o).scrollLeft():s,r?s:v(o).scrollTop()):e[i]=s},e,i,arguments.length,null)}}),v.each({Height:"height",Width:"width"},function(e,n){v.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){v.fn[i]=function(i,s){var o=arguments.length&&(r||typeof i!="boolean"),u=r||(i===!0||s===!0?"margin":"border");return v.access(this,function(n,r,i){var s;return v.isWindow(n)?n.document.documentElement["client"+e]:n.nodeType===9?(s=n.documentElement,Math.max(n.body["scroll"+e],s["scroll"+e],n.body["offset"+e],s["offset"+e],s["client"+e])):i===t?v.css(n,r,i,u):v.style(n,r,i,u)},n,o?i:t,o,null)}})}),e.jQuery=e.$=v,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return v})})(window); No newline at end of file
@@ -0,0 +1,128
1 /**
No newline at end of file
2 * @author Jose Antonio Sal y Rosas Celi
No newline at end of file
3 * @contact: jose.salyrosas@jro.igp.gob.pe, arturo.jasyrc@gmail.com
No newline at end of file
4 */
No newline at end of file
5
No newline at end of file
6 $(document).on('ready',function(){
No newline at end of file
7 $('#listProfiles').change(function() {
No newline at end of file
8 if($(this).val() != -1){
No newline at end of file
9 location.href = "/abscontrol/view/" + $(this).val();
No newline at end of file
10 }
No newline at end of file
11 });
No newline at end of file
12 $('#lnkAdd').click(function() {
No newline at end of file
13 profile_id = $("#profile_id").val();
No newline at end of file
14 location.href = "/abscontrol/" + profile_id + "/add/";
No newline at end of file
15 });
No newline at end of file
16 $('#lnkSave').click(function() {
No newline at end of file
17 $('#frmPattern').submit();
No newline at end of file
18 });
No newline at end of file
19 $('#lnkSavePattern').click(function() {
No newline at end of file
20 valueAntennaUp = "";
No newline at end of file
21 valueAntennaDown = "";
No newline at end of file
22 txtTxUp = "";
No newline at end of file
23 txtRxUp = "";
No newline at end of file
24 txtTxDown = "";
No newline at end of file
25 txtRxDown = "";
No newline at end of file
26 txtUesUp = "";
No newline at end of file
27 txtUesDown = "";
No newline at end of file
28 for(i=0; i<=7; i++){
No newline at end of file
29 if(i == 0){
No newline at end of file
30 valueAntennaUp += "[";
No newline at end of file
31 valueAntennaDown += "[";
No newline at end of file
32 txtTxUp += "[";
No newline at end of file
33 txtTxDown += "[";
No newline at end of file
34 txtRxUp += "[";
No newline at end of file
35 txtRxDown += "[";
No newline at end of file
36 }else{
No newline at end of file
37 valueAntennaUp += ",";
No newline at end of file
38 valueAntennaDown += ",";
No newline at end of file
39 txtTxUp += ",";
No newline at end of file
40 txtTxDown += ",";
No newline at end of file
41 txtRxUp += ",";
No newline at end of file
42 txtRxDown += ",";
No newline at end of file
43 }
No newline at end of file
44 for(j=0; j<=7; j++){
No newline at end of file
45 if(j == 0){
No newline at end of file
46 valueAntennaUp += "[";
No newline at end of file
47 valueAntennaDown += "[";
No newline at end of file
48 txtTxUp += "[";
No newline at end of file
49 txtTxDown += "[";
No newline at end of file
50 txtRxUp += "[";
No newline at end of file
51 txtRxDown += "[";
No newline at end of file
52 }
No newline at end of file
53 valueAntennaUp += $("input[id=txtUnitAntennaUp_"+i+"_"+j+"]").val();
No newline at end of file
54 valueAntennaDown += $("input[id=txtUnitAntennaDown_"+i+"_"+j+"]").val();
No newline at end of file
55 txtTxUp += $("input[id=txtUnitTxUp_"+i+"_"+j+"]").val();
No newline at end of file
56 txtTxDown += $("input[id=txtUnitTxDown_"+i+"_"+j+"]").val();
No newline at end of file
57 txtRxUp += $("input[id=txtUnitRxUp_"+i+"_"+j+"]").val();
No newline at end of file
58 txtRxDown += $("input[id=txtUnitRxDown_"+i+"_"+j+"]").val();
No newline at end of file
59 if(j != 7){
No newline at end of file
60 valueAntennaUp += ",";
No newline at end of file
61 valueAntennaDown += ",";
No newline at end of file
62 txtTxUp += ",";
No newline at end of file
63 txtTxDown += ",";
No newline at end of file
64 txtRxUp += ",";
No newline at end of file
65 txtRxDown += ",";
No newline at end of file
66 }else{
No newline at end of file
67 valueAntennaUp += "]";
No newline at end of file
68 valueAntennaDown += "]";
No newline at end of file
69 txtTxUp += "]";
No newline at end of file
70 txtTxDown += "]";
No newline at end of file
71 txtRxUp += "]";
No newline at end of file
72 txtRxDown += "]";
No newline at end of file
73 }
No newline at end of file
74 }
No newline at end of file
75 if(i == 7){
No newline at end of file
76 valueAntennaUp += "]";
No newline at end of file
77 valueAntennaDown += "]";
No newline at end of file
78 txtTxUp += "]";
No newline at end of file
79 txtTxDown += "]";
No newline at end of file
80 txtRxUp += "]";
No newline at end of file
81 txtRxDown += "]";
No newline at end of file
82 }
No newline at end of file
83 }
No newline at end of file
84
No newline at end of file
85 txtUesUp += "["
No newline at end of file
86 txtUesDown += "["
No newline at end of file
87
No newline at end of file
88 for(i=1;i<=4;i++){
No newline at end of file
89 txtUesUp += $("input[name=unitUesUp_"+i+"]").val();
No newline at end of file
90 txtUesDown += $("input[name=unitUesDown_"+i+"]").val();
No newline at end of file
91 if(i != 4){
No newline at end of file
92 txtUesUp += ","
No newline at end of file
93 txtUesDown += ","
No newline at end of file
94 }
No newline at end of file
95 }
No newline at end of file
96
No newline at end of file
97 txtUesUp += "]"
No newline at end of file
98 txtUesDown += "]"
No newline at end of file
99
No newline at end of file
100 $('input[name=txtAntennaUp]').attr("value",valueAntennaUp);
No newline at end of file
101 $('input[name=txtAntennaDown]').attr("value",valueAntennaDown);
No newline at end of file
102 $('input[name=txtTxUp]').attr("value",txtTxUp);
No newline at end of file
103 $('input[name=txtTxDown]').attr("value",txtTxDown);
No newline at end of file
104 $('input[name=txtRxUp]').attr("value",txtRxUp);
No newline at end of file
105 $('input[name=txtRxDown]').attr("value",txtRxDown);
No newline at end of file
106 $('input[name=txtUesUp]').attr("value",txtUesUp);
No newline at end of file
107 $('input[name=txtUesDown]').attr("value",txtUesDown);
No newline at end of file
108 $('#frmPattern').submit();
No newline at end of file
109 });
No newline at end of file
110 $('#lnkCancel').click(function() {
No newline at end of file
111 if ($("#pattern_id").val() == 0){
No newline at end of file
112 location.href = "/abscontrol/edit/" + $("#profile_id").val();
No newline at end of file
113 }else{
No newline at end of file
114 location.href = "/abscontrol/edit/" + $("#profile_id").val();
No newline at end of file
115 }
No newline at end of file
116 });
No newline at end of file
117 $('#lnkExport').click(function(){
No newline at end of file
118 profile_id = $(this).attr("alt");
No newline at end of file
119 location.href = "/abscontrol/export/" + profile_id + "/";
No newline at end of file
120 });
No newline at end of file
121 $('#lnkSendFile').click(function(){
No newline at end of file
122 profile_id = $(this).attr("alt");
No newline at end of file
123 location.href = "/abscontrol/send/" + profile_id + "/";
No newline at end of file
124 });
No newline at end of file
125 $('#lnkUpdateProfile').click(function(){
No newline at end of file
126 $('#frmProfile').submit();
No newline at end of file
127 });
No newline at end of file
128 }); No newline at end of file
@@ -0,0 +1,54
1 /**
No newline at end of file
2 * @author Jose Antonio Sal y Rosas Celi
No newline at end of file
3 * @contact: jose.salyrosas@jro.igp.gob.pe, arturo.jasyrc@gmail.com
No newline at end of file
4 */
No newline at end of file
5
No newline at end of file
6 $(document).on('ready',function(){
No newline at end of file
7 $('#listProfiles').change(function() {
No newline at end of file
8 if($(this).val() != -1){
No newline at end of file
9 location.href="/abscontrol/view/" + $(this).val();
No newline at end of file
10 }
No newline at end of file
11 });
No newline at end of file
12 $('.activeOverJRO').click(function() {
No newline at end of file
13 profile_id = $('input[name=txtProfileId]').val();
No newline at end of file
14 pattern_id = $('input[name=txtPatternId]').val();
No newline at end of file
15 field_Id = $(this).attr("id");
No newline at end of file
16 antenna_id = $('input[name=txtAntenna'+field_Id+'Id]').val();
No newline at end of file
17 result_url = "/abscontrol/"+profile_id+"/"+pattern_id+"/overjro"+field_Id+"/"+antenna_id+"/";
No newline at end of file
18 //location.href=url
No newline at end of file
19 ///*
No newline at end of file
20 $.ajax({
No newline at end of file
21 url: result_url,
No newline at end of file
22 cache: false,
No newline at end of file
23 beforeSend: function(){
No newline at end of file
24 },
No newline at end of file
25 success: function(){
No newline at end of file
26 $('#PictureOverJRO'+field_Id).load(result_url);
No newline at end of file
27 },
No newline at end of file
28 });
No newline at end of file
29 ///*
No newline at end of file
30 });
No newline at end of file
31 $('#lnkSaveImport').click(function(){
No newline at end of file
32 $('#frmImportProfile').submit();
No newline at end of file
33 });
No newline at end of file
34 $('#lnkUpload').click(function(){
No newline at end of file
35 $('#frmImport').submit();
No newline at end of file
36 });
No newline at end of file
37 $('#lnkExport').click(function(){
No newline at end of file
38 profile_id = $(this).attr("alt");
No newline at end of file
39 location.href="/abscontrol/export/" + profile_id + "/";
No newline at end of file
40 });
No newline at end of file
41 $('#lnkSendFile').click(function(){
No newline at end of file
42 profile_id = $(this).attr("alt");
No newline at end of file
43 location.href="/abscontrol/send/" + profile_id + "/";
No newline at end of file
44 });
No newline at end of file
45 $('#lnkChangeProfile').click(function(){
No newline at end of file
46 $('#frmProfile').submit();
No newline at end of file
47 });
No newline at end of file
48 $('.lnkChangePattern').click(function(){
No newline at end of file
49 profile_id = $("input[name=txtProfileId]").val();
No newline at end of file
50 pattern_id = $("input[name=txtPatternId]").val();
No newline at end of file
51
No newline at end of file
52 location.href="/abscontrol/change/"+profile_id+"/"+pattern_id+"/";
No newline at end of file
53 });
No newline at end of file
54 }); No newline at end of file
@@ -0,0 +1,248
1 {% extends "abscontrol/edit.html" %}
No newline at end of file
2
No newline at end of file
3 {% block mnuPattern %}
No newline at end of file
4 <div class="divMenu" id="divMnuPattern">
No newline at end of file
5 <nav class="MnuHorizontal">
No newline at end of file
6 <ul class="mnu" id="mnuPattern">
No newline at end of file
7 <li><a href="#" id="lnkCancel">Cancel</a></li>
No newline at end of file
8 <li><a href="#" id="lnkSavePattern">Save</a></li>
No newline at end of file
9 </ul>
No newline at end of file
10 </nav>
No newline at end of file
11 </div>
No newline at end of file
12 <div class="cleardivs"></div>
No newline at end of file
13 {% endblock %}
No newline at end of file
14 {% block pattern %}
No newline at end of file
15 <div id="divPattern">
No newline at end of file
16 <form action="/abscontrol/{{ objProfile.id }}/save/" id="frmPattern" method="post">
No newline at end of file
17 {% csrf_token %}
No newline at end of file
18 <div id="antennaUp" class="NewAntenna">
No newline at end of file
19 <fieldset class="NewFlsAntenna">
No newline at end of file
20 <legend class="legendAntenna">UP</legend>
No newline at end of file
21 <div class="NewDivAntenna">
No newline at end of file
22 <label for="lblAntenna" class="titleField">Antenna</label>
No newline at end of file
23 <div class="boxAntenna" id="divtxtAntenna">
No newline at end of file
24 {% for i in range %}
No newline at end of file
25 <div class="fullLine">
No newline at end of file
26 {% if i == 0 %}
No newline at end of file
27 <label for="lblSignLeft" class="lblSignLeft">[</label>
No newline at end of file
28 {% else %}
No newline at end of file
29 <label for="lblSignLeft" class="lblSignLeft">&nbsp;</label>
No newline at end of file
30 {% endif %}
No newline at end of file
31 <div class="lineInputs">
No newline at end of file
32 <label for="lblSign" class="lblSign">[</label>
No newline at end of file
33 <div class="divValuesAntenna">
No newline at end of file
34 {% for j in range %}
No newline at end of file
35 <input type="text" name="txtUnitAntennaUp" class="txtUnitAntenna" id="txtUnitAntennaUp_{{ i }}_{{ j }}" value="0.5" maxlength="3" />
No newline at end of file
36 {% if j != 7 %},{% endif %}
No newline at end of file
37 {% endfor %}
No newline at end of file
38 </div>
No newline at end of file
39 <label for="lblSign" class="lblSign">]</label>
No newline at end of file
40 </div>
No newline at end of file
41 {% if i == 7 %}
No newline at end of file
42 <label for="lblSignRight" class="lblSignRight">]</label>
No newline at end of file
43 {% else %}
No newline at end of file
44 <label for="lblSignRight" class="lblSignRight">,</label>
No newline at end of file
45 {% endif %}
No newline at end of file
46 </div>
No newline at end of file
47 <div class="cleardivs"></div>
No newline at end of file
48 {% endfor %}
No newline at end of file
49 </div>
No newline at end of file
50 </div>
No newline at end of file
51 <div class="NewDivTx">
No newline at end of file
52 <label for="lblTx" class="titleField">Tx</label>
No newline at end of file
53 <div class="boxTR" id="divtxtTR">
No newline at end of file
54 {% for i in range %}
No newline at end of file
55 <div class="fullLine">
No newline at end of file
56 {% if i == 0 %}
No newline at end of file
57 <label for="lblNewSignLeft" class="lblNewSignLeft">[</label>
No newline at end of file
58 {% else %}
No newline at end of file
59 <label for="lblNewSignLeft" class="lblNewSignLeft">&nbsp;</label>
No newline at end of file
60 {% endif %}
No newline at end of file
61 <div class="lineInputsTx">
No newline at end of file
62 <label for="lblSign" class="lblSignTx">[</label>
No newline at end of file
63 <div class="divValuesTx">
No newline at end of file
64 {% for j in range %}
No newline at end of file
65 <input type="text" name="txtUnitTxUp" class="txtUnitTx" id="txtUnitTxUp_{{ i }}_{{ j }}" value="1" maxlength="1" />
No newline at end of file
66 {% if j != 7 %},{% endif %}
No newline at end of file
67 {% endfor %}
No newline at end of file
68 </div>
No newline at end of file
69 <label for="lblSign" class="lblSignTx">]</label>
No newline at end of file
70 </div>
No newline at end of file
71 {% if i == 7 %}
No newline at end of file
72 <label for="lblNewSignRight" class="lblNewSignRight">]</label>
No newline at end of file
73 {% else %}
No newline at end of file
74 <label for="lblNewSignRight" class="lblNewSignRight">,</label>
No newline at end of file
75 {% endif %}
No newline at end of file
76 </div>
No newline at end of file
77 <div class="cleardivs"></div>
No newline at end of file
78 {% endfor %}
No newline at end of file
79 </div>
No newline at end of file
80 <div class="cleardivs"></div>
No newline at end of file
81 </div>
No newline at end of file
82 <div class="NewDivTx">
No newline at end of file
83 <label for="lblRx" class="titleField">Rx</label>
No newline at end of file
84 <div class="boxTR" id="divtxtTR">
No newline at end of file
85 {% for i in range %}
No newline at end of file
86 <div class="fullLine">
No newline at end of file
87 {% if i == 0 %}
No newline at end of file
88 <label for="lblNewSignLeft" class="lblNewSignLeft">[</label>
No newline at end of file
89 {% else %}
No newline at end of file
90 <label for="lblNewSignLeft" class="lblNewSignLeft">&nbsp;</label>
No newline at end of file
91 {% endif %}
No newline at end of file
92 <div class="lineInputsTx">
No newline at end of file
93 <label for="lblSign" class="lblSignTx">[</label>
No newline at end of file
94 <div class="divValuesTx">
No newline at end of file
95 {% for j in range %}
No newline at end of file
96 <input type="text" name="txtUnitRxUp" class="txtUnitRx" id="txtUnitRxUp_{{ i }}_{{ j }}" value="0" maxlength="1" />
No newline at end of file
97 {% if j != 7 %},{% endif %}
No newline at end of file
98 {% endfor %}
No newline at end of file
99 </div>
No newline at end of file
100 <label for="lblSign" class="lblSignTx">]</label>
No newline at end of file
101 </div>
No newline at end of file
102 {% if i == 7 %}
No newline at end of file
103 <label for="lblNewSignRight" class="lblNewSignRight">]</label>
No newline at end of file
104 {% else %}
No newline at end of file
105 <label for="lblNewSignRight" class="lblNewSignRight">,</label>
No newline at end of file
106 {% endif %}
No newline at end of file
107 </div>
No newline at end of file
108 <div class="cleardivs"></div>
No newline at end of file
109 {% endfor %}
No newline at end of file
110 </div>
No newline at end of file
111 <div class="cleardivs"></div>
No newline at end of file
112 </div>
No newline at end of file
113 <div class="cleardivs"></div>
No newline at end of file
114 <div class="divNewUes">
No newline at end of file
115 <label for="lblUes" class="titleUes">Ues:</label>
No newline at end of file
116 <div class="valueUes">
No newline at end of file
117 <label for="lblUes">[</label>
No newline at end of file
118 {% for element in arrayUes %}
No newline at end of file
119 <input type="text" name="unitUesUp_{{ forloop.counter }}" value="{{ element }}" maxlength="8" class="txtUnitUes" />
No newline at end of file
120 {% if not forloop.last %},{% endif %}
No newline at end of file
121 {% endfor %}
No newline at end of file
122 <label for="lblUes">]</label>
No newline at end of file
123 </div>
No newline at end of file
124 </div>
No newline at end of file
125 </fieldset>
No newline at end of file
126 <input type="hidden" name="txtAntennaUp" value="" />
No newline at end of file
127 <input type="hidden" name="txtTxUp" value="" />
No newline at end of file
128 <input type="hidden" name="txtRxUp" value="" />
No newline at end of file
129 <input type="hidden" name="txtUesUp" value="" />
No newline at end of file
130 </div>
No newline at end of file
131 <div id="antennaDown" class="NewAntenna">
No newline at end of file
132 <fieldset class="NewFlsAntenna">
No newline at end of file
133 <legend class="legendAntenna">DOWN</legend>
No newline at end of file
134 <div class="NewDivAntenna">
No newline at end of file
135 <label for="lblAntenna" class="titleField">Antenna</label>
No newline at end of file
136 <div class="boxAntenna" id="divtxtAntenna">
No newline at end of file
137 {% for i in range %}
No newline at end of file
138 <div class="fullLine">
No newline at end of file
139 {% if i == 0 %}
No newline at end of file
140 <label for="lblSignLeft" class="lblSignLeft">[</label>
No newline at end of file
141 {% else %}
No newline at end of file
142 <label for="lblSignLeft" class="lblSignLeft">&nbsp;</label>
No newline at end of file
143 {% endif %}
No newline at end of file
144 <div class="lineInputs">
No newline at end of file
145 <label for="lblSign" class="lblSign">[</label>
No newline at end of file
146 <div class="divValuesAntenna">
No newline at end of file
147 {% for j in range %}
No newline at end of file
148 <input type="text" name="txtUnitAntennaDown" class="txtUnitAntenna" id="txtUnitAntennaDown_{{ i }}_{{ j }}" value="0.5" maxlength="3" />
No newline at end of file
149 {% if j != 7 %},{% endif %}
No newline at end of file
150 {% endfor %}
No newline at end of file
151 </div>
No newline at end of file
152 <label for="lblSign" class="lblSign">]</label>
No newline at end of file
153 </div>
No newline at end of file
154 {% if i == 7 %}
No newline at end of file
155 <label for="lblSignRight" class="lblSignRight">]</label>
No newline at end of file
156 {% else %}
No newline at end of file
157 <label for="lblSignRight" class="lblSignRight">,</label>
No newline at end of file
158 {% endif %}
No newline at end of file
159 </div>
No newline at end of file
160 <div class="cleardivs"></div>
No newline at end of file
161 {% endfor %}
No newline at end of file
162 </div>
No newline at end of file
163 </div>
No newline at end of file
164 <div class="NewDivTx">
No newline at end of file
165 <label for="lblTx" class="titleField">Tx</label>
No newline at end of file
166 <div class="boxTR" id="divtxtTR">
No newline at end of file
167 {% for i in range %}
No newline at end of file
168 <div class="fullLine">
No newline at end of file
169 {% if i == 0 %}
No newline at end of file
170 <label for="lblNewSignLeft" class="lblNewSignLeft">[</label>
No newline at end of file
171 {% else %}
No newline at end of file
172 <label for="lblNewSignLeft" class="lblNewSignLeft">&nbsp;</label>
No newline at end of file
173 {% endif %}
No newline at end of file
174 <div class="lineInputsTx">
No newline at end of file
175 <label for="lblSign" class="lblSignTx">[</label>
No newline at end of file
176 <div class="divValuesTx">
No newline at end of file
177 {% for j in range %}
No newline at end of file
178 <input type="text" name="txtUnitTxDown" class="txtUnitTx" id="txtUnitTxDown_{{ i }}_{{ j }}" value="1" maxlength="1" />
No newline at end of file
179 {% if j != 7 %},{% endif %}
No newline at end of file
180 {% endfor %}
No newline at end of file
181 </div>
No newline at end of file
182 <label for="lblSign" class="lblSignTx">]</label>
No newline at end of file
183 </div>
No newline at end of file
184 {% if i == 7 %}
No newline at end of file
185 <label for="lblNewSignRight" class="lblNewSignRight">]</label>
No newline at end of file
186 {% else %}
No newline at end of file
187 <label for="lblNewSignRight" class="lblNewSignRight">,</label>
No newline at end of file
188 {% endif %}
No newline at end of file
189 </div>
No newline at end of file
190 <div class="cleardivs"></div>
No newline at end of file
191 {% endfor %}
No newline at end of file
192 </div>
No newline at end of file
193 <div class="cleardivs"></div>
No newline at end of file
194 </div>
No newline at end of file
195 <div class="NewDivTx">
No newline at end of file
196 <label for="lblRx" class="titleField">Rx</label>
No newline at end of file
197 <div class="boxTR" id="divtxtTR">
No newline at end of file
198 {% for i in range %}
No newline at end of file
199 <div class="fullLine">
No newline at end of file
200 {% if i == 0 %}
No newline at end of file
201 <label for="lblNewSignLeft" class="lblNewSignLeft">[</label>
No newline at end of file
202 {% else %}
No newline at end of file
203 <label for="lblNewSignLeft" class="lblNewSignLeft">&nbsp;</label>
No newline at end of file
204 {% endif %}
No newline at end of file
205 <div class="lineInputsTx">
No newline at end of file
206 <label for="lblSign" class="lblSignTx">[</label>
No newline at end of file
207 <div class="divValuesTx">
No newline at end of file
208 {% for j in range %}
No newline at end of file
209 <input type="text" name="txtUnitRxDown" class="txtUnitRx" id="txtUnitRxDown_{{ i }}_{{ j }}" value="0" />
No newline at end of file
210 {% if j != 7 %},{% endif %}
No newline at end of file
211 {% endfor %}
No newline at end of file
212 </div>
No newline at end of file
213 <label for="lblSign" class="lblSignTx">]</label>
No newline at end of file
214 </div>
No newline at end of file
215 {% if i == 7 %}
No newline at end of file
216 <label for="lblNewSignRight" class="lblNewSignRight">]</label>
No newline at end of file
217 {% else %}
No newline at end of file
218 <label for="lblNewSignRight" class="lblNewSignRight">,</label>
No newline at end of file
219 {% endif %}
No newline at end of file
220 </div>
No newline at end of file
221 <div class="cleardivs"></div>
No newline at end of file
222 {% endfor %}
No newline at end of file
223 </div>
No newline at end of file
224 <div class="cleardivs"></div>
No newline at end of file
225 </div>
No newline at end of file
226 <div class="cleardivs"></div>
No newline at end of file
227 <div class="divNewUes">
No newline at end of file
228 <label for="lblUes" class="titleUes">Ues:</label>
No newline at end of file
229 <div class="valueUes">
No newline at end of file
230 <label for="lblUes">[</label>
No newline at end of file
231 {% for element in arrayUes %}
No newline at end of file
232 <input type="text" name="unitUesDown_{{ forloop.counter }}" value="{{ element }}" maxlength="8" class="txtUnitUes" />
No newline at end of file
233 {% if not forloop.last %},{% endif %}
No newline at end of file
234 {% endfor %}
No newline at end of file
235 <label for="lblUes">]</label>
No newline at end of file
236 </div>
No newline at end of file
237 </div>
No newline at end of file
238 </fieldset>
No newline at end of file
239 <input type="hidden" name="txtAntennaDown" value="" />
No newline at end of file
240 <input type="hidden" name="txtTxDown" value="" />
No newline at end of file
241 <input type="hidden" name="txtRxDown" value="" />
No newline at end of file
242 <input type="hidden" name="txtUesDown" value="" />
No newline at end of file
243 </div>
No newline at end of file
244 <input type="hidden" name="profile_id" id="profile_id" value="{{ objProfile.id }}" />
No newline at end of file
245 <input type="hidden" name="mode" value="e">
No newline at end of file
246 </form>
No newline at end of file
247 </div>
No newline at end of file
248 {% endblock %} No newline at end of file
@@ -0,0 +1,39
1 {% extends "abscontrol/index.html" %}
No newline at end of file
2 {% block title %}ABS CONTROL:::::NEW PROFILE{% endblock %}
No newline at end of file
3 {% block scripting %}
No newline at end of file
4 <script src="/static/static/js/profiles.js"></script>
No newline at end of file
5 {% endblock %}
No newline at end of file
6 {% block mnu_profile %}
No newline at end of file
7 <nav class="MnuHorizontal" id="mnuProfiles">
No newline at end of file
8 <ul>
No newline at end of file
9 <li><a href="#" id="lnkChangeProfile">Save</a></li>
No newline at end of file
10 <li><a href="/abscontrol/edit/{{ objProfile.id }}/">Cancel</a></li>
No newline at end of file
11 </ul>
No newline at end of file
12 </nav>
No newline at end of file
13 {% endblock %}
No newline at end of file
14 {% block maincolumn%}
No newline at end of file
15 <div id="maincolumn">
No newline at end of file
16 <form action="/abscontrol/update/{{ objProfile.id }}/" method="post" id="frmProfile">
No newline at end of file
17 {% csrf_token %}
No newline at end of file
18 <div id="divProfile">
No newline at end of file
19 <label for="lblName">Profile: {{ profile_name }}</label>
No newline at end of file
20 <input type="text" name="txtProfile" value="{{ objProfile.name }}"/>
No newline at end of file
21 </div>
No newline at end of file
22 <div class="cleardivs"></div>
No newline at end of file
23 <input type="hidden" name="mode" value="e">
No newline at end of file
24 </form>
No newline at end of file
25 <div id="navPatterns">
No newline at end of file
26 <nav class="" id="navPatternList">
No newline at end of file
27 <ul>
No newline at end of file
28 {% for element in lsPatterns %}
No newline at end of file
29 {% if patternChoosen.id == element.id %}
No newline at end of file
30 <li><a href="/abscontrol/{{ objProfile.id }}/edit/{{ element.id }}" class="lnkPatternSelected">{{ element.value }}</a></li>
No newline at end of file
31 {% else %}
No newline at end of file
32 <li><a href="/abscontrol/{{ objProfile.id }}/edit/{{ element.id }}" class="lnkPattern">{{ element.value }}</a></li>
No newline at end of file
33 {% endif %}
No newline at end of file
34 {% endfor %}
No newline at end of file
35 </ul>
No newline at end of file
36 </nav>
No newline at end of file
37 </div>
No newline at end of file
38 </div>
No newline at end of file
39 {% endblock %} No newline at end of file
@@ -0,0 +1,10
1 {% extends "base.html" %}
No newline at end of file
2 {% extends "index.html" %}
No newline at end of file
3
No newline at end of file
4 {% block content %}
No newline at end of file
5 {% block maincolumn %}
No newline at end of file
6 <div id="maincolumn">
No newline at end of file
7
No newline at end of file
8 </div>
No newline at end of file
9 {% endblock %}
No newline at end of file
10 {% endblock %} No newline at end of file
@@ -0,0 +1,310
1 {% extends "abscontrol/index.html" %}
No newline at end of file
2 {% block title %}ABS CONTROL:::PROFILE:::{{ objProfile.name }}{% endblock %}
No newline at end of file
3 {% block scripting %}
No newline at end of file
4 <script src="/static/static/js/patterns.js"></script>
No newline at end of file
5 {% endblock %}
No newline at end of file
6 {% block mnu_profile %}
No newline at end of file
7 <nav class="MnuHorizontal" id="mnuProfiles">
No newline at end of file
8 <ul>
No newline at end of file
9 <li><a href="{% url abscontrol.views.new %}">New</a></li>
No newline at end of file
10 <li><a href="{% url abscontrol.views.viewPattern objProfile.id patternChoosen.id %}">View</a></li>
No newline at end of file
11 {% if objProfile.state == 0 %}
No newline at end of file
12 <li><a href="/abscontrol/changeName/{{ objProfile.id }}/">Save</a></li>
No newline at end of file
13 {% else %}
No newline at end of file
14 <li><a href="#" id="lnkUpdateProfile">Save</a></li>
No newline at end of file
15 {% endif %}
No newline at end of file
16 <li><a href="#">Save as</a></li>
No newline at end of file
17 <li><a href="{% url abscontrol.views.importProfile %}">Import</a></li>
No newline at end of file
18 {% if objProfile %}
No newline at end of file
19 <li><a href="#" id="lnkExport" alt="{{ objProfile.id }}">Export</a></li>
No newline at end of file
20 {% endif %}
No newline at end of file
21 </ul>
No newline at end of file
22 </nav>
No newline at end of file
23 {% endblock %}
No newline at end of file
24 {% block maincolumn%}
No newline at end of file
25 <div id="maincolumn">
No newline at end of file
26 {% if objProfile.state == 1 %}
No newline at end of file
27 <form action="{% url abscontrol.views.update objProfile.id %}" method="post" id="frmProfile">
No newline at end of file
28 {% csrf_token %}
No newline at end of file
29 <div id="divProfile">
No newline at end of file
30 <label for="lblName">Profile:</label>
No newline at end of file
31 <input type="text" name="txtProfile" value="{{ objProfile.name }}"/>
No newline at end of file
32 </div>
No newline at end of file
33 <input type="hidden" name="mode" value="e">
No newline at end of file
34 </form>
No newline at end of file
35 {% else %}
No newline at end of file
36 <div id="divProfile">
No newline at end of file
37 <label for="lblName">Profile: {{ objProfile.name }}</label>
No newline at end of file
38 </div>
No newline at end of file
39 {% endif %}
No newline at end of file
40 {% if patternChoosen %}
No newline at end of file
41 <div id="navPatterns">
No newline at end of file
42 <nav class="" id="navPatternList">
No newline at end of file
43 <ul>
No newline at end of file
44 {% for element in lsPatterns %}
No newline at end of file
45 {% if patternChoosen.id == element.id %}
No newline at end of file
46 <li><a href="{% url abscontrol.views.editPattern objProfile.id element.id %}" class="lnkPatternSelected">{{ element.value }}</a></li>
No newline at end of file
47 {% else %}
No newline at end of file
48 <li><a href="{% url abscontrol.views.editPattern objProfile.id element.id %}" class="lnkPattern">{{ element.value }}</a></li>
No newline at end of file
49 {% endif %}
No newline at end of file
50 {% endfor %}
No newline at end of file
51 </ul>
No newline at end of file
52 </nav>
No newline at end of file
53 </div>
No newline at end of file
54 {% endif %}
No newline at end of file
55 {% block mnuPattern %}
No newline at end of file
56 <div class="divMenu" id="divMnuPattern">
No newline at end of file
57 <nav class="MnuHorizontal">
No newline at end of file
58 <ul class="mnu" id="mnuPattern">
No newline at end of file
59 {% if lsPatterns|length > 1 %}
No newline at end of file
60 <li><a href="{% url abscontrol.views.deletePattern objProfile.id patternChoosen.id %}">Delete</a></li>
No newline at end of file
61 {% endif %}
No newline at end of file
62 <li><a href="#" class="" id="lnkSavePattern">Save</a></li>
No newline at end of file
63 {% if lsPatterns|length < 10 %}
No newline at end of file
64 <li><a href="{% url abscontrol.views.addPattern objProfile.id %}">Add</a></li>
No newline at end of file
65 {% endif %}
No newline at end of file
66 </ul>
No newline at end of file
67 </nav>
No newline at end of file
68 </div>
No newline at end of file
69 <div class="cleardivs"></div>
No newline at end of file
70 {% endblock %}
No newline at end of file
71 {% block pattern %}
No newline at end of file
72 <div id="divPattern">
No newline at end of file
73 <form action="{% url abscontrol.views.savePattern objProfile.id %}" id="frmPattern" method="post">
No newline at end of file
74 {% csrf_token %}
No newline at end of file
75 <div id="antennaUp" class="NewAntenna">
No newline at end of file
76 <fieldset class="NewFlsAntenna">
No newline at end of file
77 <legend class="legendAntenna">UP</legend>
No newline at end of file
78 <div class="NewDivAntenna">
No newline at end of file
79 <label for="lblAntenna" class="titleField">Antenna</label>
No newline at end of file
80 <div class="boxAntenna" id="divtxtAntenna">
No newline at end of file
81 {% for lines in arrayAntennaUp %}
No newline at end of file
82 <div class="fullLine">
No newline at end of file
83 {% if forloop.first %}
No newline at end of file
84 <label for="lblSignLeft" class="lblSignLeft">[</label>
No newline at end of file
85 {% else %}
No newline at end of file
86 <label for="lblSignLeft" class="lblSignLeft">&nbsp;</label>
No newline at end of file
87 {% endif %}
No newline at end of file
88 <div class="lineInputs">
No newline at end of file
89 <label for="lblSign" class="lblSign">[</label>
No newline at end of file
90 <div class="divValuesAntenna">
No newline at end of file
91 {% for line in lines %}
No newline at end of file
92 <input type="text" name="txtUnitAntennaUp" class="txtUnitAntenna" id="txtUnitAntennaUp_{{ forloop.parentloop.counter0 }}_{{ forloop.counter0 }}" value="{{line}}" maxlength="3" />
No newline at end of file
93 {% if not forloop.last %},{% endif %}
No newline at end of file
94 {% endfor %}
No newline at end of file
95 </div>
No newline at end of file
96 <label for="lblSign" class="lblSign">]</label>
No newline at end of file
97 </div>
No newline at end of file
98 {% if forloop.last %}
No newline at end of file
99 <label for="lblSignRight" class="lblSignRight">]</label>
No newline at end of file
100 {% else %}
No newline at end of file
101 <label for="lblSignRight" class="lblSignRight">,</label>
No newline at end of file
102 {% endif %}
No newline at end of file
103 </div>
No newline at end of file
104 <div class="cleardivs"></div>
No newline at end of file
105 {% endfor %}
No newline at end of file
106 </div>
No newline at end of file
107 </div>
No newline at end of file
108 <div class="NewDivTx">
No newline at end of file
109 <label for="lblTx" class="titleField">Tx</label>
No newline at end of file
110 <div class="boxTR" id="divtxtTR">
No newline at end of file
111 {% for lines in arrayTxUp %}
No newline at end of file
112 <div class="fullLine">
No newline at end of file
113 {% if forloop.first %}
No newline at end of file
114 <label for="lblNewSignLeft" class="lblNewSignLeft">[</label>
No newline at end of file
115 {% else %}
No newline at end of file
116 <label for="lblNewSignLeft" class="lblNewSignLeft">&nbsp;</label>
No newline at end of file
117 {% endif %}
No newline at end of file
118 <div class="lineInputsTx">
No newline at end of file
119 <label for="lblSign" class="lblSignTx">[</label>
No newline at end of file
120 <div class="divValuesTx">
No newline at end of file
121 {% for line in lines %}
No newline at end of file
122 <input type="text" name="txtUnitTxUp" class="txtUnitTx" id="txtUnitTxUp_{{ forloop.parentloop.counter0 }}_{{ forloop.counter0 }}" value="{{ line }}" maxlength="1" />
No newline at end of file
123 {% if not forloop.last %},{% endif %}
No newline at end of file
124 {% endfor %}
No newline at end of file
125 </div>
No newline at end of file
126 <label for="lblSign" class="lblSignTx">]</label>
No newline at end of file
127 </div>
No newline at end of file
128 {% if forloop.last %}
No newline at end of file
129 <label for="lblNewSignRight" class="lblNewSignRight">]</label>
No newline at end of file
130 {% else %}
No newline at end of file
131 <label for="lblNewSignRight" class="lblNewSignRight">,</label>
No newline at end of file
132 {% endif %}
No newline at end of file
133 </div>
No newline at end of file
134 <div class="cleardivs"></div>
No newline at end of file
135 {% endfor %}
No newline at end of file
136 </div>
No newline at end of file
137 <div class="cleardivs"></div>
No newline at end of file
138 </div>
No newline at end of file
139 <div class="NewDivTx">
No newline at end of file
140 <label for="lblRx" class="titleField">Rx</label>
No newline at end of file
141 <div class="boxTR" id="divtxtTR">
No newline at end of file
142 {% for lines in arrayRxUp %}
No newline at end of file
143 <div class="fullLine">
No newline at end of file
144 {% if forloop.first %}
No newline at end of file
145 <label for="lblNewSignLeft" class="lblNewSignLeft">[</label>
No newline at end of file
146 {% else %}
No newline at end of file
147 <label for="lblNewSignLeft" class="lblNewSignLeft">&nbsp;</label>
No newline at end of file
148 {% endif %}
No newline at end of file
149 <div class="lineInputsTx">
No newline at end of file
150 <label for="lblSign" class="lblSignTx">[</label>
No newline at end of file
151 <div class="divValuesTx">
No newline at end of file
152 {% for line in lines %}
No newline at end of file
153 <input type="text" name="txtUnitRxUp" class="txtUnitRx" id="txtUnitRxUp_{{ forloop.parentloop.counter0 }}_{{ forloop.counter0 }}" value="{{ line }}" maxlength="1" />
No newline at end of file
154 {% if not forloop.last %},{% endif %}
No newline at end of file
155 {% endfor %}
No newline at end of file
156 </div>
No newline at end of file
157 <label for="lblSign" class="lblSignTx">]</label>
No newline at end of file
158 </div>
No newline at end of file
159 {% if forloop.last %}
No newline at end of file
160 <label for="lblNewSignRight" class="lblNewSignRight">]</label>
No newline at end of file
161 {% else %}
No newline at end of file
162 <label for="lblNewSignRight" class="lblNewSignRight">,</label>
No newline at end of file
163 {% endif %}
No newline at end of file
164 </div>
No newline at end of file
165 <div class="cleardivs"></div>
No newline at end of file
166 {% endfor %}
No newline at end of file
167 </div>
No newline at end of file
168 <div class="cleardivs"></div>
No newline at end of file
169 </div>
No newline at end of file
170 <div class="cleardivs"></div>
No newline at end of file
171 <div class="divNewUes">
No newline at end of file
172 <label for="lblUes" class="titleUes">Ues:</label>
No newline at end of file
173 <div class="valueUes">
No newline at end of file
174 <label for="lblUes">[</label>
No newline at end of file
175 {% for element in arrayUesUp %}
No newline at end of file
176 <input type="text" name="unitUesUp_{{ forloop.counter }}" value="{{ element }}" maxlength="8" class="txtUnitUes" />
No newline at end of file
177 {% if not forloop.last %},{% endif %}
No newline at end of file
178 {% endfor %}
No newline at end of file
179 <label for="lblUes">]</label>
No newline at end of file
180 </div>
No newline at end of file
181 </div>
No newline at end of file
182 <input type="hidden" name="txtAntennaUpId" value="{{ antennaUp.id }}" />
No newline at end of file
183 </fieldset>
No newline at end of file
184 <input type="hidden" name="txtAntennaUp" value="" />
No newline at end of file
185 <input type="hidden" name="txtTxUp" value="" />
No newline at end of file
186 <input type="hidden" name="txtRxUp" value="" />
No newline at end of file
187 <input type="hidden" name="txtUesUp" value="" />
No newline at end of file
188 </div>
No newline at end of file
189 <div id="antennaDown" class="NewAntenna">
No newline at end of file
190 <fieldset class="NewFlsAntenna">
No newline at end of file
191 <legend class="legendAntenna">DOWN</legend>
No newline at end of file
192 <div class="NewDivAntenna">
No newline at end of file
193 <label for="lblAntenna" class="titleField">Antenna</label>
No newline at end of file
194 <div class="boxAntenna" id="divtxtAntenna">
No newline at end of file
195 {% for lines in arrayAntennaDown %}
No newline at end of file
196 <div class="fullLine">
No newline at end of file
197 {% if forloop.first %}
No newline at end of file
198 <label for="lblSignLeft" class="lblSignLeft">[</label>
No newline at end of file
199 {% else %}
No newline at end of file
200 <label for="lblSignLeft" class="lblSignLeft">&nbsp;</label>
No newline at end of file
201 {% endif %}
No newline at end of file
202 <div class="lineInputs">
No newline at end of file
203 <label for="lblSign" class="lblSign">[</label>
No newline at end of file
204 <div class="divValuesAntenna">
No newline at end of file
205 {% for line in lines %}
No newline at end of file
206 <input type="text" name="txtUnitAntennaDown" class="txtUnitAntenna" id="txtUnitAntennaDown_{{ forloop.parentloop.counter0 }}_{{ forloop.counter0 }}" value="{{ line }}" maxlength="3" />
No newline at end of file
207 {% if not forloop.last %},{% endif %}
No newline at end of file
208 {% endfor %}
No newline at end of file
209 </div>
No newline at end of file
210 <label for="lblSign" class="lblSign">]</label>
No newline at end of file
211 </div>
No newline at end of file
212 {% if forloop.last %}
No newline at end of file
213 <label for="lblSignRight" class="lblSignRight">]</label>
No newline at end of file
214 {% else %}
No newline at end of file
215 <label for="lblSignRight" class="lblSignRight">,</label>
No newline at end of file
216 {% endif %}
No newline at end of file
217 </div>
No newline at end of file
218 <div class="cleardivs"></div>
No newline at end of file
219 {% endfor %}
No newline at end of file
220 </div>
No newline at end of file
221 </div>
No newline at end of file
222 <div class="NewDivTx">
No newline at end of file
223 <label for="lblTx" class="titleField">Tx</label>
No newline at end of file
224 <div class="boxTR" id="divtxtTR">
No newline at end of file
225 {% for lines in arrayTxDown %}
No newline at end of file
226 <div class="fullLine">
No newline at end of file
227 {% if forloop.first %}
No newline at end of file
228 <label for="lblNewSignLeft" class="lblNewSignLeft">[</label>
No newline at end of file
229 {% else %}
No newline at end of file
230 <label for="lblNewSignLeft" class="lblNewSignLeft">&nbsp;</label>
No newline at end of file
231 {% endif %}
No newline at end of file
232 <div class="lineInputsTx">
No newline at end of file
233 <label for="lblSign" class="lblSignTx">[</label>
No newline at end of file
234 <div class="divValuesTx">
No newline at end of file
235 {% for line in lines %}
No newline at end of file
236 <input type="text" name="txtUnitTxDown" class="txtUnitTx" id="txtUnitTxDown_{{ forloop.parentloop.counter0 }}_{{ forloop.counter0 }}" value="{{ line }}" maxlength="1" />
No newline at end of file
237 {% if not forloop.last %},{% endif %}
No newline at end of file
238 {% endfor %}
No newline at end of file
239 </div>
No newline at end of file
240 <label for="lblSign" class="lblSignTx">]</label>
No newline at end of file
241 </div>
No newline at end of file
242 {% if forloop.last %}
No newline at end of file
243 <label for="lblNewSignRight" class="lblNewSignRight">]</label>
No newline at end of file
244 {% else %}
No newline at end of file
245 <label for="lblNewSignRight" class="lblNewSignRight">,</label>
No newline at end of file
246 {% endif %}
No newline at end of file
247 </div>
No newline at end of file
248 <div class="cleardivs"></div>
No newline at end of file
249 {% endfor %}
No newline at end of file
250 </div>
No newline at end of file
251 <div class="cleardivs"></div>
No newline at end of file
252 </div>
No newline at end of file
253 <div class="NewDivTx">
No newline at end of file
254 <label for="lblRx" class="titleField">Rx</label>
No newline at end of file
255 <div class="boxTR" id="divtxtTR">
No newline at end of file
256 {% for lines in arrayRxDown %}
No newline at end of file
257 <div class="fullLine">
No newline at end of file
258 {% if forloop.first %}
No newline at end of file
259 <label for="lblNewSignLeft" class="lblNewSignLeft">[</label>
No newline at end of file
260 {% else %}
No newline at end of file
261 <label for="lblNewSignLeft" class="lblNewSignLeft">&nbsp;</label>
No newline at end of file
262 {% endif %}
No newline at end of file
263 <div class="lineInputsTx">
No newline at end of file
264 <label for="lblSign" class="lblSignTx">[</label>
No newline at end of file
265 <div class="divValuesTx">
No newline at end of file
266 {% for line in lines %}
No newline at end of file
267 <input type="text" name="txtUnitRxDown" class="txtUnitRx" id="txtUnitRxDown_{{ forloop.parentloop.counter0 }}_{{ forloop.counter0 }}" value="{{ line }}" />
No newline at end of file
268 {% if not forloop.last %},{% endif %}
No newline at end of file
269 {% endfor %}
No newline at end of file
270 </div>
No newline at end of file
271 <label for="lblSign" class="lblSignTx">]</label>
No newline at end of file
272 </div>
No newline at end of file
273 {% if forloop.last %}
No newline at end of file
274 <label for="lblNewSignRight" class="lblNewSignRight">]</label>
No newline at end of file
275 {% else %}
No newline at end of file
276 <label for="lblNewSignRight" class="lblNewSignRight">,</label>
No newline at end of file
277 {% endif %}
No newline at end of file
278 </div>
No newline at end of file
279 <div class="cleardivs"></div>
No newline at end of file
280 {% endfor %}
No newline at end of file
281 </div>
No newline at end of file
282 <div class="cleardivs"></div>
No newline at end of file
283 </div>
No newline at end of file
284 <div class="cleardivs"></div>
No newline at end of file
285 <div class="divNewUes">
No newline at end of file
286 <label for="lblUes" class="titleUes">Ues:</label>
No newline at end of file
287 <div class="valueUes">
No newline at end of file
288 <label for="lblUes">[</label>
No newline at end of file
289 {% for element in arrayUesDown %}
No newline at end of file
290 <input type="text" name="unitUesDown_{{ forloop.counter }}" value="{{ element }}" maxlength="8" class="txtUnitUes" />
No newline at end of file
291 {% if not forloop.last %},{% endif %}
No newline at end of file
292 {% endfor %}
No newline at end of file
293 <label for="lblUes">]</label>
No newline at end of file
294 </div>
No newline at end of file
295 </div>
No newline at end of file
296 <input type="hidden" name="txtAntennaDownId" value="{{ antennaDown.id }}" />
No newline at end of file
297 </fieldset>
No newline at end of file
298 <input type="hidden" name="txtAntennaDown" value="" />
No newline at end of file
299 <input type="hidden" name="txtTxDown" value="" />
No newline at end of file
300 <input type="hidden" name="txtRxDown" value="" />
No newline at end of file
301 <input type="hidden" name="txtUesDown" value="" />
No newline at end of file
302 </div>
No newline at end of file
303 <input type="hidden" name="pattern_id" id="pattern_id" value="{{ patternChoosen.id }}" />
No newline at end of file
304 <input type="hidden" name="profile_id" id="profile_id" value="{{ objProfile.id }}" />
No newline at end of file
305 <input type="hidden" name="mode" value="e">
No newline at end of file
306 </form>
No newline at end of file
307 </div>
No newline at end of file
308 {% endblock %}
No newline at end of file
309 </div>
No newline at end of file
310 {% endblock %} No newline at end of file
@@ -0,0 +1,254
1 {% extends "abscontrol/edit.html" %}
No newline at end of file
2
No newline at end of file
3 {% block mnuPattern %}
No newline at end of file
4 <div class="divMenu" id="divMnuPattern">
No newline at end of file
5 <nav class="MnuHorizontal">
No newline at end of file
6 <ul class="mnu" id="mnuPattern">
No newline at end of file
7 <li><a href="#" id="lnkCancel">Delete</a></li>
No newline at end of file
8 <li><a href="#" id="lnkSavePattern">Save</a></li>
No newline at end of file
9 {% if lsPatterns|length < 10 %}
No newline at end of file
10 <li><a href="#" id="lnkAdd">Add</a></li>
No newline at end of file
11 {% endif %}
No newline at end of file
12 </ul>
No newline at end of file
13 </nav>
No newline at end of file
14 </div>
No newline at end of file
15 <div class="cleardivs"></div>
No newline at end of file
16 {% endblock %}
No newline at end of file
17 {% block pattern %}
No newline at end of file
18 <div id="divPattern">
No newline at end of file
19 <form action="{% url abscontrol.views.savePattern objProfile.id %}" id="frmPattern" method="post">
No newline at end of file
20 {% csrf_token %}
No newline at end of file
21 <div id="antennaUp" class="NewAntenna">
No newline at end of file
22 <fieldset class="NewFlsAntenna">
No newline at end of file
23 <legend class="legendAntenna">UP</legend>
No newline at end of file
24 <div class="NewDivAntenna">
No newline at end of file
25 <label for="lblAntenna" class="titleField">Antenna</label>
No newline at end of file
26 <div class="boxAntenna" id="divtxtAntenna">
No newline at end of file
27 {% for lines in arrayAntennaUp %}
No newline at end of file
28 <div class="fullLine">
No newline at end of file
29 {% if forloop.first %}
No newline at end of file
30 <label for="lblSignLeft" class="lblSignLeft">[</label>
No newline at end of file
31 {% else %}
No newline at end of file
32 <label for="lblSignLeft" class="lblSignLeft">&nbsp;</label>
No newline at end of file
33 {% endif %}
No newline at end of file
34 <div class="lineInputs">
No newline at end of file
35 <label for="lblSign" class="lblSign">[</label>
No newline at end of file
36 <div class="divValuesAntenna">
No newline at end of file
37 {% for line in lines %}
No newline at end of file
38 <input type="text" name="txtUnitAntennaUp" class="txtUnitAntenna" id="txtUnitAntennaUp_{{ forloop.parentloop.counter0 }}_{{ forloop.counter0 }}" value="{{line}}" maxlength="3" />
No newline at end of file
39 {% if not forloop.last %},{% endif %}
No newline at end of file
40 {% endfor %}
No newline at end of file
41 </div>
No newline at end of file
42 <label for="lblSign" class="lblSign">]</label>
No newline at end of file
43 </div>
No newline at end of file
44 {% if forloop.last %}
No newline at end of file
45 <label for="lblSignRight" class="lblSignRight">]</label>
No newline at end of file
46 {% else %}
No newline at end of file
47 <label for="lblSignRight" class="lblSignRight">,</label>
No newline at end of file
48 {% endif %}
No newline at end of file
49 </div>
No newline at end of file
50 <div class="cleardivs"></div>
No newline at end of file
51 {% endfor %}
No newline at end of file
52 </div>
No newline at end of file
53 </div>
No newline at end of file
54 <div class="NewDivTx">
No newline at end of file
55 <label for="lblTx" class="titleField">Tx</label>
No newline at end of file
56 <div class="boxTR" id="divtxtTR">
No newline at end of file
57 {% for lines in arrayTxUp %}
No newline at end of file
58 <div class="fullLine">
No newline at end of file
59 {% if forloop.first %}
No newline at end of file
60 <label for="lblNewSignLeft" class="lblNewSignLeft">[</label>
No newline at end of file
61 {% else %}
No newline at end of file
62 <label for="lblNewSignLeft" class="lblNewSignLeft">&nbsp;</label>
No newline at end of file
63 {% endif %}
No newline at end of file
64 <div class="lineInputsTx">
No newline at end of file
65 <label for="lblSign" class="lblSignTx">[</label>
No newline at end of file
66 <div class="divValuesTx">
No newline at end of file
67 {% for line in lines %}
No newline at end of file
68 <input type="text" name="txtUnitTxUp" class="txtUnitTx" id="txtUnitTxUp_{{ forloop.parentloop.counter0 }}_{{ forloop.counter0 }}" value="{{ line }}" maxlength="1" />
No newline at end of file
69 {% if not forloop.last %},{% endif %}
No newline at end of file
70 {% endfor %}
No newline at end of file
71 </div>
No newline at end of file
72 <label for="lblSign" class="lblSignTx">]</label>
No newline at end of file
73 </div>
No newline at end of file
74 {% if forloop.last %}
No newline at end of file
75 <label for="lblNewSignRight" class="lblNewSignRight">]</label>
No newline at end of file
76 {% else %}
No newline at end of file
77 <label for="lblNewSignRight" class="lblNewSignRight">,</label>
No newline at end of file
78 {% endif %}
No newline at end of file
79 </div>
No newline at end of file
80 <div class="cleardivs"></div>
No newline at end of file
81 {% endfor %}
No newline at end of file
82 </div>
No newline at end of file
83 <div class="cleardivs"></div>
No newline at end of file
84 </div>
No newline at end of file
85 <div class="NewDivTx">
No newline at end of file
86 <label for="lblRx" class="titleField">Rx</label>
No newline at end of file
87 <div class="boxTR" id="divtxtTR">
No newline at end of file
88 {% for lines in arrayRxUp %}
No newline at end of file
89 <div class="fullLine">
No newline at end of file
90 {% if forloop.first %}
No newline at end of file
91 <label for="lblNewSignLeft" class="lblNewSignLeft">[</label>
No newline at end of file
92 {% else %}
No newline at end of file
93 <label for="lblNewSignLeft" class="lblNewSignLeft">&nbsp;</label>
No newline at end of file
94 {% endif %}
No newline at end of file
95 <div class="lineInputsTx">
No newline at end of file
96 <label for="lblSign" class="lblSignTx">[</label>
No newline at end of file
97 <div class="divValuesTx">
No newline at end of file
98 {% for line in lines %}
No newline at end of file
99 <input type="text" name="txtUnitRxUp" class="txtUnitRx" id="txtUnitRxUp_{{ forloop.parentloop.counter0 }}_{{ forloop.counter0 }}" value="{{ line }}" maxlength="1" />
No newline at end of file
100 {% if not forloop.last %},{% endif %}
No newline at end of file
101 {% endfor %}
No newline at end of file
102 </div>
No newline at end of file
103 <label for="lblSign" class="lblSignTx">]</label>
No newline at end of file
104 </div>
No newline at end of file
105 {% if forloop.last %}
No newline at end of file
106 <label for="lblNewSignRight" class="lblNewSignRight">]</label>
No newline at end of file
107 {% else %}
No newline at end of file
108 <label for="lblNewSignRight" class="lblNewSignRight">,</label>
No newline at end of file
109 {% endif %}
No newline at end of file
110 </div>
No newline at end of file
111 <div class="cleardivs"></div>
No newline at end of file
112 {% endfor %}
No newline at end of file
113 </div>
No newline at end of file
114 <div class="cleardivs"></div>
No newline at end of file
115 </div>
No newline at end of file
116 <div class="cleardivs"></div>
No newline at end of file
117 <div class="divNewUes">
No newline at end of file
118 <label for="lblUes" class="titleUes">Ues:</label>
No newline at end of file
119 <div class="valueUes">
No newline at end of file
120 <label for="lblUes">[</label>
No newline at end of file
121 {% for element in arrayUesUp %}
No newline at end of file
122 <input type="text" name="unitUesUp_{{ forloop.counter }}" value="{{ element }}" maxlength="8" class="txtUnitUes" />
No newline at end of file
123 {% if not forloop.last %},{% endif %}
No newline at end of file
124 {% endfor %}
No newline at end of file
125 <label for="lblUes">]</label>
No newline at end of file
126 </div>
No newline at end of file
127 </div>
No newline at end of file
128 <input type="hidden" name="txtAntennaUpId" value="{{ antennaUp.id }}" />
No newline at end of file
129 </fieldset>
No newline at end of file
130 <input type="hidden" name="txtAntennaUp" value="" />
No newline at end of file
131 <input type="hidden" name="txtTxUp" value="" />
No newline at end of file
132 <input type="hidden" name="txtRxUp" value="" />
No newline at end of file
133 <input type="hidden" name="txtUesUp" value="" />
No newline at end of file
134 </div>
No newline at end of file
135 <div id="antennaDown" class="NewAntenna">
No newline at end of file
136 <fieldset class="NewFlsAntenna">
No newline at end of file
137 <legend class="legendAntenna">DOWN</legend>
No newline at end of file
138 <div class="NewDivAntenna">
No newline at end of file
139 <label for="lblAntenna" class="titleField">Antenna</label>
No newline at end of file
140 <div class="boxAntenna" id="divtxtAntenna">
No newline at end of file
141 {% for lines in arrayAntennaDown %}
No newline at end of file
142 <div class="fullLine">
No newline at end of file
143 {% if forloop.first %}
No newline at end of file
144 <label for="lblSignLeft" class="lblSignLeft">[</label>
No newline at end of file
145 {% else %}
No newline at end of file
146 <label for="lblSignLeft" class="lblSignLeft">&nbsp;</label>
No newline at end of file
147 {% endif %}
No newline at end of file
148 <div class="lineInputs">
No newline at end of file
149 <label for="lblSign" class="lblSign">[</label>
No newline at end of file
150 <div class="divValuesAntenna">
No newline at end of file
151 {% for line in lines %}
No newline at end of file
152 <input type="text" name="txtUnitAntennaDown" class="txtUnitAntenna" id="txtUnitAntennaDown_{{ forloop.parentloop.counter0 }}_{{ forloop.counter0 }}" value="{{ line }}" maxlength="3" />
No newline at end of file
153 {% if not forloop.last %},{% endif %}
No newline at end of file
154 {% endfor %}
No newline at end of file
155 </div>
No newline at end of file
156 <label for="lblSign" class="lblSign">]</label>
No newline at end of file
157 </div>
No newline at end of file
158 {% if forloop.last %}
No newline at end of file
159 <label for="lblSignRight" class="lblSignRight">]</label>
No newline at end of file
160 {% else %}
No newline at end of file
161 <label for="lblSignRight" class="lblSignRight">,</label>
No newline at end of file
162 {% endif %}
No newline at end of file
163 </div>
No newline at end of file
164 <div class="cleardivs"></div>
No newline at end of file
165 {% endfor %}
No newline at end of file
166 </div>
No newline at end of file
167 </div>
No newline at end of file
168 <div class="NewDivTx">
No newline at end of file
169 <label for="lblTx" class="titleField">Tx</label>
No newline at end of file
170 <div class="boxTR" id="divtxtTR">
No newline at end of file
171 {% for lines in arrayTxDown %}
No newline at end of file
172 <div class="fullLine">
No newline at end of file
173 {% if forloop.first %}
No newline at end of file
174 <label for="lblNewSignLeft" class="lblNewSignLeft">[</label>
No newline at end of file
175 {% else %}
No newline at end of file
176 <label for="lblNewSignLeft" class="lblNewSignLeft">&nbsp;</label>
No newline at end of file
177 {% endif %}
No newline at end of file
178 <div class="lineInputsTx">
No newline at end of file
179 <label for="lblSign" class="lblSignTx">[</label>
No newline at end of file
180 <div class="divValuesTx">
No newline at end of file
181 {% for line in lines %}
No newline at end of file
182 <input type="text" name="txtUnitTxDown" class="txtUnitTx" id="txtUnitTxDown_{{ forloop.parentloop.counter0 }}_{{ forloop.counter0 }}" value="{{ line }}" maxlength="1" />
No newline at end of file
183 {% if not forloop.last %},{% endif %}
No newline at end of file
184 {% endfor %}
No newline at end of file
185 </div>
No newline at end of file
186 <label for="lblSign" class="lblSignTx">]</label>
No newline at end of file
187 </div>
No newline at end of file
188 {% if forloop.last %}
No newline at end of file
189 <label for="lblNewSignRight" class="lblNewSignRight">]</label>
No newline at end of file
190 {% else %}
No newline at end of file
191 <label for="lblNewSignRight" class="lblNewSignRight">,</label>
No newline at end of file
192 {% endif %}
No newline at end of file
193 </div>
No newline at end of file
194 <div class="cleardivs"></div>
No newline at end of file
195 {% endfor %}
No newline at end of file
196 </div>
No newline at end of file
197 <div class="cleardivs"></div>
No newline at end of file
198 </div>
No newline at end of file
199 <div class="NewDivTx">
No newline at end of file
200 <label for="lblRx" class="titleField">Rx</label>
No newline at end of file
201 <div class="boxTR" id="divtxtTR">
No newline at end of file
202 {% for lines in arrayRxDown %}
No newline at end of file
203 <div class="fullLine">
No newline at end of file
204 {% if forloop.first %}
No newline at end of file
205 <label for="lblNewSignLeft" class="lblNewSignLeft">[</label>
No newline at end of file
206 {% else %}
No newline at end of file
207 <label for="lblNewSignLeft" class="lblNewSignLeft">&nbsp;</label>
No newline at end of file
208 {% endif %}
No newline at end of file
209 <div class="lineInputsTx">
No newline at end of file
210 <label for="lblSign" class="lblSignTx">[</label>
No newline at end of file
211 <div class="divValuesTx">
No newline at end of file
212 {% for line in lines %}
No newline at end of file
213 <input type="text" name="txtUnitRxDown" class="txtUnitRx" id="txtUnitRxDown_{{ forloop.parentloop.counter0 }}_{{ forloop.counter0 }}" value="{{ line }}" />
No newline at end of file
214 {% if not forloop.last %},{% endif %}
No newline at end of file
215 {% endfor %}
No newline at end of file
216 </div>
No newline at end of file
217 <label for="lblSign" class="lblSignTx">]</label>
No newline at end of file
218 </div>
No newline at end of file
219 {% if forloop.last %}
No newline at end of file
220 <label for="lblNewSignRight" class="lblNewSignRight">]</label>
No newline at end of file
221 {% else %}
No newline at end of file
222 <label for="lblNewSignRight" class="lblNewSignRight">,</label>
No newline at end of file
223 {% endif %}
No newline at end of file
224 </div>
No newline at end of file
225 <div class="cleardivs"></div>
No newline at end of file
226 {% endfor %}
No newline at end of file
227 </div>
No newline at end of file
228 <div class="cleardivs"></div>
No newline at end of file
229 </div>
No newline at end of file
230 <div class="cleardivs"></div>
No newline at end of file
231 <div class="divNewUes">
No newline at end of file
232 <label for="lblUes" class="titleUes">Ues:</label>
No newline at end of file
233 <div class="valueUes">
No newline at end of file
234 <label for="lblUes">[</label>
No newline at end of file
235 {% for element in arrayUesDown %}
No newline at end of file
236 <input type="text" name="unitUesDown_{{ forloop.counter }}" value="{{ element }}" maxlength="8" class="txtUnitUes" />
No newline at end of file
237 {% if not forloop.last %},{% endif %}
No newline at end of file
238 {% endfor %}
No newline at end of file
239 <label for="lblUes">]</label>
No newline at end of file
240 </div>
No newline at end of file
241 </div>
No newline at end of file
242 <input type="hidden" name="txtAntennaDownId" value="{{ antennaDown.id }}" />
No newline at end of file
243 </fieldset>
No newline at end of file
244 <input type="hidden" name="txtAntennaDown" value="" />
No newline at end of file
245 <input type="hidden" name="txtTxDown" value="" />
No newline at end of file
246 <input type="hidden" name="txtRxDown" value="" />
No newline at end of file
247 <input type="hidden" name="txtUesDown" value="" />
No newline at end of file
248 </div>
No newline at end of file
249 <input type="hidden" name="pattern_id" id="pattern_id" value="{{ patternChoosen.id }}" />
No newline at end of file
250 <input type="hidden" name="profile_id" id="profile_id" value="{{ objProfile.id }}" />
No newline at end of file
251 <input type="hidden" name="mode" value="e">
No newline at end of file
252 </form>
No newline at end of file
253 </div>
No newline at end of file
254 {% endblock %} No newline at end of file
@@ -0,0 +1,23
1 {% extends "abscontrol/index.html" %}
No newline at end of file
2 {% block title %}ABS CONTROL:::::IMPORT PROFILE{% endblock %}
No newline at end of file
3 {% block scripting %}
No newline at end of file
4 <script src="/static/static/js/profiles.js"></script>
No newline at end of file
5 {% endblock %}
No newline at end of file
6 {% block mnu_profile %}
No newline at end of file
7 <nav class="MnuHorizontal" id="mnuProfiles">
No newline at end of file
8 <ul>
No newline at end of file
9 <li><a href="/abscontrol/new">New</a></li>
No newline at end of file
10 <li><a href="/abscontrol/import">Import</a></li>
No newline at end of file
11 </ul>
No newline at end of file
12 </nav>
No newline at end of file
13 {% endblock %}
No newline at end of file
14 {% block maincolumn %}
No newline at end of file
15 <div id="maincolumn">
No newline at end of file
16 <div id="divPattern">
No newline at end of file
17 <div class="divUes">
No newline at end of file
18 <label for="lblError">Error:</label>
No newline at end of file
19 <p>{{ txtError }}</p>
No newline at end of file
20 </div>
No newline at end of file
21 </div>
No newline at end of file
22 </div>
No newline at end of file
23 {% endblock %} No newline at end of file
@@ -0,0 +1,22
1 {% extends "abscontrol/index.html" %}
No newline at end of file
2 {% block title %}ABS CONTROL:::::IMPORT PROFILE{% endblock %}
No newline at end of file
3
No newline at end of file
4 {% block mnu_profile %}
No newline at end of file
5 <nav class="MnuHorizontal" id="mnuProfiles">
No newline at end of file
6 <ul>
No newline at end of file
7 <li><a href="#" id="lnkUpload">Upload</a></li>
No newline at end of file
8 <li><a href="#" id="lnkCancel">Cancel</a></li>
No newline at end of file
9 </ul>
No newline at end of file
10 </nav>
No newline at end of file
11 {% endblock %}
No newline at end of file
12 {% block maincolumn %}
No newline at end of file
13 <div id="maincolumn">
No newline at end of file
14 <form name="frmImport" id="frmImport" action="/abscontrol/upload/" method="post" enctype="multipart/form-data">
No newline at end of file
15 {% csrf_token %}
No newline at end of file
16 <div id="divProfile">
No newline at end of file
17 <label for="lblFile">Choose File:</label>
No newline at end of file
18 <input type="file" name="txtFile" />
No newline at end of file
19 </div>
No newline at end of file
20 </form>
No newline at end of file
21 </div>
No newline at end of file
22 {% endblock %} No newline at end of file
@@ -0,0 +1,71
1 {% extends "base.html" %}
No newline at end of file
2
No newline at end of file
3 {% block title %}ABS CONTROL:::::{% endblock %}
No newline at end of file
4 {% block scripting %}
No newline at end of file
5 {% if profile_list %}
No newline at end of file
6 <script src="/static/static/js/profiles.js"></script>
No newline at end of file
7 {% endif %}
No newline at end of file
8 {% endblock %}
No newline at end of file
9 {% block header %}
No newline at end of file
10 <nav id="header">
No newline at end of file
11 <a href="{% url abscontrol.views.index %}" class="selected">ABS</a>
No newline at end of file
12 <a href="#">CR</a>
No newline at end of file
13 <a href="#">DDS</a>
No newline at end of file
14 <a href="#">JARS</a>
No newline at end of file
15 </nav>
No newline at end of file
16 {% endblock %}
No newline at end of file
17 {% block content %}
No newline at end of file
18 <div id="content">
No newline at end of file
19 {% block topcolumn %}
No newline at end of file
20 <div id="topcolumn">
No newline at end of file
21 <div id="lsProfiles">
No newline at end of file
22 <div id="infoProfiles">
No newline at end of file
23 <label for="lblProfile" class="lblInfo">Profiles: </label>
No newline at end of file
24 {% if profile_list %}
No newline at end of file
25 <select name="lsProfiles" id="listProfiles">
No newline at end of file
26 <option value="-1">Choose ...</option>
No newline at end of file
27 {% for entry in profile_list %}
No newline at end of file
28 {% if objProfile %}
No newline at end of file
29 {% if objProfile.id == entry.id %}
No newline at end of file
30 <option value="{{ entry.id }}" selected>{{ entry.name }}</option>
No newline at end of file
31 {% else %}
No newline at end of file
32 <option value="{{ entry.id }}">{{ entry.name }}</option>
No newline at end of file
33 {% endif %}
No newline at end of file
34 {% else %}
No newline at end of file
35 <option value="{{ entry.id }}">{{ entry.name }}</option>
No newline at end of file
36 {% endif %}
No newline at end of file
37 {% endfor %}
No newline at end of file
38 </select>
No newline at end of file
39 {% else %}
No newline at end of file
40 <label for="lblMessage" class="lblInfo">No profiles.</label>
No newline at end of file
41 {% endif %}
No newline at end of file
42 </div>
No newline at end of file
43 </div>
No newline at end of file
44 {% block mnu_profile %}
No newline at end of file
45 <div id="mnuProfiles">
No newline at end of file
46 <nav class="MnuHorizontal" id="navProfiles">
No newline at end of file
47 <ul>
No newline at end of file
48 <li><a href="{% url abscontrol.views.new %}">New</a></li>
No newline at end of file
49 {% if objProfile %}
No newline at end of file
50 <li><a href="{% url abscontrol.views.edit objProfile.id %}">Edit</a></li>
No newline at end of file
51 <li><a href="#">Save</a></li>
No newline at end of file
52 {% endif %}
No newline at end of file
53 <li><a href="{% url abscontrol.views.importProfile %}">Import</a></li>
No newline at end of file
54 {% if objProfile %}
No newline at end of file
55 <li><a href="#" id="lnkExport" alt="{{ objProfile.id }}">Export</a></li>
No newline at end of file
56 <li><a href="#" id="lnkSendFile" alt="{{ objProfile.id }}">Send</a></li>
No newline at end of file
57 {% endif %}
No newline at end of file
58 </ul>
No newline at end of file
59 <div class="cleardivs"></div>
No newline at end of file
60 </nav>
No newline at end of file
61 </div>
No newline at end of file
62 {% endblock %}
No newline at end of file
63 <div class="cleardivs"></div>
No newline at end of file
64 </div>
No newline at end of file
65 {% endblock %}
No newline at end of file
66 {% block maincolumn %}
No newline at end of file
67 <div id="maincolumn" style="height: 50px"></div>
No newline at end of file
68 {% endblock %}
No newline at end of file
69 <div class="cleardivs"></div>
No newline at end of file
70 </div>
No newline at end of file
71 {% endblock %} No newline at end of file
@@ -0,0 +1,264
1 {% extends "abscontrol/index.html" %}
No newline at end of file
2 {% load url from future %}
No newline at end of file
3 {% block title %}ABS CONTROL:::::NEW PROFILE{% endblock %}
No newline at end of file
4 {% block scripting %}
No newline at end of file
5 <script src="/static/static/js/patterns.js"></script>
No newline at end of file
6 {% endblock %}
No newline at end of file
7 {% block maincolumn%}
No newline at end of file
8 <div id="maincolumn">
No newline at end of file
9 <!-- <form action="/abscontrol/{{ profile_id }}/save/" method="post" id="frmPattern"> -->
No newline at end of file
10 <form action="/abscontrol/upgrade/{{ profile_id }}/" method="post" id="frmPattern">
No newline at end of file
11 {% csrf_token %}
No newline at end of file
12 <div id="divProfile">
No newline at end of file
13 <label for="lblName">Profile: {{ profile_name }}</label>
No newline at end of file
14 </div>
No newline at end of file
15 {% block mnuPattern %}
No newline at end of file
16 <div class="divMenu" id="divMnuPattern">
No newline at end of file
17 <nav class="MnuHorizontal">
No newline at end of file
18 <ul class="mnu" id="mnuPattern">
No newline at end of file
19 <li><a href="#" id="lnkSavePattern">Save</a></li>
No newline at end of file
20 </ul>
No newline at end of file
21 </nav>
No newline at end of file
22 </div>
No newline at end of file
23 <div class="cleardivs"></div>
No newline at end of file
24 {% endblock %}
No newline at end of file
25 <div id="divPattern">
No newline at end of file
26 <div id="antennaUp" class="NewAntenna">
No newline at end of file
27 <fieldset class="NewFlsAntenna">
No newline at end of file
28 <legend class="legendAntenna">UP</legend>
No newline at end of file
29 <div class="NewDivAntenna">
No newline at end of file
30 <label for="lblAntenna" class="titleField">Antenna</label>
No newline at end of file
31 <div class="boxAntenna" id="divtxtAntenna">
No newline at end of file
32 {% for i in range %}
No newline at end of file
33 <div class="fullLine">
No newline at end of file
34 {% if i == 0 %}
No newline at end of file
35 <label for="lblSignLeft" class="lblSignLeft">[</label>
No newline at end of file
36 {% else %}
No newline at end of file
37 <label for="lblSignLeft" class="lblSignLeft">&nbsp;</label>
No newline at end of file
38 {% endif %}
No newline at end of file
39 <div class="lineInputs">
No newline at end of file
40 <label for="lblSign" class="lblSign">[</label>
No newline at end of file
41 <div class="divValuesAntenna">
No newline at end of file
42 {% for j in range %}
No newline at end of file
43 <input type="text" name="txtUnitAntennaUp" class="txtUnitAntenna" id="txtUnitAntennaUp_{{ i }}_{{ j }}" value="0.5" maxlength="3" />
No newline at end of file
44 {% if j != 7 %},{% endif %}
No newline at end of file
45 {% endfor %}
No newline at end of file
46 </div>
No newline at end of file
47 <label for="lblSign" class="lblSign">]</label>
No newline at end of file
48 </div>
No newline at end of file
49 {% if i == 7 %}
No newline at end of file
50 <label for="lblSignRight" class="lblSignRight">]</label>
No newline at end of file
51 {% else %}
No newline at end of file
52 <label for="lblSignRight" class="lblSignRight">,</label>
No newline at end of file
53 {% endif %}
No newline at end of file
54 </div>
No newline at end of file
55 <div class="cleardivs"></div>
No newline at end of file
56 {% endfor %}
No newline at end of file
57 </div>
No newline at end of file
58 </div>
No newline at end of file
59 <div class="NewDivTx">
No newline at end of file
60 <label for="lblTx" class="titleField">Tx</label>
No newline at end of file
61 <div class="boxTR" id="divtxtTR">
No newline at end of file
62 {% for i in range %}
No newline at end of file
63 <div class="fullLine">
No newline at end of file
64 {% if i == 0 %}
No newline at end of file
65 <label for="lblNewSignLeft" class="lblNewSignLeft">[</label>
No newline at end of file
66 {% else %}
No newline at end of file
67 <label for="lblNewSignLeft" class="lblNewSignLeft">&nbsp;</label>
No newline at end of file
68 {% endif %}
No newline at end of file
69 <div class="lineInputsTx">
No newline at end of file
70 <label for="lblSign" class="lblSignTx">[</label>
No newline at end of file
71 <div class="divValuesTx">
No newline at end of file
72 {% for j in range %}
No newline at end of file
73 <input type="text" name="txtUnitTxUp" class="txtUnitTx" id="txtUnitTxUp_{{ i }}_{{ j }}" value="1" maxlength="1" />
No newline at end of file
74 {% if j != 7 %},{% endif %}
No newline at end of file
75 {% endfor %}
No newline at end of file
76 </div>
No newline at end of file
77 <label for="lblSign" class="lblSignTx">]</label>
No newline at end of file
78 </div>
No newline at end of file
79 {% if i == 7 %}
No newline at end of file
80 <label for="lblNewSignRight" class="lblNewSignRight">]</label>
No newline at end of file
81 {% else %}
No newline at end of file
82 <label for="lblNewSignRight" class="lblNewSignRight">,</label>
No newline at end of file
83 {% endif %}
No newline at end of file
84 </div>
No newline at end of file
85 <div class="cleardivs"></div>
No newline at end of file
86 {% endfor %}
No newline at end of file
87 </div>
No newline at end of file
88 <div class="cleardivs"></div>
No newline at end of file
89 </div>
No newline at end of file
90 <div class="NewDivTx">
No newline at end of file
91 <label for="lblRx" class="titleField">Rx</label>
No newline at end of file
92 <div class="boxTR" id="divtxtTR">
No newline at end of file
93 {% for i in range %}
No newline at end of file
94 <div class="fullLine">
No newline at end of file
95 {% if i == 0 %}
No newline at end of file
96 <label for="lblNewSignLeft" class="lblNewSignLeft">[</label>
No newline at end of file
97 {% else %}
No newline at end of file
98 <label for="lblNewSignLeft" class="lblNewSignLeft">&nbsp;</label>
No newline at end of file
99 {% endif %}
No newline at end of file
100 <div class="lineInputsTx">
No newline at end of file
101 <label for="lblSign" class="lblSignTx">[</label>
No newline at end of file
102 <div class="divValuesTx">
No newline at end of file
103 {% for j in range %}
No newline at end of file
104 <input type="text" name="txtUnitRxUp" class="txtUnitRx" id="txtUnitRxUp_{{ i }}_{{ j }}" value="0" maxlength="1" />
No newline at end of file
105 {% if j != 7 %},{% endif %}
No newline at end of file
106 {% endfor %}
No newline at end of file
107 </div>
No newline at end of file
108 <label for="lblSign" class="lblSignTx">]</label>
No newline at end of file
109 </div>
No newline at end of file
110 {% if i == 7 %}
No newline at end of file
111 <label for="lblNewSignRight" class="lblNewSignRight">]</label>
No newline at end of file
112 {% else %}
No newline at end of file
113 <label for="lblNewSignRight" class="lblNewSignRight">,</label>
No newline at end of file
114 {% endif %}
No newline at end of file
115 </div>
No newline at end of file
116 <div class="cleardivs"></div>
No newline at end of file
117 {% endfor %}
No newline at end of file
118 </div>
No newline at end of file
119 <div class="cleardivs"></div>
No newline at end of file
120 </div>
No newline at end of file
121 <div class="cleardivs"></div>
No newline at end of file
122 <div class="divNewUes">
No newline at end of file
123 <label for="lblUes" class="titleUes">Ues:</label>
No newline at end of file
124 <div class="valueUes">
No newline at end of file
125 <label for="lblUes">[</label>
No newline at end of file
126 {% for element in arrayUes %}
No newline at end of file
127 <input type="text" name="unitUesUp_{{ forloop.counter }}" value="{{ element }}" maxlength="8" class="txtUnitUes" />
No newline at end of file
128 {% if not forloop.last %},{% endif %}
No newline at end of file
129 {% endfor %}
No newline at end of file
130 <label for="lblUes">]</label>
No newline at end of file
131 </div>
No newline at end of file
132 </div>
No newline at end of file
133 <div class="checkOnly">
No newline at end of file
134 <input type="checkbox" name="chkOnlyRxUp" value="" />
No newline at end of file
135 <label for="lblOnlyRx">Only Rx</label>
No newline at end of file
136 </div>
No newline at end of file
137 </fieldset>
No newline at end of file
138 <input type="hidden" name="txtAntennaUp" value="" />
No newline at end of file
139 <input type="hidden" name="txtTxUp" value="" />
No newline at end of file
140 <input type="hidden" name="txtRxUp" value="" />
No newline at end of file
141 <input type="hidden" name="txtUesUp" value="" />
No newline at end of file
142 </div>
No newline at end of file
143 <div id="antennaDown" class="NewAntenna">
No newline at end of file
144 <fieldset class="NewFlsAntenna">
No newline at end of file
145 <legend class="legendAntenna">DOWN</legend>
No newline at end of file
146 <div class="NewDivAntenna">
No newline at end of file
147 <label for="lblAntenna" class="titleField">Antenna</label>
No newline at end of file
148 <div class="boxAntenna" id="divtxtAntenna">
No newline at end of file
149 {% for i in range %}
No newline at end of file
150 <div class="fullLine">
No newline at end of file
151 {% if i == 0 %}
No newline at end of file
152 <label for="lblSignLeft" class="lblSignLeft">[</label>
No newline at end of file
153 {% else %}
No newline at end of file
154 <label for="lblSignLeft" class="lblSignLeft">&nbsp;</label>
No newline at end of file
155 {% endif %}
No newline at end of file
156 <div class="lineInputs">
No newline at end of file
157 <label for="lblSign" class="lblSign">[</label>
No newline at end of file
158 <div class="divValuesAntenna">
No newline at end of file
159 {% for j in range %}
No newline at end of file
160 <input type="text" name="txtUnitAntennaDown" class="txtUnitAntenna" id="txtUnitAntennaDown_{{ i }}_{{ j }}" value="0.5" maxlength="3" />
No newline at end of file
161 {% if j != 7 %},{% endif %}
No newline at end of file
162 {% endfor %}
No newline at end of file
163 </div>
No newline at end of file
164 <label for="lblSign" class="lblSign">]</label>
No newline at end of file
165 </div>
No newline at end of file
166 {% if i == 7 %}
No newline at end of file
167 <label for="lblSignRight" class="lblSignRight">]</label>
No newline at end of file
168 {% else %}
No newline at end of file
169 <label for="lblSignRight" class="lblSignRight">,</label>
No newline at end of file
170 {% endif %}
No newline at end of file
171 </div>
No newline at end of file
172 <div class="cleardivs"></div>
No newline at end of file
173 {% endfor %}
No newline at end of file
174 </div>
No newline at end of file
175 </div>
No newline at end of file
176 <div class="NewDivTx">
No newline at end of file
177 <label for="lblTx" class="titleField">Tx</label>
No newline at end of file
178 <div class="boxTR" id="divtxtTR">
No newline at end of file
179 {% for i in range %}
No newline at end of file
180 <div class="fullLine">
No newline at end of file
181 {% if i == 0 %}
No newline at end of file
182 <label for="lblNewSignLeft" class="lblNewSignLeft">[</label>
No newline at end of file
183 {% else %}
No newline at end of file
184 <label for="lblNewSignLeft" class="lblNewSignLeft">&nbsp;</label>
No newline at end of file
185 {% endif %}
No newline at end of file
186 <div class="lineInputsTx">
No newline at end of file
187 <label for="lblSign" class="lblSignTx">[</label>
No newline at end of file
188 <div class="divValuesTx">
No newline at end of file
189 {% for j in range %}
No newline at end of file
190 <input type="text" name="txtUnitTxDown" class="txtUnitTx" id="txtUnitTxDown_{{ i }}_{{ j }}" value="1" maxlength="1" />
No newline at end of file
191 {% if j != 7 %},{% endif %}
No newline at end of file
192 {% endfor %}
No newline at end of file
193 </div>
No newline at end of file
194 <label for="lblSign" class="lblSignTx">]</label>
No newline at end of file
195 </div>
No newline at end of file
196 {% if i == 7 %}
No newline at end of file
197 <label for="lblNewSignRight" class="lblNewSignRight">]</label>
No newline at end of file
198 {% else %}
No newline at end of file
199 <label for="lblNewSignRight" class="lblNewSignRight">,</label>
No newline at end of file
200 {% endif %}
No newline at end of file
201 </div>
No newline at end of file
202 <div class="cleardivs"></div>
No newline at end of file
203 {% endfor %}
No newline at end of file
204 </div>
No newline at end of file
205 <div class="cleardivs"></div>
No newline at end of file
206 </div>
No newline at end of file
207 <div class="NewDivTx">
No newline at end of file
208 <label for="lblRx" class="titleField">Rx</label>
No newline at end of file
209 <div class="boxTR" id="divtxtTR">
No newline at end of file
210 {% for i in range %}
No newline at end of file
211 <div class="fullLine">
No newline at end of file
212 {% if i == 0 %}
No newline at end of file
213 <label for="lblNewSignLeft" class="lblNewSignLeft">[</label>
No newline at end of file
214 {% else %}
No newline at end of file
215 <label for="lblNewSignLeft" class="lblNewSignLeft">&nbsp;</label>
No newline at end of file
216 {% endif %}
No newline at end of file
217 <div class="lineInputsTx">
No newline at end of file
218 <label for="lblSign" class="lblSignTx">[</label>
No newline at end of file
219 <div class="divValuesTx">
No newline at end of file
220 {% for j in range %}
No newline at end of file
221 <input type="text" name="txtUnitRxDown" class="txtUnitRx" id="txtUnitRxDown_{{ i }}_{{ j }}" value="0" />
No newline at end of file
222 {% if j != 7 %},{% endif %}
No newline at end of file
223 {% endfor %}
No newline at end of file
224 </div>
No newline at end of file
225 <label for="lblSign" class="lblSignTx">]</label>
No newline at end of file
226 </div>
No newline at end of file
227 {% if i == 7 %}
No newline at end of file
228 <label for="lblNewSignRight" class="lblNewSignRight">]</label>
No newline at end of file
229 {% else %}
No newline at end of file
230 <label for="lblNewSignRight" class="lblNewSignRight">,</label>
No newline at end of file
231 {% endif %}
No newline at end of file
232 </div>
No newline at end of file
233 <div class="cleardivs"></div>
No newline at end of file
234 {% endfor %}
No newline at end of file
235 </div>
No newline at end of file
236 <div class="cleardivs"></div>
No newline at end of file
237 </div>
No newline at end of file
238 <div class="cleardivs"></div>
No newline at end of file
239 <div class="divNewUes">
No newline at end of file
240 <label for="lblUes" class="titleUes">Ues:</label>
No newline at end of file
241 <div class="valueUes">
No newline at end of file
242 <label for="lblUes">[</label>
No newline at end of file
243 {% for element in arrayUes %}
No newline at end of file
244 <input type="text" name="unitUesDown_{{ forloop.counter }}" value="{{ element }}" maxlength="8" class="txtUnitUes" />
No newline at end of file
245 {% if not forloop.last %},{% endif %}
No newline at end of file
246 {% endfor %}
No newline at end of file
247 <label for="lblUes">]</label>
No newline at end of file
248 </div>
No newline at end of file
249 </div>
No newline at end of file
250 <div class="checkOnly">
No newline at end of file
251 <input type="checkbox" name="chkOnlyRxDown" value="" />
No newline at end of file
252 <label for="lblOnlyRx">Only Rx</label>
No newline at end of file
253 </div>
No newline at end of file
254 </fieldset>
No newline at end of file
255 <input type="hidden" name="txtAntennaDown" value="" />
No newline at end of file
256 <input type="hidden" name="txtTxDown" value="" />
No newline at end of file
257 <input type="hidden" name="txtRxDown" value="" />
No newline at end of file
258 <input type="hidden" name="txtUesDown" value="" />
No newline at end of file
259 </div>
No newline at end of file
260 </div>
No newline at end of file
261 <input type="hidden" name="mode" value="e">
No newline at end of file
262 </form>
No newline at end of file
263 </div>
No newline at end of file
264 {% endblock %} No newline at end of file
@@ -0,0 +1,12
1 <div class="overJRO" id="PictureOverJRODown">
No newline at end of file
2 {% if img_down %}
No newline at end of file
3 <img src="/media/{{ img_down }}" />
No newline at end of file
4 {% else %}
No newline at end of file
5 <img />
No newline at end of file
6 {% endif %}
No newline at end of file
7 {% if antennaDown.value != None and antennaDown.tx != None and antennaDown.rx != None and antennaDown.ues != None %}
No newline at end of file
8 <a href="#" class="activeOverJRO" id="Down">Preview</a>
No newline at end of file
9 {% else %}
No newline at end of file
10 <a href="#" class="link-disabled">Preview</a>
No newline at end of file
11 {% endif %}
No newline at end of file
12 </div> No newline at end of file
@@ -0,0 +1,8
1 <div class="overJRO" id="PictureOverJROUp">
No newline at end of file
2 {% if img_up %}<img src="/media/{{ img_up }}" />{% else %}<img />{% endif %}
No newline at end of file
3 {% if antennaUp.value != None and antennaUp.tx != None and antennaUp.rx != None and antennaUp.ues != None %}
No newline at end of file
4 <a href="#" class="activeOverJRO" id="Up">Preview</a>
No newline at end of file
5 {% else %}
No newline at end of file
6 <a href="#" class="link-disabled">Preview</a>
No newline at end of file
7 {% endif %}
No newline at end of file
8 </div> No newline at end of file
@@ -0,0 +1,10
1 {% extends "abscontrol/index.html" %}
No newline at end of file
2 {% block title %}ABS CONTROL:::::SENDING FILE{% endblock %}
No newline at end of file
3
No newline at end of file
4 {% block maincolumn %}
No newline at end of file
5 <div id="maincolumn">
No newline at end of file
6 <div class="divMessage">
No newline at end of file
7 <label>{{ message }}</label>
No newline at end of file
8 </div>
No newline at end of file
9 </div>
No newline at end of file
10 {% endblock %} No newline at end of file
@@ -0,0 +1,141
1 {% extends "abscontrol/index.html" %}
No newline at end of file
2 {% block title %}ABS CONTROL:::PROFILE:::{{ objProfile.name }}{% endblock %}
No newline at end of file
3
No newline at end of file
4 {% block mnu_profile %}
No newline at end of file
5 <nav class="MnuHorizontal" id="mnuProfiles">
No newline at end of file
6 <ul>
No newline at end of file
7 <li><a href="{% url abscontrol.views.new %}">New</a></li>
No newline at end of file
8 {% if patternChoosen %}
No newline at end of file
9 <li><a href="/abscontrol/{{ objProfile.id }}/edit/{{ patternChoosen.id }}">Edit</a></li>
No newline at end of file
10 {% else %}
No newline at end of file
11 <li><a href="/abscontrol/edit/{{ objProfile.id }}">Edit</a></li>
No newline at end of file
12 {% endif %}
No newline at end of file
13 <li><a href="#">Save as</a></li>
No newline at end of file
14 <li><a href="{% url abscontrol.views.importProfile %}">Import</a></li>
No newline at end of file
15 <li><a href="#" id="lnkExport" alt="{{ objProfile.id }}">Export</a></li>
No newline at end of file
16 <li><a href="#" id="lnkSendFile" alt="{{ objProfile.id }}">Send</a></li>
No newline at end of file
17 </ul>
No newline at end of file
18 </nav>
No newline at end of file
19 {% endblock %}
No newline at end of file
20 {% block maincolumn%}
No newline at end of file
21 <div id="maincolumn">
No newline at end of file
22 {% if objProfile.state == 0 %}
No newline at end of file
23 <div id="divProfile">
No newline at end of file
24 <label for="lblName">Profile:</label>
No newline at end of file
25 <label for="lblProfile">{{ objProfile.name }}</label>
No newline at end of file
26 </div>
No newline at end of file
27 {% endif %}
No newline at end of file
28 {% if patternChoosen %}
No newline at end of file
29 <div id="navPatterns">
No newline at end of file
30 <nav class="" id="navPatternList">
No newline at end of file
31 <ul>
No newline at end of file
32 {% for element in lsPatterns %}
No newline at end of file
33 <li>
No newline at end of file
34 {% if patternChoosen.id == element.id %}
No newline at end of file
35 {% if element.is_active == 1 %}
No newline at end of file
36 <a href="/abscontrol/{{ objProfile.id }}/view/{{ element.id }}/" class="lnkPatternSelected lnkPatternActive">{{ element.value }}</a>
No newline at end of file
37 {% else %}
No newline at end of file
38 <a href="/abscontrol/{{ objProfile.id }}/view/{{ element.id }}/" class="lnkPatternSelected">{{ element.value }}</a>
No newline at end of file
39 {% endif %}
No newline at end of file
40 {% else %}
No newline at end of file
41 {% if element.is_active == 1 %}
No newline at end of file
42 <a href="/abscontrol/{{ objProfile.id }}/view/{{ element.id }}/" class="lnkPattern lnkPatternActive">{{ element.value }}</a>
No newline at end of file
43 {% else %}
No newline at end of file
44 <a href="/abscontrol/{{ objProfile.id }}/view/{{ element.id }}/" class="lnkPattern">{{ element.value }}</a>
No newline at end of file
45 {% endif %}
No newline at end of file
46 {% endif %}
No newline at end of file
47 </li>
No newline at end of file
48 {% endfor %}
No newline at end of file
49 </ul>
No newline at end of file
50 <div class="cleardivs"></div>
No newline at end of file
51 </nav>
No newline at end of file
52 </div>
No newline at end of file
53 {% endif %}
No newline at end of file
54 {% block mnuPattern %}
No newline at end of file
55 {% if objProfile.is_active == 1 %}
No newline at end of file
56 <div class="divMenu" id="divMnuPattern">
No newline at end of file
57 <nav class="MnuHorizontal">
No newline at end of file
58 <ul class="mnu" id="mnuPattern">
No newline at end of file
59 <li><a href="#" class="lnkChangePattern">Apply</a></li>
No newline at end of file
60 </ul>
No newline at end of file
61 </nav>
No newline at end of file
62 </div>
No newline at end of file
63 <div class="cleardivs"></div>
No newline at end of file
64 {% endif %}
No newline at end of file
65 {% endblock %}
No newline at end of file
66 <div id="divPattern">
No newline at end of file
67 <div id="infoPattern">
No newline at end of file
68 <div id="antennaUp" class="antenna" style="float: left">
No newline at end of file
69 <fieldset class="flsAntenna">
No newline at end of file
70 <legend class="legendAntenna">UP</legend>
No newline at end of file
71 <div class="infoAntenna">
No newline at end of file
72 <div class="divAntenna">
No newline at end of file
73 <label for="lblAntenna">Antenna</label>
No newline at end of file
74 <p class="view-textAntenna">{{ antennaUp.value }}</p>
No newline at end of file
75 </div>
No newline at end of file
76 <div class="divTx">
No newline at end of file
77 <label for="lblTx">Tx</label>
No newline at end of file
78 <p>{{ antennaUp.tx }}</p>
No newline at end of file
79 </div>
No newline at end of file
80 <div class="divTx">
No newline at end of file
81 <label for="lblRx">Rx</label>
No newline at end of file
82 <p>{{ antennaUp.rx }}</p>
No newline at end of file
83 </div>
No newline at end of file
84 <div class="cleardivs"></div>
No newline at end of file
85 <div class="divUes">
No newline at end of file
86 <label for="lblUes">Ues:</label>
No newline at end of file
87 <label for="lblAntennaUpUes">{{ antennaUp.ues }}</label>
No newline at end of file
88 {% if antennaUp.only_rx == 0 %}
No newline at end of file
89 <input type="checkbox" name="chkOnlyRxUp" value="" />
No newline at end of file
90 {% else %}
No newline at end of file
91 <input type="checkbox" name="chkOnlyRxUp" value="" checked="checked"/>
No newline at end of file
92 {% endif %}
No newline at end of file
93 <label for="lblOnlyRx">Only RX</label>
No newline at end of file
94 </div>
No newline at end of file
95 </div>
No newline at end of file
96 </fieldset>
No newline at end of file
97 </div>
No newline at end of file
98 {% include 'abscontrol/overjro_up.html' %}
No newline at end of file
99 <div class="cleardivs"></div>
No newline at end of file
100
No newline at end of file
101 <div id="antennaDown" class="antenna" style="float: left">
No newline at end of file
102 <fieldset class="flsAntenna">
No newline at end of file
103 <legend class="legendAntenna">DOWN</legend>
No newline at end of file
104 <div class="infoAntenna">
No newline at end of file
105 <div class="divAntenna">
No newline at end of file
106 <label for="lblAntenna">Antenna</label>
No newline at end of file
107 <p class="view-textAntenna">{{ antennaDown.value }}</p>
No newline at end of file
108 </div>
No newline at end of file
109 <div class="divTx">
No newline at end of file
110 <label for="lblTx">Tx</label>
No newline at end of file
111 <p>{{ antennaDown.tx }}</p>
No newline at end of file
112 </div>
No newline at end of file
113 <div class="divTx">
No newline at end of file
114 <label for="lblRx">Rx</label>
No newline at end of file
115 <p>{{ antennaDown.rx }}</p>
No newline at end of file
116 </div>
No newline at end of file
117 <div class="cleardivs"></div>
No newline at end of file
118 <div class="divUes">
No newline at end of file
119 <label for="lblUes">Ues:</label>
No newline at end of file
120 <label for="lblAntennaDownUes">{{ antennaDown.ues }}</label>
No newline at end of file
121 {% if antennaDown.only_rx == 0 %}
No newline at end of file
122 <input type="checkbox" name="chkOnlyRxDown" value="" />
No newline at end of file
123 {% else %}
No newline at end of file
124 <input type="checkbox" name="chkOnlyRxDown" value="" checked="checked"/>
No newline at end of file
125 {% endif %}
No newline at end of file
126 <label for="lblOnlyRx">Only RX</label>
No newline at end of file
127 </div>
No newline at end of file
128 </div>
No newline at end of file
129
No newline at end of file
130 </fieldset>
No newline at end of file
131 </div>
No newline at end of file
132 {% include 'abscontrol/overjro_down.html' %}
No newline at end of file
133 <div class="cleardivs"></div>
No newline at end of file
134 </div>
No newline at end of file
135 <input type="hidden" name="txtAntennaUpId" value="{{ antennaUp.id }}"/>
No newline at end of file
136 <input type="hidden" name="txtAntennaDownId" value="{{ antennaDown.id }}"/>
No newline at end of file
137 <input type="hidden" name="txtPatternId" value="{{ patternChoosen.id }}"/>
No newline at end of file
138 <input type="hidden" name="txtProfileId" value="{{ objProfile.id }}"/>
No newline at end of file
139 </div>
No newline at end of file
140 </div>
No newline at end of file
141 {% endblock %} No newline at end of file
@@ -0,0 +1,1
1 {% extends "abscontrol/view.html" %} No newline at end of file
@@ -0,0 +1,45
1 {% load static %}
No newline at end of file
2 <!DOCTYPE html>
No newline at end of file
3 <html lang="en">
No newline at end of file
4 <head>
No newline at end of file
5 <meta charset="utf-8" />
No newline at end of file
6 {% comment %}
No newline at end of file
7 <!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame
No newline at end of file
8 Remove this if you use the .htaccess -->
No newline at end of file
9 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
No newline at end of file
10 {% endcomment %}
No newline at end of file
11 <link href='http://fonts.googleapis.com/css?family=Droid+Sans|Ubuntu:400,500,300italic|Open+Sans:400,300,600|Open+Sans+Condensed:300,700|Roboto+Condensed:400,300' rel='stylesheet' type='text/css'>
No newline at end of file
12 <link rel="stylesheet" href="{% static 'static/css/style.css' %}" type="text/css" />
No newline at end of file
13 <script src="{% static 'static/js/jquery-1.9.1.min.js' %}"></script>
No newline at end of file
14 {% block scripting %}{% endblock %}
No newline at end of file
15 <title>{% block title %}JRO WEB APPS::::{% endblock %}</title>
No newline at end of file
16 <meta name="description" content="JRO WEB APPLICATIONS" />
No newline at end of file
17 <meta name="author" content="Jose Antonio Sal y Rosas Celi" />
No newline at end of file
18
No newline at end of file
19 {# <meta name="viewport" content="width=device-width; initial-scale=1.0" /> #}
No newline at end of file
20 {% comment %}
No newline at end of file
21 <!-- Replace favicon.ico & apple-touch-icon.png in the root of your domain and delete these references -->
No newline at end of file
22 <link rel="shortcut icon" href="/favicon.ico" />
No newline at end of file
23 <link rel="apple-touch-icon" href="/apple-touch-icon.png" />
No newline at end of file
24 {% endcomment %}
No newline at end of file
25 </head>
No newline at end of file
26 <body>
No newline at end of file
27 <div id="schema">
No newline at end of file
28 <header>
No newline at end of file
29 {% block header %}
No newline at end of file
30 <div id="Main_Head">
No newline at end of file
31 <label class="Main_Title">Jicamarca Radio Observatory</label>
No newline at end of file
32 </div>
No newline at end of file
33 {% endblock %}
No newline at end of file
34 </header>
No newline at end of file
35 {% block content %}
No newline at end of file
36 <div id="content"></div>
No newline at end of file
37 {% endblock %}
No newline at end of file
38 <footer>
No newline at end of file
39 {% block footer %}
No newline at end of file
40 <p>&copy; Copyright 2013 by Jicamarca Radio Observatory</p>
No newline at end of file
41 {% endblock %}
No newline at end of file
42 </footer>
No newline at end of file
43 </div>
No newline at end of file
44 </body>
No newline at end of file
45 </html> No newline at end of file
@@ -0,0 +1,39
1 {% extends "base.html" %}
No newline at end of file
2 {% load url from future %}
No newline at end of file
3
No newline at end of file
4 {% block content %}
No newline at end of file
5 <div id="contentLogin">
No newline at end of file
6 <div class="content_message">
No newline at end of file
7 {% if form.errors %}
No newline at end of file
8 <p>Your username and password didn't match. Please try again.</p>
No newline at end of file
9 {% endif %}
No newline at end of file
10 </div>
No newline at end of file
11 <div id="MainColumnLogin">
No newline at end of file
12 <form method="post" action="{% url 'django.contrib.auth.views.login' %}">
No newline at end of file
13 {% csrf_token %}
No newline at end of file
14 <div class="row_reg">
No newline at end of file
15 <label id="lblTitleLogin">Access</label>
No newline at end of file
16 <div class="cleardivs"></div>
No newline at end of file
17 </div>
No newline at end of file
18 <div class="cleardivs"></div>
No newline at end of file
19 <div class="row_reg">
No newline at end of file
20 <label>{{ form.username.label_tag }}</label>
No newline at end of file
21 {{ form.username }}
No newline at end of file
22 <div class="cleardivs"></div>
No newline at end of file
23 </div>
No newline at end of file
24 <div class="cleardivs"></div>
No newline at end of file
25 <div class="row_reg">
No newline at end of file
26 <label>{{ form.password.label_tag }}</label>
No newline at end of file
27 {{ form.password }}
No newline at end of file
28 <div class="cleardivs"></div>
No newline at end of file
29 </div>
No newline at end of file
30 <div class="cleardivs"></div>
No newline at end of file
31 <div class="row_reg">
No newline at end of file
32 <input type="submit" value="Ok" />
No newline at end of file
33 </div>
No newline at end of file
34 <div class="cleardivs"></div>
No newline at end of file
35 <input type="hidden" name="next" value="{% url 'abscontrol.views.index' %}" />
No newline at end of file
36 </form>
No newline at end of file
37 </div>
No newline at end of file
38 </div>
No newline at end of file
39 {% endblock %} No newline at end of file
@@ -0,0 +1,69
1 '''
No newline at end of file
2 Created on Jun 3, 2013
No newline at end of file
3
No newline at end of file
4 @author: Jose Antonio Sal y Rosas Celi
No newline at end of file
5 @contact: jose.salyrosas@jro.igp.gob.pe
No newline at end of file
6 '''
No newline at end of file
7
No newline at end of file
8 class ABSData(object):
No newline at end of file
9
No newline at end of file
10 __scriptName = "ABSData.py"
No newline at end of file
11
No newline at end of file
12 def __init__(self):
No newline at end of file
13 pass
No newline at end of file
14
No newline at end of file
15 def convertStringtoList2(self, strData):
No newline at end of file
16 if strData != "" or strData != "None" or strData != None:
No newline at end of file
17 lines = strData.split("],[")
No newline at end of file
18 listData = [[0 for i in range(8)] for j in range(8)]
No newline at end of file
19
No newline at end of file
20 for i,line in enumerate(lines):
No newline at end of file
21 if i == 0:
No newline at end of file
22 lines[i] = line.replace("[[","")
No newline at end of file
23 if i == len(lines)-1:
No newline at end of file
24 lines[i] = line.replace("]]","")
No newline at end of file
25 elements = lines[i].split(",")
No newline at end of file
26 for j,element in enumerate(elements):
No newline at end of file
27 listData[i][j] = element
No newline at end of file
28 else:
No newline at end of file
29 listData = [["0","0","0","0","0","0","0","0"],\
No newline at end of file
30 ["0","0","0","0","0","0","0","0"],\
No newline at end of file
31 ["0","0","0","0","0","0","0","0"],\
No newline at end of file
32 ["0","0","0","0","0","0","0","0"],\
No newline at end of file
33 ["0","0","0","0","0","0","0","0"],\
No newline at end of file
34 ["0","0","0","0","0","0","0","0"],\
No newline at end of file
35 ["0","0","0","0","0","0","0","0"],\
No newline at end of file
36 ["0","0","0","0","0","0","0","0"]]
No newline at end of file
37
No newline at end of file
38 return listData
No newline at end of file
39
No newline at end of file
40 def convertStringtoList1(self, strData):
No newline at end of file
41 if strData != "" or strData != "None" or strData != None:
No newline at end of file
42 lines = strData.split(",")
No newline at end of file
43 for i,line in enumerate(lines):
No newline at end of file
44 if i == 0:
No newline at end of file
45 lines[i] = line.replace("[","")
No newline at end of file
46 if i == len(lines)-1:
No newline at end of file
47 lines[i] = line.replace("]","")
No newline at end of file
48
No newline at end of file
49 else:
No newline at end of file
50 lines = ["0","0","0","0"]
No newline at end of file
51
No newline at end of file
52 return lines
No newline at end of file
53
No newline at end of file
54 def printList(self, listData):
No newline at end of file
55 print listData
No newline at end of file
56
No newline at end of file
57
No newline at end of file
58 if __name__ == '__main__':
No newline at end of file
59 strData = "[[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5],[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]," \
No newline at end of file
60 "[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5],[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]," \
No newline at end of file
61 "[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]," \
No newline at end of file
62 "[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]]"
No newline at end of file
63 txtUes = "[0.533333,0.00000,1.06667,0.00000]"
No newline at end of file
64
No newline at end of file
65 data = ABSData()
No newline at end of file
66 listData = data.convertStringtoList2(strData)
No newline at end of file
67 listUes = data.convertStringtoList1(txtUes)
No newline at end of file
68 data.printList(listData)
No newline at end of file
69 data.printList(listUes) No newline at end of file
@@ -0,0 +1,19
1 '''
No newline at end of file
2 Created on Jun 19, 2013
No newline at end of file
3
No newline at end of file
4 @author: Jose Antonio Sal y Rosas Celi
No newline at end of file
5 @contact: jose.salyrosas@jro.igp.gob.pe
No newline at end of file
6 '''
No newline at end of file
7
No newline at end of file
8 from datetime import datetime
No newline at end of file
9
No newline at end of file
10 class Files(object):
No newline at end of file
11
No newline at end of file
12 def setFilename(self):
No newline at end of file
13 return datetime.today().strftime("%Y%m%d%H%M%S%f")
No newline at end of file
14
No newline at end of file
15 def save(self, filename, contentFile):
No newline at end of file
16 f = open(filename, 'a+')
No newline at end of file
17 f.write(contentFile)
No newline at end of file
18 f.close()
No newline at end of file
19 No newline at end of file
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
General Comments 0
You need to be logged in to leave comments. Login now