├── templates
├── pdf_template.html
├── home.html
├── example.html
├── includes
│ ├── _formhelpers.html
│ ├── _messages.html
│ └── _navbar.html
├── billings.html
├── login.html
├── view_amenity.html
├── edit_room.html
├── rooms.html
├── add_room.html
├── register.html
├── admin_rooms.html
├── edit_amenity.html
├── amenities.html
├── add_amenity.html
├── admin_amenities.html
├── generate_bill.html
├── layout.html
├── guests.html
├── about.html
├── bookings.html
└── dashboard.html
├── ERDiagramHotelManagement.png
├── __pycache__
└── app.cpython-36.pyc
├── requirements.txt
├── data.py
├── README.md
├── LICENSE
├── app.py
└── static
└── countries.js
/templates/pdf_template.html:
--------------------------------------------------------------------------------
1 |
Your name is : {{name}}
2 | Your location is: {{location}}
--------------------------------------------------------------------------------
/ERDiagramHotelManagement.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/contactvaibhavi/Online-Hotel-Management-System/HEAD/ERDiagramHotelManagement.png
--------------------------------------------------------------------------------
/__pycache__/app.cpython-36.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/contactvaibhavi/Online-Hotel-Management-System/HEAD/__pycache__/app.cpython-36.pyc
--------------------------------------------------------------------------------
/templates/home.html:
--------------------------------------------------------------------------------
1 | {% extends 'layout.html' %}
2 |
3 | {% block body %}
4 |
8 | {% endblock %}
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
1 | Flask==2.2.3
2 | Flask_MySQLdb==1.0.1
3 | flask_session==0.5.0
4 | Flask_WTF==1.1.1
5 | passlib==1.7.4
6 | pdfkit==1.0.0
7 | python-decouple==3.8
8 | twilio==8.2.2
9 | WTForms==3.0.1
10 |
--------------------------------------------------------------------------------
/templates/example.html:
--------------------------------------------------------------------------------
1 | {% extends 'layout.html' %}
2 |
3 | {% block body %}
4 |
10 | {% endblock %}
--------------------------------------------------------------------------------
/templates/includes/_formhelpers.html:
--------------------------------------------------------------------------------
1 | {% macro render_field(field) %}
2 | {{ field.label }}
3 | {{ field(**kwargs)|safe }}
4 | {% if field.errors %}
5 | {% for error in field.errors %}
6 | {{ error }}
7 | {% endfor %}
8 | {% endif %}
9 | {% endmacro %}
--------------------------------------------------------------------------------
/data.py:
--------------------------------------------------------------------------------
1 | from twilio.rest import Client
2 | from decouple import config
3 |
4 | client = Client(config('TWILIO_ACCOUNT_SID'), config('TWILIO_AUTH_TOKEN'))
5 |
6 | client.messages.create(
7 | to=config('TWILIO_MYPHONE'),
8 | from_=config('TWILIO_NUMBER'),
9 | body='I sent a text message from twilio! ' + u'\U0001f680')
--------------------------------------------------------------------------------
/templates/billings.html:
--------------------------------------------------------------------------------
1 | {% extends 'layout.html' %}
2 |
3 | {% block body %}
4 | Generate Bill for Guest
5 |
6 | {% from "includes/_formhelpers.html" import render_field %}
7 |
14 | {% endblock %}
--------------------------------------------------------------------------------
/templates/includes/_messages.html:
--------------------------------------------------------------------------------
1 | {% with messages = get_flashed_messages(with_categories=true) %}
2 | {% if messages %}
3 | {% for category, message in messages %}
4 | {{message}}
5 | {% endfor %}
6 | {% endif %}
7 | {% endwith %}
8 |
9 | {% if error %}
10 | {{error}}
11 | {% endif %}
12 |
13 | {% if msg %}
14 | {{msg}}
15 | {% endif %}
--------------------------------------------------------------------------------
/templates/login.html:
--------------------------------------------------------------------------------
1 | {% extends 'layout.html' %}
2 |
3 | {% block body %}
4 | Login
5 |
6 |
20 | {% endblock %}
--------------------------------------------------------------------------------
/templates/view_amenity.html:
--------------------------------------------------------------------------------
1 | {% extends 'layout.html' %}
2 |
3 | {% block body %}
4 | {{amenity.a_title}}
5 | ID: {{amenity.a_id}}
6 | Type: {{amenity.a_type}}
7 | Capacity: {{amenity.a_capacity}}
8 | Status: {{amenity.a_status}}
9 |
10 |
11 |
12 |
13 | {{amenity.a_description | safe}}
14 |
15 | {% endblock %}
--------------------------------------------------------------------------------
/templates/edit_room.html:
--------------------------------------------------------------------------------
1 | {% extends 'layout.html' %}
2 |
3 | {% block body %}
4 | Edit Room ID : {{id}}
5 | {% from 'includes/_formhelpers.html' import render_field %}
6 |
21 | {% endblock %}
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Hotel Management System
2 |
3 | #### AIM
4 |
5 | To build a system which makes it easier for the staff to manage the hotel and for the users to access the hotel facilities. The portal manages the bookings made by the guests for hotel facilities like rooms, amenities, restaurant etc.
6 | It also supports Admin privileges through an admin console. It gives options to create, modify and delete the availability of any facility. There is also a Billing facility for the guests.
7 |
8 | #### ER Diagram:
9 |
10 | 
11 |
12 | #### Built with
13 |
14 | Flask, Python, ngrok library for Local web Tunnelling and debugging, Javascript, CSS, HTML, MySQL etc.
15 |
--------------------------------------------------------------------------------
/templates/rooms.html:
--------------------------------------------------------------------------------
1 | {% extends 'layout.html' %}
2 |
3 | {% block body %}
4 | Rooms available
5 |
6 |
7 | ID
8 | Number
9 | Type
10 | Status
11 | Capacity
12 |
13 |
14 |
15 | {% for room in rooms %}
16 |
17 | {{room.r_id}}
18 | {{room.r_number}}
19 | {{room.r_type}}
20 | {{room.r_status}}
21 | {{room.r_capacity}}
22 |
23 | {% if room.r_status == 0 %}
24 | Book
25 | {% else %}
26 | Not Available
27 | {% endif %}
28 |
29 |
30 | {% endfor %}
31 |
32 |
33 | {% endblock %}
--------------------------------------------------------------------------------
/templates/add_room.html:
--------------------------------------------------------------------------------
1 | {% extends 'layout.html' %}
2 |
3 | {% block body %}
4 | Add a Room
5 |
6 | {% from "includes/_formhelpers.html" import render_field %}
7 |
30 | {% endblock %}
--------------------------------------------------------------------------------
/templates/register.html:
--------------------------------------------------------------------------------
1 | {% extends 'layout.html' %}
2 |
3 | {% block body %}
4 | Registration
5 |
6 | {% from "includes/_formhelpers.html" import render_field %}
7 |
30 | {% endblock %}
--------------------------------------------------------------------------------
/templates/admin_rooms.html:
--------------------------------------------------------------------------------
1 | {% extends 'layout.html' %}
2 |
3 | {% block body %}
4 | Rooms Welcome {{session.username}}
5 |
6 | Add a Room
7 |
8 |
9 |
10 |
11 |
12 | ID
13 | Type
14 | Status
15 | Capacity
16 |
17 |
18 |
19 |
20 |
21 | {% for room in rooms %}
22 |
23 | {{room.r_id}}
24 | {{room.r_type}}
25 | {{room.r_status}}
26 | {{room.r_capacity}}
27 |
28 | Edit
29 | Delete
30 |
31 |
32 |
33 | {% endfor %}
34 |
35 | {% endblock %}
--------------------------------------------------------------------------------
/templates/edit_amenity.html:
--------------------------------------------------------------------------------
1 | {% extends 'layout.html' %}
2 |
3 | {% block body %}
4 | Edit this Facility
5 | {% from 'includes/_formhelpers.html' import render_field %}
6 |
30 | {% endblock %}
--------------------------------------------------------------------------------
/templates/amenities.html:
--------------------------------------------------------------------------------
1 | {% extends 'layout.html' %}
2 |
3 | {% block body %}
4 | Facilities available
5 |
6 |
7 | ID
8 | Title
9 | Type
10 |
11 | Capacity
12 | Status
13 |
14 |
15 | {% for amenity in amenities %}
16 |
17 | {{amenity.a_id}}
18 | {{amenity.a_title}}
19 | {{amenity.a_type}}
20 |
21 | {{amenity.a_capacity}}
22 |
23 | {% if amenity.a_status == 0 %}
24 | Book
25 | {% else %}
26 | Not Available
27 | {% endif %}
28 |
29 |
30 | {% endfor %}
31 |
32 |
33 | {% endblock %}
--------------------------------------------------------------------------------
/templates/add_amenity.html:
--------------------------------------------------------------------------------
1 | {% extends 'layout.html' %}
2 |
3 | {% block body %}
4 | Add a Hotel Facility
5 |
6 | {% from "includes/_formhelpers.html" import render_field %}
7 |
36 | {% endblock %}
--------------------------------------------------------------------------------
/templates/admin_amenities.html:
--------------------------------------------------------------------------------
1 | {% extends 'layout.html' %}
2 |
3 | {% block body %}
4 | Facilities Welcome {{session.username}}
5 |
6 | Add a Hotel Facility
7 |
8 |
9 |
10 |
11 |
12 | ID
13 | Title
14 | Type
15 | Status
16 | Capacity
17 |
18 |
19 |
20 |
21 |
22 | {% for amenity in amenities %}
23 |
24 | {{amenity.a_id}}
25 | {{amenity.a_title}}
26 | {{amenity.a_type}}
27 | {{amenity.a_status}}
28 | {{amenity.a_capacity}}
29 |
30 | Edit
31 | View
32 | Delete
33 |
34 |
35 |
36 | {% endfor %}
37 |
38 | {% endblock %}
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2023 Vaibhavi Singh
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/templates/generate_bill.html:
--------------------------------------------------------------------------------
1 | {% extends 'layout.html' %}
2 |
3 | {% block body %}
4 | Bill for Guest ID:
5 | {{guest.g_id}}
6 |
7 | {{guest.g_name}}
8 |
9 |
10 |
11 |
12 | Booking ID
13 | Room ID
14 | Amenity ID
15 | Check In Date
16 | Check Out Date
17 | Type
18 | Charges
19 |
20 |
21 |
22 | {% for i in range(0, len) %}
23 |
24 | {{bookings[i].b_id}}
25 |
26 | {% if bookings[i].r_id == 0 or bookings[i].r_id == '0' %}
27 | N.A.
28 | {% else %}
29 | {{bookings[i].r_id}}
30 | {% endif %}
31 |
32 | {% if bookings[i].a_id == 0 or bookings[i].a_id == '0' %}
33 | N.A.
34 | {% else %}
35 | {{bookings[i].a_id}}
36 | {% endif %}
37 |
38 | {{bookings[i].st}}
39 | {{bookings[i].et}}
40 | {{bookings[i].f_type}}
41 | {{bookings[i].f_cost}}
42 | {% endfor %}
43 |
44 |
45 |
46 |
47 | Total Charges: {{total}}
48 |
49 | {% endblock %}
--------------------------------------------------------------------------------
/templates/layout.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Hotels
7 |
8 |
9 |
10 |
11 |
12 |
17 |
18 |
19 |
20 | {% include 'includes/_navbar.html' %}
21 |
22 |
23 |
24 |
25 | {% include 'includes/_messages.html' %}
26 | {% block body %}
27 |
28 |
29 | {% endblock %}
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/templates/guests.html:
--------------------------------------------------------------------------------
1 | {% extends 'layout.html' %}
2 |
3 | {% block body %}
4 | Guests in the Hotel
5 |
6 |
7 | ID
8 | Name
9 | Email
10 | Count of occupants
11 | Street Address
12 | City
13 | State
14 | Country
15 | Pincode
16 |
17 |
18 |
19 | {% for guest in guests %}
20 |
21 | {{guest.g_id}}
22 | {{guest.g_name}}
23 | {{guest.g_email}}
24 | {{guest.g_count}}
25 | {{guest.g_streetno | safe}}
26 | {{guest.g_city}}
27 | {{guest.g_state}}
28 | {{guest.g_country}}
29 | {{guest.g_pincode}}
30 |
31 | View Bookings
32 |
33 |
34 | {% endfor %}
35 |
36 |
37 | {% endblock %}
--------------------------------------------------------------------------------
/templates/includes/_navbar.html:
--------------------------------------------------------------------------------
1 |
2 | Hotel Management System
3 |
4 |
5 |
6 |
39 |
--------------------------------------------------------------------------------
/templates/about.html:
--------------------------------------------------------------------------------
1 | {% extends 'layout.html' %}
2 |
3 | {% block body %}
4 |
5 |
About Us
6 |
For travellers looking for a truly memorable dream vacation in the sun while enjoying a pristine clean seaside as well as the beauty and history of Dubrovnik, Hotel Neptun located on a Blue Flag beach, is the ideal choice.
7 | Newly renovated Hotel Neptun, situated in Babin Kuk boasts spectacular views overlooking the sea and the Elaphiti Islands. Guests will be sure to enjoy the tastefully decorated, bright and modern decor of Hotel Neptun, consisting of 91 guest rooms and suites all of which offer a variety of amenities.
8 |
9 |
10 |
11 |
12 |
13 | A family holiday in Dubrovnik
14 |
15 |
16 |
17 | Hotel Neptun offers a variety of standard guest rooms, panoramic sea view rooms, spacious family rooms and luxurious premium suites, which include a separate bedroom and bath. Balconies of these rooms offer breath-taking sea views. Along with premium accommodations, this Dubrovnik hotel also offers several dining options. In any one of our three restaurants, guests can enjoy culinary delights prepared by our master chefs. Guests may also relax and enjoy local and international beverages at our On the Rocks Cocktail Bar & Lounge.
18 |
19 | Tour of the Old Town
20 |
21 | Ideally located on the Lapad Peninsula, Hotel Neptun is just over two miles from the Old Town, with easy access from the hotel, guests will be sure to enjoy the Old Town and its many monuments and cultural attractions.
22 |
23 | {% endblock %}
--------------------------------------------------------------------------------
/templates/bookings.html:
--------------------------------------------------------------------------------
1 | {% extends 'layout.html' %}
2 |
3 | {% block body %}
4 |
5 | {% if id[0] == 'R' %}
6 | {{amenity.r_id}}
7 | {% else %}
8 | {{amenity.a_title}}
9 | {% endif %}
10 |
11 |
12 | ID:
13 | {% if id[0] == 'R' %}
14 | {{amenity.r_number}}
15 | {% else %}
16 | {{amenity.a_id}}
17 | {% endif %}
18 |
19 |
20 | Type:
21 | {% if id[0] == 'R' %}
22 | {{amenity.r_type}}
23 | {% else %}
24 | {{amenity.a_type}}
25 | {% endif %}
26 |
27 |
28 | Capacity:
29 | {% if id[0] == 'R' %}
30 | {{amenity.r_capacity}}
31 | {% else %}
32 | {{amenity.a_capacity}}
33 | {% endif %}
34 |
35 |
36 |
43 |
44 |
45 | {% from "includes/_formhelpers.html" import render_field %}
46 |
130 |
131 |
132 | {% endblock %}
--------------------------------------------------------------------------------
/app.py:
--------------------------------------------------------------------------------
1 | from flask import Flask, render_template, make_response, flash, redirect, url_for, session, request, logging
2 | import random
3 | from flask_mysqldb import MySQL
4 | from flask_wtf import Form
5 | from wtforms import DateField, StringField, TextAreaField, PasswordField, validators
6 | from passlib.hash import sha256_crypt
7 | from functools import wraps
8 | import pdfkit
9 | # from twilio.rest import Client
10 | from datetime import date
11 | import os
12 | from os import environ
13 |
14 | app = Flask(__name__)
15 | app.secret_key = os.urandom(32)
16 |
17 | # Config MySQL
18 | app.config['MYSQL_HOST'] = environ.get('MYSQL_HOST')
19 | app.config['MYSQL_USER'] = environ.get('MYSQL_USER')
20 | app.config['MYSQL_PASSWORD'] = environ.get('MYSQL_PASSWORD')
21 | app.config['MYSQL_DB'] = environ.get('MYSQL_DB')
22 | app.config['MYSQL_CURSORCLASS'] = environ.get('MYSQL_CURSORCLASS')
23 |
24 | # init MYSQL
25 | mysql = MySQL(app)
26 |
27 | # Index
28 | @app.route('/')
29 | def index():
30 | if session.get('secret_key'):
31 | print(session['secret_key'])
32 | else:
33 | session['secret_key'] = os.urandom(32)
34 | print("app.config['MYSQL_CURSORCLASS'] = "+ app.config['MYSQL_CURSORCLASS'])
35 |
36 | cur = mysql.connection.cursor()
37 | return render_template('home.html')
38 |
39 | @app.route('/about')
40 | def about():
41 | return render_template('about.html')
42 |
43 | @app.route('/amenities')
44 | def amenities():
45 |
46 | cur=mysql.connection.cursor()
47 |
48 | result=cur.execute("SELECT * FROM amenities")
49 |
50 | amenities = cur.fetchall()
51 |
52 | if result > 0:
53 | return render_template('amenities.html', amenities=amenities)
54 | else:
55 | msg = 'No facilites available currently'
56 | return render_template('amenities.html', msg=msg)
57 |
58 | cur.close()
59 |
60 | @app.route('/rooms')
61 | def rooms():
62 | cur = mysql.connection.cursor()
63 |
64 | result = cur.execute("SELECT * FROM rooms")
65 |
66 | rooms = cur.fetchall()
67 |
68 | if result > 0:
69 | return render_template('rooms.html', rooms=rooms)
70 | else:
71 | msg = 'No rooms available currently'
72 | return render_template('rooms.html', msg=msg)
73 |
74 | @app.route('/view_amenity//')
75 | def view_amenity(id):
76 | cur = mysql.connection.cursor()
77 |
78 | result = cur.execute("SELECT * FROM amenities WHERE a_id = %s", [id])
79 |
80 | amenity = cur.fetchone()
81 |
82 | return render_template('view_amenity.html', amenity=amenity)
83 |
84 | # Register Form Class
85 | class RegisterForm(Form):
86 | name = StringField('Name', [validators.Length(min=1, max=50)])
87 | username = StringField('Username', [validators.Length(min=4, max=25)])
88 | email = StringField('Email', [validators.Length(min=6, max=50)])
89 | password = PasswordField('Password', [
90 | validators.DataRequired(),
91 | validators.Length(min=6, max=150),
92 | validators.EqualTo('confirm', message='Passwords do not match')
93 | ])
94 | confirm = PasswordField('Confirm Password')
95 |
96 |
97 | # User Register
98 | @app.route('/register', methods=['GET', 'POST'])
99 | def register():
100 | # Call Parameterised Constructor to RegisterForm class
101 | # with the data collected from FrontEnd Request
102 | form = RegisterForm(request.form)
103 |
104 |
105 | if request.method == 'POST' and form.validate():
106 | print(form.name.data)
107 | print(form.email.data)
108 | name = form.name.data
109 | email = form.email.data
110 | username = form.username.data
111 |
112 | password = sha256_crypt.encrypt(str(form.password.data))
113 |
114 | # Create cursor
115 | cur = mysql.connection.cursor()
116 |
117 | cur.execute("SELECT * FROM admins")
118 |
119 | rows=cur.fetchall()
120 | #print(rows[0])
121 |
122 | # Execute query
123 | cur.execute("INSERT INTO admins(name, email, username, password) VALUES(%s, %s, %s, %s)", (name, email, username, password))
124 |
125 | # Commit to DB
126 | mysql.connection.commit()
127 |
128 | # Close connection
129 | cur.close()
130 |
131 | flash('You are now registered and can log in', 'success')
132 | return redirect(url_for('login'))
133 | return render_template('register.html', form=form)
134 |
135 |
136 | @app.route('/login', methods=['GET', 'POST'])
137 | def login():
138 | # If the Form is submitted
139 | if request.method == 'POST':
140 | # Get Form Fields
141 | username = request.form['username']
142 | session['username'] = username
143 |
144 | password_candidate = request.form['password']
145 |
146 | # Create cursor
147 | cur = mysql.connection.cursor()
148 |
149 | # Get user by username
150 | result = cur.execute("SELECT * FROM admins WHERE username = %s", [username])
151 |
152 | if result > 0:
153 | # Get stored hash
154 | data = cur.fetchone()
155 | print(data['username'])
156 | password = data['password']
157 |
158 | # Compare Passwords
159 | if sha256_crypt.verify(request.form['password'], password):
160 | print("matched and redirecting....")
161 | # Passed
162 | #app.logger.info('PASSWORD MATCHED')
163 | session['logged_in'] = True
164 | session['username'] = username
165 |
166 | # session['secret_key'] = SECRET_KEY
167 |
168 | flash('Successfully logged in!', 'success')
169 |
170 | return redirect(url_for('dashboard'))
171 |
172 | else:
173 | print("wrong password")
174 | error = 'Invalid login'
175 | app.logger.info('PASSWORD DOES NOT MATCH')
176 | return render_template('login.html', error=error)
177 |
178 | cur.close()
179 |
180 | else:
181 | error = 'Username not found'
182 | app.logger.info('NO SUCH USER')
183 | return render_template('login.html', error=error)
184 |
185 | return render_template('login.html')
186 |
187 | def is_logged_in(f):
188 | @wraps(f)
189 |
190 | def wrap(*args, **kwargs):
191 | if 'logged_in' in session:
192 | return (f(*args, **kwargs))
193 | else:
194 | flash('Unauthorised access!', 'danger')
195 | return redirect(url_for('login'))
196 | return wrap
197 |
198 |
199 | @app.route('/logout')
200 | @is_logged_in
201 | def logout():
202 | session.clear()
203 | flash('You are now logged out', 'success')
204 | return redirect('/')
205 |
206 | @app.route('/dashboard')
207 | @is_logged_in
208 | def dashboard():
209 | return render_template('dashboard.html')
210 |
211 | @app.route('/admin_amenities')
212 | @is_logged_in
213 | def admin_amenities():
214 | cur = mysql.connection.cursor()
215 |
216 | result = cur.execute("SELECT * FROM amenities")
217 |
218 | amenities = cur.fetchall()
219 |
220 | if result > 0:
221 | return render_template('admin_amenities.html', amenities=amenities)
222 | else:
223 | msg = 'No Facilities available'
224 | return render_template('dashboard.html', msg=msg)
225 |
226 | cur.close()
227 | return render_template('admin_amenities.html')
228 |
229 | class AmenityForm(Form):
230 | id = StringField('ID', [validators.Length(min=0, max=5)])
231 | type = StringField('Type', [validators.Length(min=0, max=1)])
232 | status = StringField('Status', [validators.Length(min=0, max=1)])
233 | capacity = StringField('Capacity', [validators.Length(min=0, max=5)])
234 | title = StringField('Title', [validators.Length(min=2, max=200)])
235 | description = TextAreaField('Description', [validators.Length(min=30)])
236 |
237 |
238 | @app.route('/add_amenity', methods=['GET', 'POST'])
239 | @is_logged_in
240 | def add_amenity():
241 | form = AmenityForm()
242 |
243 | if form.validate_on_submit():
244 | print("YES")
245 | idd = form.id.data
246 | print(idd)
247 | type = form.type.data
248 | status = form.status.data
249 | capacity = form.capacity.data
250 | title = form.title.data
251 | description = form.description.data
252 |
253 | cur = mysql.connection.cursor()
254 |
255 | cur.execute("INSERT INTO amenities(a_id, a_type, a_status, a_capacity, a_title, a_description) VALUES(%s, %s, %s, %s, %s, %s)", (idd, type, status, capacity, title, description))
256 |
257 | mysql.connection.commit()
258 |
259 | cur.close()
260 |
261 | flash('Facility Added Successfully', 'success')
262 |
263 | return redirect(url_for('add_amenity'))
264 | print(form.errors)
265 | return render_template('add_amenity.html', form=form)
266 |
267 | @app.route('/edit_amenity/', methods=['GET', 'POST'])
268 | @is_logged_in
269 | def edit_amenity(id):
270 | print("&&&&&FFGTHTRH")
271 | cur = mysql.connection.cursor()
272 |
273 | result = cur.execute("SELECT * FROM amenities WHERE a_id=%s", [id])
274 | print(result)
275 | amenity = cur.fetchone()
276 | print(amenity)
277 | form = AmenityForm()
278 | print(form)
279 |
280 | form.type.data = str(amenity['a_type'])
281 | form.status.data = str(amenity['a_status'])
282 | form.capacity.data = str(amenity['a_capacity'])
283 | form.title.data = str(amenity['a_title'])
284 | form.description.data = amenity['a_description']
285 |
286 | if form.validate_on_submit():
287 | type = request.form['type']
288 | status = request.form['status']
289 | capacity = request.form['capacity']
290 | title = request.form['title']
291 | description = request.form['description']
292 |
293 | cur = mysql.connection.cursor()
294 |
295 | cur.execute("UPDATE amenities SET a_type=%s, a_status=%s, a_capacity=%s, a_title=%s, a_description=%s WHERE a_id=%s", (type, status, capacity, title, description, id))
296 |
297 | mysql.connection.commit()
298 |
299 | cur.close()
300 |
301 | flash('Facility Updated successfully', 'success')
302 |
303 | return redirect(url_for('dashboard'))
304 |
305 | print(form.errors)
306 | return render_template('edit_amenity.html', form=form)
307 |
308 | @app.route('/delete_amenity/', methods=['GET', 'POST'])
309 | @is_logged_in
310 | def delete_amenity(id):
311 | cur=mysql.connection.cursor()
312 |
313 | cur.execute("DELETE FROM amenities WHERE a_id=%s", [id])
314 |
315 | mysql.connection.commit()
316 |
317 | cur.close()
318 |
319 | flash('Facility Deleted', 'success')
320 |
321 | return redirect(url_for('admin_amenities'))
322 |
323 | @app.route('/admin_rooms')
324 | @is_logged_in
325 | def admin_rooms():
326 | cur = mysql.connection.cursor()
327 |
328 | result = cur.execute("SELECT * FROM rooms")
329 |
330 | rooms = cur.fetchall()
331 |
332 | if result > 0:
333 | return render_template('admin_rooms.html', rooms=rooms)
334 | else:
335 | flash('No Rooms available!', 'danger')
336 | redirect(url_for('add_room'))
337 |
338 | cur.close()
339 | return render_template('admin_rooms.html')
340 |
341 | class RoomForm(Form):
342 | id = StringField('ID', [validators.Length(min=3, max=5)])
343 | number = StringField('Room Number', [validators.Length(min=1, max=3)])
344 | type = StringField('Type', [validators.Length(min=1, max=1)])
345 | status = StringField('Status', [validators.Length(min=1, max=1)])
346 | capacity = StringField('Capacity', [validators.Length(min=1, max=2)])
347 |
348 |
349 | @app.route('/add_room', methods=['GET', 'POST'])
350 | @is_logged_in
351 | def add_room():
352 | form = RoomForm(request.form)
353 |
354 | if request.method == 'POST' and form.validate():
355 | id = form.id.data
356 | number = form.number.data
357 | type = form.type.data
358 | status = form.status.data
359 | capacity = form.capacity.data
360 |
361 | cur = mysql.connection.cursor()
362 |
363 | cur.execute("INSERT INTO rooms(r_id, r_number, r_type, r_capacity, r_status) VALUES(%s, %s, %s, %s, %s)", (id, number, type, capacity, status))
364 |
365 | mysql.connection.commit()
366 |
367 | cur.close()
368 |
369 | flash('Room Added Successfully!', 'success')
370 |
371 | return redirect(url_for('add_room'))
372 |
373 | return render_template('add_room.html', form=form)
374 |
375 | @app.route('/edit_room/', methods=['GET', 'POST'])
376 | @is_logged_in
377 | def edit_room(id):
378 | cur = mysql.connection.cursor()
379 |
380 | result = cur.execute("SELECT * FROM rooms WHERE r_id=%s", [id])
381 |
382 | article = cur.fetchone()
383 |
384 | form = RoomForm()
385 |
386 | form.type.data = article['r_type']
387 | form.status.data = article['r_status']
388 | form.capacity.data = article['r_capacity']
389 |
390 | if request.method=='POST':#form.validate_on_submit():
391 | type = request.form['type']
392 | status = request.form['status']
393 | capacity = request.form['capacity']
394 |
395 | cur = mysql.connection.cursor()
396 |
397 | cur.execute("UPDATE rooms SET r_type=%s, r_status=%s, r_capacity=%s WHERE r_id=%s", (type, status, capacity, id))
398 |
399 | mysql.connection.commit()
400 |
401 | cur.close()
402 |
403 | flash('Room Updated successfully', 'success')
404 |
405 | return redirect(url_for('edit_room', id=id))
406 |
407 | return render_template('edit_room.html', form=form, id=id)
408 |
409 | @app.route('/delete_room/', methods=['GET', 'POST'])
410 | @is_logged_in
411 | def delete_room(id):
412 | cur=mysql.connection.cursor()
413 |
414 | cur.execute("DELETE FROM rooms WHERE r_id=%s", [id])
415 |
416 | mysql.connection.commit()
417 |
418 | cur.close()
419 |
420 | flash('Room Deleted', 'success')
421 |
422 | return redirect(url_for('admin_rooms'))
423 |
424 | class DateForm(Form):
425 | dt = DateField('Pick a Date', format="%m/%d/%Y")
426 |
427 |
428 | @app.route('/date', methods=['post','get'])
429 | def home():
430 | form = DateForm()
431 | if form.validate_on_submit():
432 | print(form.dt.data)
433 | return form.dt.data.strftime('%Y-%m-%d')
434 | return render_template('example.html', form=form)
435 |
436 | class BookingForm(Form):
437 | g_id = StringField('Enter your unique Guest ID')
438 | check_in = DateField('Pick a Date', format="%m/%d/%Y")
439 | check_out = DateField('Pick a Date', format="%m/%d/%Y")
440 | status = StringField('Status')
441 | name = StringField('Name', [validators.Length(min=3, max=30)])
442 | count = StringField('No of adults', [validators.Length(min=1, max=1)])
443 | email = StringField('Email', [validators.Length(min=2, max=200)])
444 | streetno = TextAreaField('Street Address', [validators.Length(min=6)])
445 | city = StringField('City', [validators.Length(min=2, max=200)])
446 | state = StringField('State', [validators.Length(min=2, max=200)])
447 | country = StringField('Country', [validators.Length(min=2, max=20)])
448 | pincode = StringField('Pincode', [validators.Length(min=6, max=6)])
449 |
450 |
451 |
452 | @app.route('/bookings/', methods=['GET', 'POST'])
453 | def bookings(id):
454 | global g_id, b_id
455 | b_id = random.randint(1001, 10000)
456 |
457 | cur = mysql.connection.cursor()
458 |
459 | if id[0] == 'R':
460 | result = cur.execute("SELECT * FROM rooms WHERE r_id=%s", [id])
461 | else:
462 | result = cur.execute("SELECT * FROM amenities WHERE a_id=%s", [id])
463 |
464 | amenity = cur.fetchone()
465 |
466 | if id[0] == 'R' and amenity['r_status'] == 1:
467 | return redirect(url_for('rooms'))
468 |
469 | if id[0] != 'R' and amenity['a_status'] == 1:
470 | return redirect(url_for('amenities'))
471 |
472 | form = BookingForm()
473 | print("HERE2")
474 | if request.method=='POST':#form.g_id.validate_on_submit():
475 | print("HERE0")
476 | check_in = form.check_in.data.strftime('%Y-%m-%d')
477 | print(check_in)
478 | if id[0] == 'R':
479 | g_id = random.randint(1, 1000)
480 |
481 | result = cur.execute("SELECT r_type FROM rooms WHERE r_id=%s",[id])
482 | result = cur.fetchone()
483 | f_type = result['r_type']
484 |
485 | result = cur.execute("SELECT cost FROM charges WHERE code = 1 AND type=%s",[f_type])
486 | result = cur.fetchone()
487 | f_cost = result['cost']
488 |
489 | print(f_type, f_cost)
490 |
491 | check_out = form.check_out.data
492 | else:
493 | g_id = form.g_id.data
494 |
495 | result = cur.execute("SELECT a_type FROM amenities WHERE a_id=%s",[id])
496 | result = cur.fetchone()
497 | f_type = result['a_type']
498 |
499 | result = cur.execute("SELECT cost FROM charges WHERE code = 0 AND type=%s",[f_type])
500 | result = cur.fetchone()
501 | f_cost = result['cost']
502 |
503 | print(f_type, f_cost)
504 |
505 | check_out = check_in
506 |
507 | status = 1
508 | name = form.name.data
509 | count = form.count.data
510 | email = form.email.data
511 | streetno = form.streetno.data
512 | city = form.city.data
513 | state = form.state.data
514 | country = form.country.data
515 | pincode = form.pincode.data
516 |
517 | print("hello "+check_in)
518 |
519 |
520 | if id[0] == 'R':
521 | cur.execute("INSERT INTO bookings(b_id, r_id, g_id, b_status, a_id, st, et, f_type, f_cost) VALUES(%s, %s, %s, %s, %s, %s, %s, %s, %s)", (b_id, id, g_id, status, '0', check_in, check_out, f_type, f_cost))
522 | cur.execute("INSERT INTO guests(g_id, g_name, g_email, g_count, g_streetno, g_city, g_state, g_country, g_pincode) VALUES(%s, %s, %s, %s, %s, %s, %s, %s, %s)",(g_id, name, email, count, streetno, city, state, country, pincode))
523 | else:
524 | cur.execute("INSERT INTO bookings(b_id, r_id, g_id, b_status, a_id, st, et, f_type, f_cost) VALUES(%s, %s, %s, %s, %s, %s, %s, %s, %s)", (b_id, '0', g_id, status, id, check_in, check_out, f_type, f_cost))
525 |
526 | mysql.connection.commit()
527 |
528 | cur.close()
529 |
530 | flash('Successfully Booked!', 'success')
531 |
532 | return redirect(url_for('bookings', id=id))
533 |
534 | return render_template('bookings.html', amenity=amenity, id=id, form=form)
535 |
536 | @app.route('/admin_guests')
537 | def admin_guests():
538 |
539 | cur = mysql.connection.cursor()
540 |
541 | result = cur.execute("SELECT * FROM guests")
542 |
543 | guests = cur.fetchall()
544 |
545 | if result > 0:
546 | return render_template('guests.html', guests=guests)
547 | else:
548 | msg = 'No guests in the Hotel currently'
549 | return render_template('guests.html', msg=msg)
550 |
551 | return render_template('guests.html')
552 |
553 | class BillForm(Form):
554 | id = StringField('Guest ID', [validators.Length(min=1, max=5)])
555 |
556 | @app.route('/generate_bill/')
557 | def generate_bill(id):
558 | cur = mysql.connection.cursor()
559 |
560 | result = cur.execute("SELECT * FROM bookings WHERE g_id = %s", [id])
561 |
562 | bookings = cur.fetchall()
563 |
564 | result = cur.execute("SELECT * FROM guests WHERE g_id = %s", [id])
565 |
566 | guest = cur.fetchone()
567 |
568 | #result = cur.execute("SELECT cost FROM charges c WHERE (c.type = (SELECT r_type FROM rooms r, bookings b2 WHERE r.r_id = b2.r_id AND b2.g_id = %s) AND code = 0) OR (c.type = (SELECT a_type FROM amenities a, bookings b2 WHERE a.a_id = b2.a_id AND b2.g_id = %s) AND code = 1)", (id, id))
569 |
570 | #costs = cur.fetchall()
571 |
572 | #print(costs)
573 | #print(len(bookings))
574 |
575 | #result = cur.execute("SELECT sum(cost) as total FROM charges c WHERE (c.type = (SELECT r_type FROM rooms r, bookings b2 WHERE r.r_id = b2.r_id AND b2.g_id = %s) AND code = 0) OR (c.type = (SELECT a_type FROM amenities a, bookings b2 WHERE a.a_id = b2.a_id AND b2.g_id = %s) AND code = 1)", (id, id))
576 |
577 | #total = cur.fetchone()
578 |
579 | total = 0
580 |
581 | for i in range(0, len(bookings)):
582 | total += bookings[i]['f_cost']
583 |
584 | rendered = render_template('generate_bill.html', len=len(bookings), guest=guest, bookings=bookings, total=total)
585 | pdf = pdfkit.from_string(rendered, False)
586 |
587 | response = make_response(pdf)
588 | response.headers['Content-Type'] = 'application/pdf'
589 | response.headers['Content-Disposition'] = 'inline; filename=Bill.pdf'
590 |
591 | return response
592 |
593 |
594 | @app.route('/billings', methods=['GET', 'POST'])
595 | def billings():
596 | form = BillForm()
597 |
598 | if request.method == 'POST':
599 | id = form.id.data
600 | print(id)
601 | return redirect(url_for('generate_bill', id=id))
602 | return render_template('billings.html', form=form)
603 |
604 | if __name__ == '__main__':
605 |
606 | # SECRET_KEY = os.urandom(32)
607 | # app.config['SECRET_KEY'] = SECRET_KEY
608 |
609 | # app.config["SESSION_TYPE"] = "filesystem"
610 | # Session(app)
611 |
612 | SECRET_KEY = os.urandom(32)
613 | app.config['WTF_CSRF_SECRET_KEY']=SECRET_KEY
614 |
615 | app.run(debug = True)
616 |
--------------------------------------------------------------------------------
/templates/dashboard.html:
--------------------------------------------------------------------------------
1 | {% extends 'layout.html' %}
2 |
3 | {% block body %}
4 | Dashboard Welcome {{session.username}}
5 |
6 |
7 | Facilities
8 |
9 | Rooms
10 |
11 | Guests
12 |
13 | Billings
14 |
15 |
16 |
17 |
18 | {% endblock %}
--------------------------------------------------------------------------------
/static/countries.js:
--------------------------------------------------------------------------------
1 | var country_arr = new Array("Afghanistan", "Albania", "Algeria", "American Samoa", "Angola", "Anguilla", "Antartica", "Antigua and Barbuda", "Argentina", "Armenia", "Aruba", "Ashmore and Cartier Island", "Australia", "Austria", "Azerbaijan", "Bahamas", "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium", "Belize", "Benin", "Bermuda", "Bhutan", "Bolivia", "Bosnia and Herzegovina", "Botswana", "Brazil", "British Virgin Islands", "Brunei", "Bulgaria", "Burkina Faso", "Burma", "Burundi", "Cambodia", "Cameroon", "Canada", "Cape Verde", "Cayman Islands", "Central African Republic", "Chad", "Chile", "China", "Christmas Island", "Clipperton Island", "Cocos (Keeling) Islands", "Colombia", "Comoros", "Congo, Democratic Republic of the", "Congo, Republic of the", "Cook Islands", "Costa Rica", "Cote d'Ivoire", "Croatia", "Cuba", "Cyprus", "Czeck Republic", "Denmark", "Djibouti", "Dominica", "Dominican Republic", "Ecuador", "Egypt", "El Salvador", "Equatorial Guinea", "Eritrea", "Estonia", "Ethiopia", "Europa Island", "Falkland Islands (Islas Malvinas)", "Faroe Islands", "Fiji", "Finland", "France", "French Guiana", "French Polynesia", "French Southern and Antarctic Lands", "Gabon", "Gambia, The", "Gaza Strip", "Georgia", "Germany", "Ghana", "Gibraltar", "Glorioso Islands", "Greece", "Greenland", "Grenada", "Guadeloupe", "Guam", "Guatemala", "Guernsey", "Guinea", "Guinea-Bissau", "Guyana", "Haiti", "Heard Island and McDonald Islands", "Holy See (Vatican City)", "Honduras", "Hong Kong", "Howland Island", "Hungary", "Iceland", "India", "Indonesia", "Iran", "Iraq", "Ireland", "Ireland, Northern", "Israel", "Italy", "Jamaica", "Jan Mayen", "Japan", "Jarvis Island", "Jersey", "Johnston Atoll", "Jordan", "Juan de Nova Island", "Kazakhstan", "Kenya", "Kiribati", "Korea, North", "Korea, South", "Kuwait", "Kyrgyzstan", "Laos", "Latvia", "Lebanon", "Lesotho", "Liberia", "Libya", "Liechtenstein", "Lithuania", "Luxembourg", "Macau", "Macedonia, Former Yugoslav Republic of", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Man, Isle of", "Marshall Islands", "Martinique", "Mauritania", "Mauritius", "Mayotte", "Mexico", "Micronesia, Federated States of", "Midway Islands", "Moldova", "Monaco", "Mongolia", "Montserrat", "Morocco", "Mozambique", "Namibia", "Nauru", "Nepal", "Netherlands", "Netherlands Antilles", "New Caledonia", "New Zealand", "Nicaragua", "Niger", "Nigeria", "Niue", "Norfolk Island", "Northern Mariana Islands", "Norway", "Oman", "Pakistan", "Palau", "Panama", "Papua New Guinea", "Paraguay", "Peru", "Philippines", "Pitcaim Islands", "Poland", "Portugal", "Puerto Rico", "Qatar", "Reunion", "Romainia", "Russia", "Rwanda", "Saint Helena", "Saint Kitts and Nevis", "Saint Lucia", "Saint Pierre and Miquelon", "Saint Vincent and the Grenadines", "Samoa", "San Marino", "Sao Tome and Principe", "Saudi Arabia", "Scotland", "Senegal", "Seychelles", "Sierra Leone", "Singapore", "Slovakia", "Slovenia", "Solomon Islands", "Somalia", "South Africa", "South Georgia and South Sandwich Islands", "Spain", "Spratly Islands", "Sri Lanka", "Sudan", "Suriname", "Svalbard", "Swaziland", "Sweden", "Switzerland", "Syria", "Taiwan", "Tajikistan", "Tanzania", "Thailand", "Tobago", "Toga", "Tokelau", "Tonga", "Trinidad", "Tunisia", "Turkey", "Turkmenistan", "Tuvalu", "Uganda", "Ukraine", "United Arab Emirates", "United Kingdom", "Uruguay", "USA", "Uzbekistan", "Vanuatu", "Venezuela", "Vietnam", "Virgin Islands", "Wales", "Wallis and Futuna", "West Bank", "Western Sahara", "Yemen", "Yugoslavia", "Zambia", "Zimbabwe");
2 |
3 | // States
4 | var s_a = new Array();
5 | s_a[0]="";
6 | s_a[1]="Badakhshan|Badghis|Baghlan|Balkh|Bamian|Farah|Faryab|Ghazni|Ghowr|Helmand|Herat|Jowzjan|Kabol|Kandahar|Kapisa|Konar|Kondoz|Laghman|Lowgar|Nangarhar|Nimruz|Oruzgan|Paktia|Paktika|Parvan|Samangan|Sar-e Pol|Takhar|Vardak|Zabol";
7 | s_a[2]="Berat|Bulqize|Delvine|Devoll (Bilisht)|Diber (Peshkopi)|Durres|Elbasan|Fier|Gjirokaster|Gramsh|Has (Krume)|Kavaje|Kolonje (Erseke)|Korce|Kruje|Kucove|Kukes|Kurbin|Lezhe|Librazhd|Lushnje|Malesi e Madhe (Koplik)|Mallakaster (Ballsh)|Mat (Burrel)|Mirdite (Rreshen)|Peqin|Permet|Pogradec|Puke|Sarande|Shkoder|Skrapar (Corovode)|Tepelene|Tirane (Tirana)|Tirane (Tirana)|Tropoje (Bajram Curri)|Vlore";
8 | s_a[3]="Adrar|Ain Defla|Ain Temouchent|Alger|Annaba|Batna|Bechar|Bejaia|Biskra|Blida|Bordj Bou Arreridj|Bouira|Boumerdes|Chlef|Constantine|Djelfa|El Bayadh|El Oued|El Tarf|Ghardaia|Guelma|Illizi|Jijel|Khenchela|Laghouat|M'Sila|Mascara|Medea|Mila|Mostaganem|Naama|Oran|Ouargla|Oum el Bouaghi|Relizane|Saida|Setif|Sidi Bel Abbes|Skikda|Souk Ahras|Tamanghasset|Tebessa|Tiaret|Tindouf|Tipaza|Tissemsilt|Tizi Ouzou|Tlemcen";
9 | s_a[4]="Eastern|Manu'a|Rose Island|Swains Island|Western";
10 | s_a[5]="Andorra la Vella|Bengo|Benguela|Bie|Cabinda|Canillo|Cuando Cubango|Cuanza Norte|Cuanza Sul|Cunene|Encamp|Escaldes-Engordany|Huambo|Huila|La Massana|Luanda|Lunda Norte|Lunda Sul|Malanje|Moxico|Namibe|Ordino|Sant Julia de Loria|Uige|Zaire";
11 | s_a[6]="Anguilla";
12 | s_a[7]="Antartica";
13 | s_a[8]="Barbuda|Redonda|Saint George|Saint John|Saint Mary|Saint Paul|Saint Peter|Saint Philip";
14 | s_a[9]="Antartica e Islas del Atlantico Sur|Buenos Aires|Buenos Aires Capital Federal|Catamarca|Chaco|Chubut|Cordoba|Corrientes|Entre Rios|Formosa|Jujuy|La Pampa|La Rioja|Mendoza|Misiones|Neuquen|Rio Negro|Salta|San Juan|San Luis|Santa Cruz|Santa Fe|Santiago del Estero|Tierra del Fuego|Tucuman";
15 | s_a[10]="Aragatsotn|Ararat|Armavir|Geghark'unik'|Kotayk'|Lorri|Shirak|Syunik'|Tavush|Vayots' Dzor|Yerevan";
16 | s_a[11]="Aruba";
17 | s_a[12]="Ashmore and Cartier Island";
18 | s_a[13]="Australian Capital Territory|New South Wales|Northern Territory|Queensland|South Australia|Tasmania|Victoria|Western Australia";
19 | s_a[14]="Burgenland|Kaernten|Niederoesterreich|Oberoesterreich|Salzburg|Steiermark|Tirol|Vorarlberg|Wien";
20 | s_a[15]="Abseron Rayonu|Agcabadi Rayonu|Agdam Rayonu|Agdas Rayonu|Agstafa Rayonu|Agsu Rayonu|Ali Bayramli Sahari|Astara Rayonu|Baki Sahari|Balakan Rayonu|Barda Rayonu|Beylaqan Rayonu|Bilasuvar Rayonu|Cabrayil Rayonu|Calilabad Rayonu|Daskasan Rayonu|Davaci Rayonu|Fuzuli Rayonu|Gadabay Rayonu|Ganca Sahari|Goranboy Rayonu|Goycay Rayonu|Haciqabul Rayonu|Imisli Rayonu|Ismayilli Rayonu|Kalbacar Rayonu|Kurdamir Rayonu|Lacin Rayonu|Lankaran Rayonu|Lankaran Sahari|Lerik Rayonu|Masalli Rayonu|Mingacevir Sahari|Naftalan Sahari|Naxcivan Muxtar Respublikasi|Neftcala Rayonu|Oguz Rayonu|Qabala Rayonu|Qax Rayonu|Qazax Rayonu|Qobustan Rayonu|Quba Rayonu|Qubadli Rayonu|Qusar Rayonu|Saatli Rayonu|Sabirabad Rayonu|Saki Rayonu|Saki Sahari|Salyan Rayonu|Samaxi Rayonu|Samkir Rayonu|Samux Rayonu|Siyazan Rayonu|Sumqayit Sahari|Susa Rayonu|Susa Sahari|Tartar Rayonu|Tovuz Rayonu|Ucar Rayonu|Xacmaz Rayonu|Xankandi Sahari|Xanlar Rayonu|Xizi Rayonu|Xocali Rayonu|Xocavand Rayonu|Yardimli Rayonu|Yevlax Rayonu|Yevlax Sahari|Zangilan Rayonu|Zaqatala Rayonu|Zardab Rayonu";
21 | s_a[16]="Acklins and Crooked Islands|Bimini|Cat Island|Exuma|Freeport|Fresh Creek|Governor's Harbour|Green Turtle Cay|Harbour Island|High Rock|Inagua|Kemps Bay|Long Island|Marsh Harbour|Mayaguana|New Providence|Nicholls Town and Berry Islands|Ragged Island|Rock Sound|San Salvador and Rum Cay|Sandy Point";
22 | s_a[17]="Al Hadd|Al Manamah|Al Mintaqah al Gharbiyah|Al Mintaqah al Wusta|Al Mintaqah ash Shamaliyah|Al Muharraq|Ar Rifa' wa al Mintaqah al Janubiyah|Jidd Hafs|Juzur Hawar|Madinat 'Isa|Madinat Hamad|Sitrah";
23 | s_a[18]="Barguna|Barisal|Bhola|Jhalokati|Patuakhali|Pirojpur|Bandarban|Brahmanbaria|Chandpur|Chittagong|Comilla|Cox's Bazar|Feni|Khagrachari|Lakshmipur|Noakhali|Rangamati|Dhaka|Faridpur|Gazipur|Gopalganj|Jamalpur|Kishoreganj|Madaripur|Manikganj|Munshiganj|Mymensingh|Narayanganj|Narsingdi|Netrokona|Rajbari|Shariatpur|Sherpur|Tangail|Bagerhat|Chuadanga|Jessore|Jhenaidah|Khulna|Kushtia|Magura|Meherpur|Narail|Satkhira|Bogra|Dinajpur|Gaibandha|Jaipurhat|Kurigram|Lalmonirhat|Naogaon|Natore|Nawabganj|Nilphamari|Pabna|Panchagarh|Rajshahi|Rangpur|Sirajganj|Thakurgaon|Habiganj|Maulvi bazar|Sunamganj|Sylhet";
24 | s_a[19]="Bridgetown|Christ Church|Saint Andrew|Saint George|Saint James|Saint John|Saint Joseph|Saint Lucy|Saint Michael|Saint Peter|Saint Philip|Saint Thomas";
25 | s_a[20]="Brestskaya (Brest)|Homyel'skaya (Homyel')|Horad Minsk|Hrodzyenskaya (Hrodna)|Mahilyowskaya (Mahilyow)|Minskaya|Vitsyebskaya (Vitsyebsk)";
26 | s_a[21]="Antwerpen|Brabant Wallon|Brussels Capitol Region|Hainaut|Liege|Limburg|Luxembourg|Namur|Oost-Vlaanderen|Vlaams Brabant|West-Vlaanderen";
27 | s_a[22]="Belize|Cayo|Corozal|Orange Walk|Stann Creek|Toledo";
28 | s_a[23]="Alibori|Atakora|Atlantique|Borgou|Collines|Couffo|Donga|Littoral|Mono|Oueme|Plateau|Zou";
29 | s_a[24]="Devonshire|Hamilton|Hamilton|Paget|Pembroke|Saint George|Saint Georges|Sandys|Smiths|Southampton|Warwick";
30 | s_a[25]="Bumthang|Chhukha|Chirang|Daga|Geylegphug|Ha|Lhuntshi|Mongar|Paro|Pemagatsel|Punakha|Samchi|Samdrup Jongkhar|Shemgang|Tashigang|Thimphu|Tongsa|Wangdi Phodrang";
31 | s_a[26]="Beni|Chuquisaca|Cochabamba|La Paz|Oruro|Pando|Potosi|Santa Cruz|Tarija";
32 | s_a[27]="Federation of Bosnia and Herzegovina|Republika Srpska";
33 | s_a[28]="Central|Chobe|Francistown|Gaborone|Ghanzi|Kgalagadi|Kgatleng|Kweneng|Lobatse|Ngamiland|North-East|Selebi-Pikwe|South-East|Southern";
34 | s_a[29]="Acre|Alagoas|Amapa|Amazonas|Bahia|Ceara|Distrito Federal|Espirito Santo|Goias|Maranhao|Mato Grosso|Mato Grosso do Sul|Minas Gerais|Para|Paraiba|Parana|Pernambuco|Piaui|Rio de Janeiro|Rio Grande do Norte|Rio Grande do Sul|Rondonia|Roraima|Santa Catarina|Sao Paulo|Sergipe|Tocantins";
35 | s_a[30]="Anegada|Jost Van Dyke|Tortola|Virgin Gorda";
36 | s_a[31]="Belait|Brunei and Muara|Temburong|Tutong";
37 | s_a[32]="Blagoevgrad|Burgas|Dobrich|Gabrovo|Khaskovo|Kurdzhali|Kyustendil|Lovech|Montana|Pazardzhik|Pernik|Pleven|Plovdiv|Razgrad|Ruse|Shumen|Silistra|Sliven|Smolyan|Sofiya|Sofiya-Grad|Stara Zagora|Turgovishte|Varna|Veliko Turnovo|Vidin|Vratsa|Yambol";
38 | s_a[33]="Bale|Bam|Banwa|Bazega|Bougouriba|Boulgou|Boulkiemde|Comoe|Ganzourgou|Gnagna|Gourma|Houet|Ioba|Kadiogo|Kenedougou|Komandjari|Kompienga|Kossi|Koupelogo|Kouritenga|Kourweogo|Leraba|Loroum|Mouhoun|Nahouri|Namentenga|Naumbiel|Nayala|Oubritenga|Oudalan|Passore|Poni|Samentenga|Sanguie|Seno|Sissili|Soum|Sourou|Tapoa|Tuy|Yagha|Yatenga|Ziro|Zondomo|Zoundweogo";
39 | s_a[34]="Ayeyarwady|Bago|Chin State|Kachin State|Kayah State|Kayin State|Magway|Mandalay|Mon State|Rakhine State|Sagaing|Shan State|Tanintharyi|Yangon";
40 | s_a[35]="Bubanza|Bujumbura|Bururi|Cankuzo|Cibitoke|Gitega|Karuzi|Kayanza|Kirundo|Makamba|Muramvya|Muyinga|Mwaro|Ngozi|Rutana|Ruyigi";
41 | s_a[36]="Banteay Mean Cheay|Batdambang|Kampong Cham|Kampong Chhnang|Kampong Spoe|Kampong Thum|Kampot|Kandal|Kaoh Kong|Keb|Kracheh|Mondol Kiri|Otdar Mean Cheay|Pailin|Phnum Penh|Pouthisat|Preah Seihanu (Sihanoukville)|Preah Vihear|Prey Veng|Rotanah Kiri|Siem Reab|Stoeng Treng|Svay Rieng|Takev";
42 | s_a[37]="Adamaoua|Centre|Est|Extreme-Nord|Littoral|Nord|Nord-Ouest|Ouest|Sud|Sud-Ouest";
43 | s_a[38]="Alberta|British Columbia|Manitoba|New Brunswick|Newfoundland|Northwest Territories|Nova Scotia|Nunavut|Ontario|Prince Edward Island|Quebec|Saskatchewan|Yukon Territory";
44 | s_a[39]="Boa Vista|Brava|Maio|Mosteiros|Paul|Porto Novo|Praia|Ribeira Grande|Sal|Santa Catarina|Santa Cruz|Sao Domingos|Sao Filipe|Sao Nicolau|Sao Vicente|Tarrafal";
45 | s_a[40]="Creek|Eastern|Midland|South Town|Spot Bay|Stake Bay|West End|Western";
46 | s_a[41]="Bamingui-Bangoran|Bangui|Basse-Kotto|Gribingui|Haut-Mbomou|Haute-Kotto|Haute-Sangha|Kemo-Gribingui|Lobaye|Mbomou|Nana-Mambere|Ombella-Mpoko|Ouaka|Ouham|Ouham-Pende|Sangha|Vakaga";
47 | s_a[42]="Batha|Biltine|Borkou-Ennedi-Tibesti|Chari-Baguirmi|Guera|Kanem|Lac|Logone Occidental|Logone Oriental|Mayo-Kebbi|Moyen-Chari|Ouaddai|Salamat|Tandjile";
48 | s_a[43]="Aisen del General Carlos Ibanez del Campo|Antofagasta|Araucania|Atacama|Bio-Bio|Coquimbo|Libertador General Bernardo O'Higgins|Los Lagos|Magallanes y de la Antartica Chilena|Maule|Region Metropolitana (Santiago)|Tarapaca|Valparaiso";
49 | s_a[44]="Anhui|Beijing|Chongqing|Fujian|Gansu|Guangdong|Guangxi|Guizhou|Hainan|Hebei|Heilongjiang|Henan|Hubei|Hunan|Jiangsu|Jiangxi|Jilin|Liaoning|Nei Mongol|Ningxia|Qinghai|Shaanxi|Shandong|Shanghai|Shanxi|Sichuan|Tianjin|Xinjiang|Xizang (Tibet)|Yunnan|Zhejiang";
50 | s_a[45]="Christmas Island";
51 | s_a[46]="Clipperton Island";
52 | s_a[47]="Direction Island|Home Island|Horsburgh Island|North Keeling Island|South Island|West Island";
53 | s_a[48]="Amazonas|Antioquia|Arauca|Atlantico|Bolivar|Boyaca|Caldas|Caqueta|Casanare|Cauca|Cesar|Choco|Cordoba|Cundinamarca|Distrito Capital de Santa Fe de Bogota|Guainia|Guaviare|Huila|La Guajira|Magdalena|Meta|Narino|Norte de Santander|Putumayo|Quindio|Risaralda|San Andres y Providencia|Santander|Sucre|Tolima|Valle del Cauca|Vaupes|Vichada";
54 | //
55 | s_a[49]="Anjouan (Nzwani)|Domoni|Fomboni|Grande Comore (Njazidja)|Moheli (Mwali)|Moroni|Moutsamoudou";
56 | s_a[50]="Bandundu|Bas-Congo|Equateur|Kasai-Occidental|Kasai-Oriental|Katanga|Kinshasa|Maniema|Nord-Kivu|Orientale|Sud-Kivu";
57 | s_a[51]="Bouenza|Brazzaville|Cuvette|Kouilou|Lekoumou|Likouala|Niari|Plateaux|Pool|Sangha";
58 | s_a[52]="Aitutaki|Atiu|Avarua|Mangaia|Manihiki|Manuae|Mauke|Mitiaro|Nassau Island|Palmerston|Penrhyn|Pukapuka|Rakahanga|Rarotonga|Suwarrow|Takutea";
59 | s_a[53]="Alajuela|Cartago|Guanacaste|Heredia|Limon|Puntarenas|San Jose";
60 | s_a[54]="Abengourou|Abidjan|Aboisso|Adiake'|Adzope|Agboville|Agnibilekrou|Ale'pe'|Bangolo|Beoumi|Biankouma|Bocanda|Bondoukou|Bongouanou|Bouafle|Bouake|Bouna|Boundiali|Dabakala|Dabon|Daloa|Danane|Daoukro|Dimbokro|Divo|Duekoue|Ferkessedougou|Gagnoa|Grand Bassam|Grand-Lahou|Guiglo|Issia|Jacqueville|Katiola|Korhogo|Lakota|Man|Mankono|Mbahiakro|Odienne|Oume|Sakassou|San-Pedro|Sassandra|Seguela|Sinfra|Soubre|Tabou|Tanda|Tiassale|Tiebissou|Tingrela|Touba|Toulepleu|Toumodi|Vavoua|Yamoussoukro|Zuenoula";
61 | s_a[55]="Bjelovarsko-Bilogorska Zupanija|Brodsko-Posavska Zupanija|Dubrovacko-Neretvanska Zupanija|Istarska Zupanija|Karlovacka Zupanija|Koprivnicko-Krizevacka Zupanija|Krapinsko-Zagorska Zupanija|Licko-Senjska Zupanija|Medimurska Zupanija|Osjecko-Baranjska Zupanija|Pozesko-Slavonska Zupanija|Primorsko-Goranska Zupanija|Sibensko-Kninska Zupanija|Sisacko-Moslavacka Zupanija|Splitsko-Dalmatinska Zupanija|Varazdinska Zupanija|Viroviticko-Podravska Zupanija|Vukovarsko-Srijemska Zupanija|Zadarska Zupanija|Zagreb|Zagrebacka Zupanija";
62 | s_a[56]="Camaguey|Ciego de Avila|Cienfuegos|Ciudad de La Habana|Granma|Guantanamo|Holguin|Isla de la Juventud|La Habana|Las Tunas|Matanzas|Pinar del Rio|Sancti Spiritus|Santiago de Cuba|Villa Clara";
63 | s_a[57]="Famagusta|Kyrenia|Larnaca|Limassol|Nicosia|Paphos";
64 | s_a[58]="Brnensky|Budejovicky|Jihlavsky|Karlovarsky|Kralovehradecky|Liberecky|Olomoucky|Ostravsky|Pardubicky|Plzensky|Praha|Stredocesky|Ustecky|Zlinsky";
65 | s_a[59]="Arhus|Bornholm|Fredericksberg|Frederiksborg|Fyn|Kobenhavn|Kobenhavns|Nordjylland|Ribe|Ringkobing|Roskilde|Sonderjylland|Storstrom|Vejle|Vestsjalland|Viborg";
66 | s_a[60]="'Ali Sabih|Dikhil|Djibouti|Obock|Tadjoura";
67 | s_a[61]="Saint Andrew|Saint David|Saint George|Saint John|Saint Joseph|Saint Luke|Saint Mark|Saint Patrick|Saint Paul|Saint Peter";
68 | s_a[62]="Azua|Baoruco|Barahona|Dajabon|Distrito Nacional|Duarte|El Seibo|Elias Pina|Espaillat|Hato Mayor|Independencia|La Altagracia|La Romana|La Vega|Maria Trinidad Sanchez|Monsenor Nouel|Monte Cristi|Monte Plata|Pedernales|Peravia|Puerto Plata|Salcedo|Samana|San Cristobal|San Juan|San Pedro de Macoris|Sanchez Ramirez|Santiago|Santiago Rodriguez|Valverde";
69 | //
70 | s_a[63]="Azuay|Bolivar|Canar|Carchi|Chimborazo|Cotopaxi|El Oro|Esmeraldas|Galapagos|Guayas|Imbabura|Loja|Los Rios|Manabi|Morona-Santiago|Napo|Orellana|Pastaza|Pichincha|Sucumbios|Tungurahua|Zamora-Chinchipe";
71 | s_a[64]="Ad Daqahliyah|Al Bahr al Ahmar|Al Buhayrah|Al Fayyum|Al Gharbiyah|Al Iskandariyah|Al Isma'iliyah|Al Jizah|Al Minufiyah|Al Minya|Al Qahirah|Al Qalyubiyah|Al Wadi al Jadid|As Suways|Ash Sharqiyah|Aswan|Asyut|Bani Suwayf|Bur Sa'id|Dumyat|Janub Sina'|Kafr ash Shaykh|Matruh|Qina|Shamal Sina'|Suhaj";
72 | s_a[65]="Ahuachapan|Cabanas|Chalatenango|Cuscatlan|La Libertad|La Paz|La Union|Morazan|San Miguel|San Salvador|San Vicente|Santa Ana|Sonsonate|Usulutan";
73 | s_a[66]="Annobon|Bioko Norte|Bioko Sur|Centro Sur|Kie-Ntem|Litoral|Wele-Nzas";
74 | s_a[67]="Akale Guzay|Barka|Denkel|Hamasen|Sahil|Semhar|Senhit|Seraye";
75 | s_a[68]="Harjumaa (Tallinn)|Hiiumaa (Kardla)|Ida-Virumaa (Johvi)|Jarvamaa (Paide)|Jogevamaa (Jogeva)|Laane-Virumaa (Rakvere)|Laanemaa (Haapsalu)|Parnumaa (Parnu)|Polvamaa (Polva)|Raplamaa (Rapla)|Saaremaa (Kuessaare)|Tartumaa (Tartu)|Valgamaa (Valga)|Viljandimaa (Viljandi)|Vorumaa (Voru)"
76 | s_a[69]="Adis Abeba (Addis Ababa)|Afar|Amara|Dire Dawa|Gambela Hizboch|Hareri Hizb|Oromiya|Sumale|Tigray|YeDebub Biheroch Bihereseboch na Hizboch";
77 | s_a[70]="Europa Island";
78 | s_a[71]="Falkland Islands (Islas Malvinas)"
79 | s_a[72]="Bordoy|Eysturoy|Mykines|Sandoy|Skuvoy|Streymoy|Suduroy|Tvoroyri|Vagar";
80 | s_a[73]="Central|Eastern|Northern|Rotuma|Western";
81 | s_a[74]="Aland|Etela-Suomen Laani|Ita-Suomen Laani|Lansi-Suomen Laani|Lappi|Oulun Laani";
82 | s_a[75]="Alsace|Aquitaine|Auvergne|Basse-Normandie|Bourgogne|Bretagne|Centre|Champagne-Ardenne|Corse|Franche-Comte|Haute-Normandie|Ile-de-France|Languedoc-Roussillon|Limousin|Lorraine|Midi-Pyrenees|Nord-Pas-de-Calais|Pays de la Loire|Picardie|Poitou-Charentes|Provence-Alpes-Cote d'Azur|Rhone-Alpes";
83 | s_a[76]="French Guiana";
84 | s_a[77]="Archipel des Marquises|Archipel des Tuamotu|Archipel des Tubuai|Iles du Vent|Iles Sous-le-Vent";
85 | s_a[78]="Adelie Land|Ile Crozet|Iles Kerguelen|Iles Saint-Paul et Amsterdam";
86 | s_a[79]="Estuaire|Haut-Ogooue|Moyen-Ogooue|Ngounie|Nyanga|Ogooue-Ivindo|Ogooue-Lolo|Ogooue-Maritime|Woleu-Ntem";
87 | s_a[80]="Banjul|Central River|Lower River|North Bank|Upper River|Western";
88 | s_a[81]="Gaza Strip";
89 | s_a[82]="Abashis|Abkhazia or Ap'khazet'is Avtonomiuri Respublika (Sokhumi)|Adigenis|Ajaria or Acharis Avtonomiuri Respublika (Bat'umi)|Akhalgoris|Akhalk'alak'is|Akhalts'ikhis|Akhmetis|Ambrolauris|Aspindzis|Baghdat'is|Bolnisis|Borjomis|Ch'khorotsqus|Ch'okhatauris|Chiat'ura|Dedop'listsqaros|Dmanisis|Dushet'is|Gardabanis|Gori|Goris|Gurjaanis|Javis|K'arelis|K'ut'aisi|Kaspis|Kharagaulis|Khashuris|Khobis|Khonis|Lagodekhis|Lanch'khut'is|Lentekhis|Marneulis|Martvilis|Mestiis|Mts'khet'is|Ninotsmindis|Onis|Ozurget'is|P'ot'i|Qazbegis|Qvarlis|Rust'avi|Sach'kheris|Sagarejos|Samtrediis|Senakis|Sighnaghis|T'bilisi|T'elavis|T'erjolis|T'et'ritsqaros|T'ianet'is|Tqibuli|Ts'ageris|Tsalenjikhis|Tsalkis|Tsqaltubo|Vanis|Zestap'onis|Zugdidi|Zugdidis";
90 | s_a[83]="Baden-Wuerttemberg|Bayern|Berlin|Brandenburg|Bremen|Hamburg|Hessen|Mecklenburg-Vorpommern|Niedersachsen|Nordrhein-Westfalen|Rheinland-Pfalz|Saarland|Sachsen|Sachsen-Anhalt|Schleswig-Holstein|Thueringen";
91 | s_a[84]="Ashanti|Brong-Ahafo|Central|Eastern|Greater Accra|Northern|Upper East|Upper West|Volta|Western";
92 | s_a[85]="Gibraltar";
93 | s_a[86]="Ile du Lys|Ile Glorieuse";
94 | s_a[87]="Aitolia kai Akarnania|Akhaia|Argolis|Arkadhia|Arta|Attiki|Ayion Oros (Mt. Athos)|Dhodhekanisos|Drama|Evritania|Evros|Evvoia|Florina|Fokis|Fthiotis|Grevena|Ilia|Imathia|Ioannina|Irakleion|Kardhitsa|Kastoria|Kavala|Kefallinia|Kerkyra|Khalkidhiki|Khania|Khios|Kikladhes|Kilkis|Korinthia|Kozani|Lakonia|Larisa|Lasithi|Lesvos|Levkas|Magnisia|Messinia|Pella|Pieria|Preveza|Rethimni|Rodhopi|Samos|Serrai|Thesprotia|Thessaloniki|Trikala|Voiotia|Xanthi|Zakinthos";
95 | s_a[88]="Avannaa (Nordgronland)|Kitaa (Vestgronland)|Tunu (Ostgronland)"
96 | s_a[89]="Carriacou and Petit Martinique|Saint Andrew|Saint David|Saint George|Saint John|Saint Mark|Saint Patrick";
97 | s_a[90]="Basse-Terre|Grande-Terre|Iles de la Petite Terre|Iles des Saintes|Marie-Galante";
98 | s_a[91]="Guam";
99 | s_a[92]="Alta Verapaz|Baja Verapaz|Chimaltenango|Chiquimula|El Progreso|Escuintla|Guatemala|Huehuetenango|Izabal|Jalapa|Jutiapa|Peten|Quetzaltenango|Quiche|Retalhuleu|Sacatepequez|San Marcos|Santa Rosa|Solola|Suchitepequez|Totonicapan|Zacapa";
100 | s_a[93]="Castel|Forest|St. Andrew|St. Martin|St. Peter Port|St. Pierre du Bois|St. Sampson|St. Saviour|Torteval|Vale";
101 | s_a[94]="Beyla|Boffa|Boke|Conakry|Coyah|Dabola|Dalaba|Dinguiraye|Dubreka|Faranah|Forecariah|Fria|Gaoual|Gueckedou|Kankan|Kerouane|Kindia|Kissidougou|Koubia|Koundara|Kouroussa|Labe|Lelouma|Lola|Macenta|Mali|Mamou|Mandiana|Nzerekore|Pita|Siguiri|Telimele|Tougue|Yomou";
102 | s_a[95]="Bafata|Biombo|Bissau|Bolama-Bijagos|Cacheu|Gabu|Oio|Quinara|Tombali";
103 | s_a[96]="Barima-Waini|Cuyuni-Mazaruni|Demerara-Mahaica|East Berbice-Corentyne|Essequibo Islands-West Demerara|Mahaica-Berbice|Pomeroon-Supenaam|Potaro-Siparuni|Upper Demerara-Berbice|Upper Takutu-Upper Essequibo";
104 | s_a[97]="Artibonite|Centre|Grand'Anse|Nord|Nord-Est|Nord-Ouest|Ouest|Sud|Sud-Est";
105 | s_a[98]="Heard Island and McDonald Islands";
106 | s_a[99]="Holy See (Vatican City)"
107 | s_a[100]="Atlantida|Choluteca|Colon|Comayagua|Copan|Cortes|El Paraiso|Francisco Morazan|Gracias a Dios|Intibuca|Islas de la Bahia|La Paz|Lempira|Ocotepeque|Olancho|Santa Barbara|Valle|Yoro";
108 | s_a[101]="Hong Kong";
109 | s_a[102]="Howland Island";
110 | s_a[103]="Bacs-Kiskun|Baranya|Bekes|Bekescsaba|Borsod-Abauj-Zemplen|Budapest|Csongrad|Debrecen|Dunaujvaros|Eger|Fejer|Gyor|Gyor-Moson-Sopron|Hajdu-Bihar|Heves|Hodmezovasarhely|Jasz-Nagykun-Szolnok|Kaposvar|Kecskemet|Komarom-Esztergom|Miskolc|Nagykanizsa|Nograd|Nyiregyhaza|Pecs|Pest|Somogy|Sopron|Szabolcs-Szatmar-Bereg|Szeged|Szekesfehervar|Szolnok|Szombathely|Tatabanya|Tolna|Vas|Veszprem|Veszprem|Zala|Zalaegerszeg";
111 | s_a[104]="Akranes|Akureyri|Arnessysla|Austur-Bardhastrandarsysla|Austur-Hunavatnssysla|Austur-Skaftafellssysla|Borgarfjardharsysla|Dalasysla|Eyjafjardharsysla|Gullbringusysla|Hafnarfjordhur|Husavik|Isafjordhur|Keflavik|Kjosarsysla|Kopavogur|Myrasysla|Neskaupstadhur|Nordhur-Isafjardharsysla|Nordhur-Mulasys-la|Nordhur-Thingeyjarsysla|Olafsfjordhur|Rangarvallasysla|Reykjavik|Saudharkrokur|Seydhisfjordhur|Siglufjordhur|Skagafjardharsysla|Snaefellsnes-og Hnappadalssysla|Strandasysla|Sudhur-Mulasysla|Sudhur-Thingeyjarsysla|Vesttmannaeyjar|Vestur-Bardhastrandarsysla|Vestur-Hunavatnssysla|Vestur-Isafjardharsysla|Vestur-Skaftafellssysla";
112 | s_a[105]="Andaman and Nicobar Islands|Andhra Pradesh|Arunachal Pradesh|Assam|Bihar|Chandigarh|Chhattisgarh|Dadra and Nagar Haveli|Daman and Diu|Delhi|Goa|Gujarat|Haryana|Himachal Pradesh|Jammu and Kashmir|Jharkhand|Karnataka|Kerala|Lakshadweep|Madhya Pradesh|Maharashtra|Manipur|Meghalaya|Mizoram|Nagaland|Orissa|Pondicherry|Punjab|Rajasthan|Sikkim|Tamil Nadu|Tripura|Uttar Pradesh|Uttaranchal|West Bengal";
113 | s_a[106]="Aceh|Bali|Banten|Bengkulu|East Timor|Gorontalo|Irian Jaya|Jakarta Raya|Jambi|Jawa Barat|Jawa Tengah|Jawa Timur|Kalimantan Barat|Kalimantan Selatan|Kalimantan Tengah|Kalimantan Timur|Kepulauan Bangka Belitung|Lampung|Maluku|Maluku Utara|Nusa Tenggara Barat|Nusa Tenggara Timur|Riau|Sulawesi Selatan|Sulawesi Tengah|Sulawesi Tenggara|Sulawesi Utara|Sumatera Barat|Sumatera Selatan|Sumatera Utara|Yogyakarta";
114 | s_a[107]="Ardabil|Azarbayjan-e Gharbi|Azarbayjan-e Sharqi|Bushehr|Chahar Mahall va Bakhtiari|Esfahan|Fars|Gilan|Golestan|Hamadan|Hormozgan|Ilam|Kerman|Kermanshah|Khorasan|Khuzestan|Kohgiluyeh va Buyer Ahmad|Kordestan|Lorestan|Markazi|Mazandaran|Qazvin|Qom|Semnan|Sistan va Baluchestan|Tehran|Yazd|Zanjan";
115 | s_a[108]="Al Anbar|Al Basrah|Al Muthanna|Al Qadisiyah|An Najaf|Arbil|As Sulaymaniyah|At Ta'mim|Babil|Baghdad|Dahuk|Dhi Qar|Diyala|Karbala'|Maysan|Ninawa|Salah ad Din|Wasit";
116 | s_a[109]="Carlow|Cavan|Clare|Cork|Donegal|Dublin|Galway|Kerry|Kildare|Kilkenny|Laois|Leitrim|Limerick|Longford|Louth|Mayo|Meath|Monaghan|Offaly|Roscommon|Sligo|Tipperary|Waterford|Westmeath|Wexford|Wicklow";
117 | s_a[110]="Antrim|Ards|Armagh|Ballymena|Ballymoney|Banbridge|Belfast|Carrickfergus|Castlereagh|Coleraine|Cookstown|Craigavon|Derry|Down|Dungannon|Fermanagh|Larne|Limavady|Lisburn|Magherafelt|Moyle|Newry and Mourne|Newtownabbey|North Down|Omagh|Strabane";
118 | s_a[111]="Central|Haifa|Jerusalem|Northern|Southern|Tel Aviv";
119 | s_a[112]="Abruzzo|Basilicata|Calabria|Campania|Emilia-Romagna|Friuli-Venezia Giulia|Lazio|Liguria|Lombardia|Marche|Molise|Piemonte|Puglia|Sardegna|Sicilia|Toscana|Trentino-Alto Adige|Umbria|Valle d'Aosta|Veneto";
120 | s_a[113]="Clarendon|Hanover|Kingston|Manchester|Portland|Saint Andrew|Saint Ann|Saint Catherine|Saint Elizabeth|Saint James|Saint Mary|Saint Thomas|Trelawny|Westmoreland";
121 | s_a[114]="Jan Mayen";
122 | s_a[115]="Aichi|Akita|Aomori|Chiba|Ehime|Fukui|Fukuoka|Fukushima|Gifu|Gumma|Hiroshima|Hokkaido|Hyogo|Ibaraki|Ishikawa|Iwate|Kagawa|Kagoshima|Kanagawa|Kochi|Kumamoto|Kyoto|Mie|Miyagi|Miyazaki|Nagano|Nagasaki|Nara|Niigata|Oita|Okayama|Okinawa|Osaka|Saga|Saitama|Shiga|Shimane|Shizuoka|Tochigi|Tokushima|Tokyo|Tottori|Toyama|Wakayama|Yamagata|Yamaguchi|Yamanashi";
123 | s_a[116]="Jarvis Island";
124 | s_a[117]="Jersey";
125 | s_a[118]="Johnston Atoll";
126 | s_a[119]="'Amman|Ajlun|Al 'Aqabah|Al Balqa'|Al Karak|Al Mafraq|At Tafilah|Az Zarqa'|Irbid|Jarash|Ma'an|Madaba";
127 | s_a[120]="Juan de Nova Island";
128 | s_a[121]="Almaty|Aqmola|Aqtobe|Astana|Atyrau|Batys Qazaqstan|Bayqongyr|Mangghystau|Ongtustik Qazaqstan|Pavlodar|Qaraghandy|Qostanay|Qyzylorda|Shyghys Qazaqstan|Soltustik Qazaqstan|Zhambyl";
129 | s_a[122]="Central|Coast|Eastern|Nairobi Area|North Eastern|Nyanza|Rift Valley|Western";
130 | s_a[123]="Abaiang|Abemama|Aranuka|Arorae|Banaba|Banaba|Beru|Butaritari|Central Gilberts|Gilbert Islands|Kanton|Kiritimati|Kuria|Line Islands|Line Islands|Maiana|Makin|Marakei|Nikunau|Nonouti|Northern Gilberts|Onotoa|Phoenix Islands|Southern Gilberts|Tabiteuea|Tabuaeran|Tamana|Tarawa|Tarawa|Teraina";
131 | s_a[124]="Chagang-do (Chagang Province)|Hamgyong-bukto (North Hamgyong Province)|Hamgyong-namdo (South Hamgyong Province)|Hwanghae-bukto (North Hwanghae Province)|Hwanghae-namdo (South Hwanghae Province)|Kaesong-si (Kaesong City)|Kangwon-do (Kangwon Province)|Namp'o-si (Namp'o City)|P'yongan-bukto (North P'yongan Province)|P'yongan-namdo (South P'yongan Province)|P'yongyang-si (P'yongyang City)|Yanggang-do (Yanggang Province)"
132 | s_a[125]="Ch'ungch'ong-bukto|Ch'ungch'ong-namdo|Cheju-do|Cholla-bukto|Cholla-namdo|Inch'on-gwangyoksi|Kangwon-do|Kwangju-gwangyoksi|Kyonggi-do|Kyongsang-bukto|Kyongsang-namdo|Pusan-gwangyoksi|Soul-t'ukpyolsi|Taegu-gwangyoksi|Taejon-gwangyoksi|Ulsan-gwangyoksi";
133 | s_a[126]="Al 'Asimah|Al Ahmadi|Al Farwaniyah|Al Jahra'|Hawalli";
134 | s_a[127]="Batken Oblasty|Bishkek Shaary|Chuy Oblasty (Bishkek)|Jalal-Abad Oblasty|Naryn Oblasty|Osh Oblasty|Talas Oblasty|Ysyk-Kol Oblasty (Karakol)"
135 | s_a[128]="Attapu|Bokeo|Bolikhamxai|Champasak|Houaphan|Khammouan|Louangnamtha|Louangphabang|Oudomxai|Phongsali|Salavan|Savannakhet|Viangchan|Viangchan|Xaignabouli|Xaisomboun|Xekong|Xiangkhoang";
136 | s_a[129]="Aizkraukles Rajons|Aluksnes Rajons|Balvu Rajons|Bauskas Rajons|Cesu Rajons|Daugavpils|Daugavpils Rajons|Dobeles Rajons|Gulbenes Rajons|Jekabpils Rajons|Jelgava|Jelgavas Rajons|Jurmala|Kraslavas Rajons|Kuldigas Rajons|Leipaja|Liepajas Rajons|Limbazu Rajons|Ludzas Rajons|Madonas Rajons|Ogres Rajons|Preilu Rajons|Rezekne|Rezeknes Rajons|Riga|Rigas Rajons|Saldus Rajons|Talsu Rajons|Tukuma Rajons|Valkas Rajons|Valmieras Rajons|Ventspils|Ventspils Rajons";
137 | s_a[130]="Beyrouth|Ech Chimal|Ej Jnoub|El Bekaa|Jabal Loubnane";
138 | s_a[131]="Berea|Butha-Buthe|Leribe|Mafeteng|Maseru|Mohales Hoek|Mokhotlong|Qacha's Nek|Quthing|Thaba-Tseka";
139 | s_a[132]="Bomi|Bong|Grand Bassa|Grand Cape Mount|Grand Gedeh|Grand Kru|Lofa|Margibi|Maryland|Montserrado|Nimba|River Cess|Sinoe";
140 | s_a[133]="Ajdabiya|Al 'Aziziyah|Al Fatih|Al Jabal al Akhdar|Al Jufrah|Al Khums|Al Kufrah|An Nuqat al Khams|Ash Shati'|Awbari|Az Zawiyah|Banghazi|Darnah|Ghadamis|Gharyan|Misratah|Murzuq|Sabha|Sawfajjin|Surt|Tarabulus|Tarhunah|Tubruq|Yafran|Zlitan";
141 | s_a[134]="Balzers|Eschen|Gamprin|Mauren|Planken|Ruggell|Schaan|Schellenberg|Triesen|Triesenberg|Vaduz";
142 | s_a[135]="Akmenes Rajonas|Alytaus Rajonas|Alytus|Anyksciu Rajonas|Birstonas|Birzu Rajonas|Druskininkai|Ignalinos Rajonas|Jonavos Rajonas|Joniskio Rajonas|Jurbarko Rajonas|Kaisiadoriu Rajonas|Kaunas|Kauno Rajonas|Kedainiu Rajonas|Kelmes Rajonas|Klaipeda|Klaipedos Rajonas|Kretingos Rajonas|Kupiskio Rajonas|Lazdiju Rajonas|Marijampole|Marijampoles Rajonas|Mazeikiu Rajonas|Moletu Rajonas|Neringa Pakruojo Rajonas|Palanga|Panevezio Rajonas|Panevezys|Pasvalio Rajonas|Plunges Rajonas|Prienu Rajonas|Radviliskio Rajonas|Raseiniu Rajonas|Rokiskio Rajonas|Sakiu Rajonas|Salcininku Rajonas|Siauliai|Siauliu Rajonas|Silales Rajonas|Silutes Rajonas|Sirvintu Rajonas|Skuodo Rajonas|Svencioniu Rajonas|Taurages Rajonas|Telsiu Rajonas|Traku Rajonas|Ukmerges Rajonas|Utenos Rajonas|Varenos Rajonas|Vilkaviskio Rajonas|Vilniaus Rajonas|Vilnius|Zarasu Rajonas";
143 | s_a[136]="Diekirch|Grevenmacher|Luxembourg";
144 | s_a[137]="Macau";
145 | s_a[138]="Aracinovo|Bac|Belcista|Berovo|Bistrica|Bitola|Blatec|Bogdanci|Bogomila|Bogovinje|Bosilovo|Brvenica|Cair (Skopje)|Capari|Caska|Cegrane|Centar (Skopje)|Centar Zupa|Cesinovo|Cucer-Sandevo|Debar|Delcevo|Delogozdi|Demir Hisar|Demir Kapija|Dobrusevo|Dolna Banjica|Dolneni|Dorce Petrov (Skopje)|Drugovo|Dzepciste|Gazi Baba (Skopje)|Gevgelija|Gostivar|Gradsko|Ilinden|Izvor|Jegunovce|Kamenjane|Karbinci|Karpos (Skopje)|Kavadarci|Kicevo|Kisela Voda (Skopje)|Klecevce|Kocani|Konce|Kondovo|Konopiste|Kosel|Kratovo|Kriva Palanka|Krivogastani|Krusevo|Kuklis|Kukurecani|Kumanovo|Labunista|Lipkovo|Lozovo|Lukovo|Makedonska Kamenica|Makedonski Brod|Mavrovi Anovi|Meseista|Miravci|Mogila|Murtino|Negotino|Negotino-Poloska|Novaci|Novo Selo|Oblesevo|Ohrid|Orasac|Orizari|Oslomej|Pehcevo|Petrovec|Plasnia|Podares|Prilep|Probistip|Radovis|Rankovce|Resen|Rosoman|Rostusa|Samokov|Saraj|Sipkovica|Sopiste|Sopotnika|Srbinovo|Star Dojran|Staravina|Staro Nagoricane|Stip|Struga|Strumica|Studenicani|Suto Orizari (Skopje)|Sveti Nikole|Tearce|Tetovo|Topolcani|Valandovo|Vasilevo|Veles|Velesta|Vevcani|Vinica|Vitoliste|Vranestica|Vrapciste|Vratnica|Vrutok|Zajas|Zelenikovo|Zileno|Zitose|Zletovo|Zrnovci";
146 | s_a[139]="Antananarivo|Antsiranana|Fianarantsoa|Mahajanga|Toamasina|Toliara";
147 | s_a[140]="Balaka|Blantyre|Chikwawa|Chiradzulu|Chitipa|Dedza|Dowa|Karonga|Kasungu|Likoma|Lilongwe|Machinga (Kasupe)|Mangochi|Mchinji|Mulanje|Mwanza|Mzimba|Nkhata Bay|Nkhotakota|Nsanje|Ntcheu|Ntchisi|Phalombe|Rumphi|Salima|Thyolo|Zomba";
148 | s_a[141]="Johor|Kedah|Kelantan|Labuan|Melaka|Negeri Sembilan|Pahang|Perak|Perlis|Pulau Pinang|Sabah|Sarawak|Selangor|Terengganu|Wilayah Persekutuan";
149 | s_a[142]="Alifu|Baa|Dhaalu|Faafu|Gaafu Alifu|Gaafu Dhaalu|Gnaviyani|Haa Alifu|Haa Dhaalu|Kaafu|Laamu|Lhaviyani|Maale|Meemu|Noonu|Raa|Seenu|Shaviyani|Thaa|Vaavu";
150 | s_a[143]="Gao|Kayes|Kidal|Koulikoro|Mopti|Segou|Sikasso|Tombouctou";
151 | s_a[144]="Valletta";
152 | s_a[145]="Man, Isle of";
153 | s_a[146]="Ailinginae|Ailinglaplap|Ailuk|Arno|Aur|Bikar|Bikini|Bokak|Ebon|Enewetak|Erikub|Jabat|Jaluit|Jemo|Kili|Kwajalein|Lae|Lib|Likiep|Majuro|Maloelap|Mejit|Mili|Namorik|Namu|Rongelap|Rongrik|Toke|Ujae|Ujelang|Utirik|Wotho|Wotje";
154 | s_a[147]="Martinique";
155 | s_a[148]="Adrar|Assaba|Brakna|Dakhlet Nouadhibou|Gorgol|Guidimaka|Hodh Ech Chargui|Hodh El Gharbi|Inchiri|Nouakchott|Tagant|Tiris Zemmour|Trarza";
156 | s_a[149]="Agalega Islands|Black River|Cargados Carajos Shoals|Flacq|Grand Port|Moka|Pamplemousses|Plaines Wilhems|Port Louis|Riviere du Rempart|Rodrigues|Savanne";
157 | s_a[150]="Mayotte";
158 | s_a[151]="Aguascalientes|Baja California|Baja California Sur|Campeche|Chiapas|Chihuahua|Coahuila de Zaragoza|Colima|Distrito Federal|Durango|Guanajuato|Guerrero|Hidalgo|Jalisco|Mexico|Michoacan de Ocampo|Morelos|Nayarit|Nuevo Leon|Oaxaca|Puebla|Queretaro de Arteaga|Quintana Roo|San Luis Potosi|Sinaloa|Sonora|Tabasco|Tamaulipas|Tlaxcala|Veracruz-Llave|Yucatan|Zacatecas";
159 | s_a[152]="Chuuk (Truk)|Kosrae|Pohnpei|Yap";
160 | s_a[153]="Midway Islands";
161 | s_a[154]="Balti|Cahul|Chisinau|Chisinau|Dubasari|Edinet|Gagauzia|Lapusna|Orhei|Soroca|Tighina|Ungheni";
162 | s_a[155]="Fontvieille|La Condamine|Monaco-Ville|Monte-Carlo";
163 | s_a[156]="Arhangay|Bayan-Olgiy|Bayanhongor|Bulgan|Darhan|Dornod|Dornogovi|Dundgovi|Dzavhan|Erdenet|Govi-Altay|Hentiy|Hovd|Hovsgol|Omnogovi|Ovorhangay|Selenge|Suhbaatar|Tov|Ulaanbaatar|Uvs";
164 | s_a[157]="Saint Anthony|Saint Georges|Saint Peter's";
165 | s_a[158]="Agadir|Al Hoceima|Azilal|Ben Slimane|Beni Mellal|Boulemane|Casablanca|Chaouen|El Jadida|El Kelaa des Srarhna|Er Rachidia|Essaouira|Fes|Figuig|Guelmim|Ifrane|Kenitra|Khemisset|Khenifra|Khouribga|Laayoune|Larache|Marrakech|Meknes|Nador|Ouarzazate|Oujda|Rabat-Sale|Safi|Settat|Sidi Kacem|Tan-Tan|Tanger|Taounate|Taroudannt|Tata|Taza|Tetouan|Tiznit";
166 | s_a[159]="Cabo Delgado|Gaza|Inhambane|Manica|Maputo|Nampula|Niassa|Sofala|Tete|Zambezia";
167 | s_a[160]="Caprivi|Erongo|Hardap|Karas|Khomas|Kunene|Ohangwena|Okavango|Omaheke|Omusati|Oshana|Oshikoto|Otjozondjupa";
168 | s_a[161]="Aiwo|Anabar|Anetan|Anibare|Baiti|Boe|Buada|Denigomodu|Ewa|Ijuw|Meneng|Nibok|Uaboe|Yaren";
169 | s_a[162]="Bagmati|Bheri|Dhawalagiri|Gandaki|Janakpur|Karnali|Kosi|Lumbini|Mahakali|Mechi|Narayani|Rapti|Sagarmatha|Seti";
170 | s_a[163]="Drenthe|Flevoland|Friesland|Gelderland|Groningen|Limburg|Noord-Brabant|Noord-Holland|Overijssel|Utrecht|Zeeland|Zuid-Holland";
171 | s_a[164]="Netherlands Antilles";
172 | s_a[165]="Iles Loyaute|Nord|Sud";
173 | s_a[166]="Akaroa|Amuri|Ashburton|Bay of Islands|Bruce|Buller|Chatham Islands|Cheviot|Clifton|Clutha|Cook|Dannevirke|Egmont|Eketahuna|Ellesmere|Eltham|Eyre|Featherston|Franklin|Golden Bay|Great Barrier Island|Grey|Hauraki Plains|Hawera|Hawke's Bay|Heathcote|Hikurangi|Hobson|Hokianga|Horowhenua|Hurunui|Hutt|Inangahua|Inglewood|Kaikoura|Kairanga|Kiwitea|Lake|Mackenzie|Malvern|Manaia|Manawatu|Mangonui|Maniototo|Marlborough|Masterton|Matamata|Mount Herbert|Ohinemuri|Opotiki|Oroua|Otamatea|Otorohanga|Oxford|Pahiatua|Paparua|Patea|Piako|Pohangina|Raglan|Rangiora|Rangitikei|Rodney|Rotorua|Runanga|Saint Kilda|Silverpeaks|Southland|Stewart Island|Stratford|Strathallan|Taranaki|Taumarunui|Taupo|Tauranga|Thames-Coromandel|Tuapeka|Vincent|Waiapu|Waiheke|Waihemo|Waikato|Waikohu|Waimairi|Waimarino|Waimate|Waimate West|Waimea|Waipa|Waipawa|Waipukurau|Wairarapa South|Wairewa|Wairoa|Waitaki|Waitomo|Waitotara|Wallace|Wanganui|Waverley|Westland|Whakatane|Whangarei|Whangaroa|Woodville";
174 | s_a[167]="Atlantico Norte|Atlantico Sur|Boaco|Carazo|Chinandega|Chontales|Esteli|Granada|Jinotega|Leon|Madriz|Managua|Masaya|Matagalpa|Nueva Segovia|Rio San Juan|Rivas";
175 | s_a[168]="Agadez|Diffa|Dosso|Maradi|Niamey|Tahoua|Tillaberi|Zinder";
176 | s_a[169]="Abia|Abuja Federal Capital Territory|Adamawa|Akwa Ibom|Anambra|Bauchi|Bayelsa|Benue|Borno|Cross River|Delta|Ebonyi|Edo|Ekiti|Enugu|Gombe|Imo|Jigawa|Kaduna|Kano|Katsina|Kebbi|Kogi|Kwara|Lagos|Nassarawa|Niger|Ogun|Ondo|Osun|Oyo|Plateau|Rivers|Sokoto|Taraba|Yobe|Zamfara";
177 | s_a[170]="Niue";
178 | s_a[171]="Norfolk Island";
179 | s_a[172]="Northern Islands|Rota|Saipan|Tinian";
180 | s_a[173]="Akershus|Aust-Agder|Buskerud|Finnmark|Hedmark|Hordaland|More og Romsdal|Nord-Trondelag|Nordland|Oppland|Oslo|Ostfold|Rogaland|Sogn og Fjordane|Sor-Trondelag|Telemark|Troms|Vest-Agder|Vestfold";
181 | s_a[174]="Ad Dakhiliyah|Al Batinah|Al Wusta|Ash Sharqiyah|Az Zahirah|Masqat|Musandam|Zufar";
182 | s_a[175]="Balochistan|Federally Administered Tribal Areas|Islamabad Capital Territory|North-West Frontier Province|Punjab|Sindh";
183 | s_a[176]="Aimeliik|Airai|Angaur|Hatobohei|Kayangel|Koror|Melekeok|Ngaraard|Ngarchelong|Ngardmau|Ngatpang|Ngchesar|Ngeremlengui|Ngiwal|Palau Island|Peleliu|Sonsoral|Tobi";
184 | s_a[177]="Bocas del Toro|Chiriqui|Cocle|Colon|Darien|Herrera|Los Santos|Panama|San Blas|Veraguas";
185 | s_a[178]="Bougainville|Central|Chimbu|East New Britain|East Sepik|Eastern Highlands|Enga|Gulf|Madang|Manus|Milne Bay|Morobe|National Capital|New Ireland|Northern|Sandaun|Southern Highlands|West New Britain|Western|Western Highlands";
186 | s_a[179]="Alto Paraguay|Alto Parana|Amambay|Asuncion (city)|Boqueron|Caaguazu|Caazapa|Canindeyu|Central|Concepcion|Cordillera|Guaira|Itapua|Misiones|Neembucu|Paraguari|Presidente Hayes|San Pedro";
187 | s_a[180]="Amazonas|Ancash|Apurimac|Arequipa|Ayacucho|Cajamarca|Callao|Cusco|Huancavelica|Huanuco|Ica|Junin|La Libertad|Lambayeque|Lima|Loreto|Madre de Dios|Moquegua|Pasco|Piura|Puno|San Martin|Tacna|Tumbes|Ucayali";
188 | s_a[181]="Abra|Agusan del Norte|Agusan del Sur|Aklan|Albay|Angeles|Antique|Aurora|Bacolod|Bago|Baguio|Bais|Basilan|Basilan City|Bataan|Batanes|Batangas|Batangas City|Benguet|Bohol|Bukidnon|Bulacan|Butuan|Cabanatuan|Cadiz|Cagayan|Cagayan de Oro|Calbayog|Caloocan|Camarines Norte|Camarines Sur|Camiguin|Canlaon|Capiz|Catanduanes|Cavite|Cavite City|Cebu|Cebu City|Cotabato|Dagupan|Danao|Dapitan|Davao City Davao|Davao del Sur|Davao Oriental|Dipolog|Dumaguete|Eastern Samar|General Santos|Gingoog|Ifugao|Iligan|Ilocos Norte|Ilocos Sur|Iloilo|Iloilo City|Iriga|Isabela|Kalinga-Apayao|La Carlota|La Union|Laguna|Lanao del Norte|Lanao del Sur|Laoag|Lapu-Lapu|Legaspi|Leyte|Lipa|Lucena|Maguindanao|Mandaue|Manila|Marawi|Marinduque|Masbate|Mindoro Occidental|Mindoro Oriental|Misamis Occidental|Misamis Oriental|Mountain|Naga|Negros Occidental|Negros Oriental|North Cotabato|Northern Samar|Nueva Ecija|Nueva Vizcaya|Olongapo|Ormoc|Oroquieta|Ozamis|Pagadian|Palawan|Palayan|Pampanga|Pangasinan|Pasay|Puerto Princesa|Quezon|Quezon City|Quirino|Rizal|Romblon|Roxas|Samar|San Carlos (in Negros Occidental)|San Carlos (in Pangasinan)|San Jose|San Pablo|Silay|Siquijor|Sorsogon|South Cotabato|Southern Leyte|Sultan Kudarat|Sulu|Surigao|Surigao del Norte|Surigao del Sur|Tacloban|Tagaytay|Tagbilaran|Tangub|Tarlac|Tawitawi|Toledo|Trece Martires|Zambales|Zamboanga|Zamboanga del Norte|Zamboanga del Sur";
189 | s_a[182]="Pitcaim Islands";
190 | s_a[183]="Dolnoslaskie|Kujawsko-Pomorskie|Lodzkie|Lubelskie|Lubuskie|Malopolskie|Mazowieckie|Opolskie|Podkarpackie|Podlaskie|Pomorskie|Slaskie|Swietokrzyskie|Warminsko-Mazurskie|Wielkopolskie|Zachodniopomorskie";
191 | s_a[184]="Acores (Azores)|Aveiro|Beja|Braga|Braganca|Castelo Branco|Coimbra|Evora|Faro|Guarda|Leiria|Lisboa|Madeira|Portalegre|Porto|Santarem|Setubal|Viana do Castelo|Vila Real|Viseu";
192 | s_a[185]="Adjuntas|Aguada|Aguadilla|Aguas Buenas|Aibonito|Anasco|Arecibo|Arroyo|Barceloneta|Barranquitas|Bayamon|Cabo Rojo|Caguas|Camuy|Canovanas|Carolina|Catano|Cayey|Ceiba|Ciales|Cidra|Coamo|Comerio|Corozal|Culebra|Dorado|Fajardo|Florida|Guanica|Guayama|Guayanilla|Guaynabo|Gurabo|Hatillo|Hormigueros|Humacao|Isabela|Jayuya|Juana Diaz|Juncos|Lajas|Lares|Las Marias|Las Piedras|Loiza|Luquillo|Manati|Maricao|Maunabo|Mayaguez|Moca|Morovis|Naguabo|Naranjito|Orocovis|Patillas|Penuelas|Ponce|Quebradillas|Rincon|Rio Grande|Sabana Grande|Salinas|San German|San Juan|San Lorenzo|San Sebastian|Santa Isabel|Toa Alta|Toa Baja|Trujillo Alto|Utuado|Vega Alta|Vega Baja|Vieques|Villalba|Yabucoa|Yauco";
193 | s_a[186]="Ad Dawhah|Al Ghuwayriyah|Al Jumayliyah|Al Khawr|Al Wakrah|Ar Rayyan|Jarayan al Batinah|Madinat ash Shamal|Umm Salal";
194 | s_a[187]="Reunion";
195 | s_a[188]="Alba|Arad|Arges|Bacau|Bihor|Bistrita-Nasaud|Botosani|Braila|Brasov|Bucuresti|Buzau|Calarasi|Caras-Severin|Cluj|Constanta|Covasna|Dimbovita|Dolj|Galati|Giurgiu|Gorj|Harghita|Hunedoara|Ialomita|Iasi|Maramures|Mehedinti|Mures|Neamt|Olt|Prahova|Salaj|Satu Mare|Sibiu|Suceava|Teleorman|Timis|Tulcea|Vaslui|Vilcea|Vrancea";
196 | s_a[189]="Adygeya (Maykop)|Aginskiy Buryatskiy (Aginskoye)|Altay (Gorno-Altaysk)|Altayskiy (Barnaul)|Amurskaya (Blagoveshchensk)|Arkhangel'skaya|Astrakhanskaya|Bashkortostan (Ufa)|Belgorodskaya|Bryanskaya|Buryatiya (Ulan-Ude)|Chechnya (Groznyy)|Chelyabinskaya|Chitinskaya|Chukotskiy (Anadyr')|Chuvashiya (Cheboksary)|Dagestan (Makhachkala)|Evenkiyskiy (Tura)|Ingushetiya (Nazran')|Irkutskaya|Ivanovskaya|Kabardino-Balkariya (Nal'chik)|Kaliningradskaya|Kalmykiya (Elista)|Kaluzhskaya|Kamchatskaya (Petropavlovsk-Kamchatskiy)|Karachayevo-Cherkesiya (Cherkessk)|Kareliya (Petrozavodsk)|Kemerovskaya|Khabarovskiy|Khakasiya (Abakan)|Khanty-Mansiyskiy (Khanty-Mansiysk)|Kirovskaya|Komi (Syktyvkar)|Komi-Permyatskiy (Kudymkar)|Koryakskiy (Palana)|Kostromskaya|Krasnodarskiy|Krasnoyarskiy|Kurganskaya|Kurskaya|Leningradskaya|Lipetskaya|Magadanskaya|Mariy-El (Yoshkar-Ola)|Mordoviya (Saransk)|Moskovskaya|Moskva (Moscow)|Murmanskaya|Nenetskiy (Nar'yan-Mar)|Nizhegorodskaya|Novgorodskaya|Novosibirskaya|Omskaya|Orenburgskaya|Orlovskaya (Orel)|Penzenskaya|Permskaya|Primorskiy (Vladivostok)|Pskovskaya|Rostovskaya|Ryazanskaya|Sakha (Yakutsk)|Sakhalinskaya (Yuzhno-Sakhalinsk)|Samarskaya|Sankt-Peterburg (Saint Petersburg)|Saratovskaya|Severnaya Osetiya-Alaniya [North Ossetia] (Vladikavkaz)|Smolenskaya|Stavropol'skiy|Sverdlovskaya (Yekaterinburg)|Tambovskaya|Tatarstan (Kazan')|Taymyrskiy (Dudinka)|Tomskaya|Tul'skaya|Tverskaya|Tyumenskaya|Tyva (Kyzyl)|Udmurtiya (Izhevsk)|Ul'yanovskaya|Ust'-Ordynskiy Buryatskiy (Ust'-Ordynskiy)|Vladimirskaya|Volgogradskaya|Vologodskaya|Voronezhskaya|Yamalo-Nenetskiy (Salekhard)|Yaroslavskaya|Yevreyskaya";
197 | s_a[190]="Butare|Byumba|Cyangugu|Gikongoro|Gisenyi|Gitarama|Kibungo|Kibuye|Kigali Rurale|Kigali-ville|Ruhengeri|Umutara";
198 | s_a[191]="Ascension|Saint Helena|Tristan da Cunha";
199 | s_a[192]="Christ Church Nichola Town|Saint Anne Sandy Point|Saint George Basseterre|Saint George Gingerland|Saint James Windward|Saint John Capisterre|Saint John Figtree|Saint Mary Cayon|Saint Paul Capisterre|Saint Paul Charlestown|Saint Peter Basseterre|Saint Thomas Lowland|Saint Thomas Middle Island|Trinity Palmetto Point";
200 | s_a[193]="Anse-la-Raye|Castries|Choiseul|Dauphin|Dennery|Gros Islet|Laborie|Micoud|Praslin|Soufriere|Vieux Fort";
201 | s_a[194]="Miquelon|Saint Pierre";
202 | s_a[195]="Charlotte|Grenadines|Saint Andrew|Saint David|Saint George|Saint Patrick";
203 | s_a[196]="A'ana|Aiga-i-le-Tai|Atua|Fa'asaleleaga|Gaga'emauga|Gagaifomauga|Palauli|Satupa'itea|Tuamasaga|Va'a-o-Fonoti|Vaisigano";
204 | s_a[197]="Acquaviva|Borgo Maggiore|Chiesanuova|Domagnano|Faetano|Fiorentino|Monte Giardino|San Marino|Serravalle";
205 | s_a[198]="Principe|Sao Tome";
206 | s_a[199]="'Asir|Al Bahah|Al Hudud ash Shamaliyah|Al Jawf|Al Madinah|Al Qasim|Ar Riyad|Ash Sharqiyah (Eastern Province)|Ha'il|Jizan|Makkah|Najran|Tabuk";
207 | s_a[200]="Aberdeen City|Aberdeenshire|Angus|Argyll and Bute|City of Edinburgh|Clackmannanshire|Dumfries and Galloway|Dundee City|East Ayrshire|East Dunbartonshire|East Lothian|East Renfrewshire|Eilean Siar (Western Isles)|Falkirk|Fife|Glasgow City|Highland|Inverclyde|Midlothian|Moray|North Ayrshire|North Lanarkshire|Orkney Islands|Perth and Kinross|Renfrewshire|Shetland Islands|South Ayrshire|South Lanarkshire|Stirling|The Scottish Borders|West Dunbartonshire|West Lothian";
208 | s_a[201]="Dakar|Diourbel|Fatick|Kaolack|Kolda|Louga|Saint-Louis|Tambacounda|Thies|Ziguinchor";
209 | s_a[202]="Anse aux Pins|Anse Boileau|Anse Etoile|Anse Louis|Anse Royale|Baie Lazare|Baie Sainte Anne|Beau Vallon|Bel Air|Bel Ombre|Cascade|Glacis|Grand' Anse (on Mahe)|Grand' Anse (on Praslin)|La Digue|La Riviere Anglaise|Mont Buxton|Mont Fleuri|Plaisance|Pointe La Rue|Port Glaud|Saint Louis|Takamaka";
210 | s_a[203]="Eastern|Northern|Southern|Western";
211 | s_a[204]="Singapore";
212 | s_a[205]="Banskobystricky|Bratislavsky|Kosicky|Nitriansky|Presovsky|Trenciansky|Trnavsky|Zilinsky";
213 | s_a[206]="Ajdovscina|Beltinci|Bled|Bohinj|Borovnica|Bovec|Brda|Brezice|Brezovica|Cankova-Tisina|Celje|Cerklje na Gorenjskem|Cerknica|Cerkno|Crensovci|Crna na Koroskem|Crnomelj|Destrnik-Trnovska Vas|Divaca|Dobrepolje|Dobrova-Horjul-Polhov Gradec|Dol pri Ljubljani|Domzale|Dornava|Dravograd|Duplek|Gorenja Vas-Poljane|Gorisnica|Gornja Radgona|Gornji Grad|Gornji Petrovci|Grosuplje|Hodos Salovci|Hrastnik|Hrpelje-Kozina|Idrija|Ig|Ilirska Bistrica|Ivancna Gorica|Izola|Jesenice|Jursinci|Kamnik|Kanal|Kidricevo|Kobarid|Kobilje|Kocevje|Komen|Koper|Kozje|Kranj|Kranjska Gora|Krsko|Kungota|Kuzma|Lasko|Lenart|Lendava|Litija|Ljubljana|Ljubno|Ljutomer|Logatec|Loska Dolina|Loski Potok|Luce|Lukovica|Majsperk|Maribor|Medvode|Menges|Metlika|Mezica|Miren-Kostanjevica|Mislinja|Moravce|Moravske Toplice|Mozirje|Murska Sobota|Muta|Naklo|Nazarje|Nova Gorica|Novo Mesto|Odranci|Ormoz|Osilnica|Pesnica|Piran|Pivka|Podcetrtek|Podvelka-Ribnica|Postojna|Preddvor|Ptuj|Puconci|Race-Fram|Radece|Radenci|Radlje ob Dravi|Radovljica|Ravne-Prevalje|Ribnica|Rogasevci|Rogaska Slatina|Rogatec|Ruse|Semic|Sencur|Sentilj|Sentjernej|Sentjur pri Celju|Sevnica|Sezana|Skocjan|Skofja Loka|Skofljica|Slovenj Gradec|Slovenska Bistrica|Slovenske Konjice|Smarje pri Jelsah|Smartno ob Paki|Sostanj|Starse|Store|Sveti Jurij|Tolmin|Trbovlje|Trebnje|Trzic|Turnisce|Velenje|Velike Lasce|Videm|Vipava|Vitanje|Vodice|Vojnik|Vrhnika|Vuzenica|Zagorje ob Savi|Zalec|Zavrc|Zelezniki|Ziri|Zrece";
214 | s_a[207]="Bellona|Central|Choiseul (Lauru)|Guadalcanal|Honiara|Isabel|Makira|Malaita|Rennell|Temotu|Western";
215 | s_a[208]="Awdal|Bakool|Banaadir|Bari|Bay|Galguduud|Gedo|Hiiraan|Jubbada Dhexe|Jubbada Hoose|Mudug|Nugaal|Sanaag|Shabeellaha Dhexe|Shabeellaha Hoose|Sool|Togdheer|Woqooyi Galbeed";
216 | s_a[209]="Eastern Cape|Free State|Gauteng|KwaZulu-Natal|Mpumalanga|North-West|Northern Cape|Northern Province|Western Cape";
217 | s_a[210]="Bird Island|Bristol Island|Clerke Rocks|Montagu Island|Saunders Island|South Georgia|Southern Thule|Traversay Islands";
218 | s_a[211]="Andalucia|Aragon|Asturias|Baleares (Balearic Islands)|Canarias (Canary Islands)|Cantabria|Castilla y Leon|Castilla-La Mancha|Cataluna|Ceuta|Communidad Valencian|Extremadura|Galicia|Islas Chafarinas|La Rioja|Madrid|Melilla|Murcia|Navarra|Pais Vasco (Basque Country)|Penon de Alhucemas|Penon de Velez de la Gomera";
219 | s_a[212]="Spratly Islands";
220 | s_a[213]="Central|Eastern|North Central|North Eastern|North Western|Northern|Sabaragamuwa|Southern|Uva|Western";
221 | s_a[214]="A'ali an Nil|Al Bahr al Ahmar|Al Buhayrat|Al Jazirah|Al Khartum|Al Qadarif|Al Wahdah|An Nil al Abyad|An Nil al Azraq|Ash Shamaliyah|Bahr al Jabal|Gharb al Istiwa'iyah|Gharb Bahr al Ghazal|Gharb Darfur|Gharb Kurdufan|Janub Darfur|Janub Kurdufan|Junqali|Kassala|Nahr an Nil|Shamal Bahr al Ghazal|Shamal Darfur|Shamal Kurdufan|Sharq al Istiwa'iyah|Sinnar|Warab";
222 | s_a[215]="Brokopondo|Commewijne|Coronie|Marowijne|Nickerie|Para|Paramaribo|Saramacca|Sipaliwini|Wanica";
223 | s_a[216]="Barentsoya|Bjornoya|Edgeoya|Hopen|Kvitoya|Nordaustandet|Prins Karls Forland|Spitsbergen";
224 | s_a[217]="Hhohho|Lubombo|Manzini|Shiselweni";
225 | s_a[218]="Blekinge|Dalarnas|Gavleborgs|Gotlands|Hallands|Jamtlands|Jonkopings|Kalmar|Kronobergs|Norrbottens|Orebro|Ostergotlands|Skane|Sodermanlands|Stockholms|Uppsala|Varmlands|Vasterbottens|Vasternorrlands|Vastmanlands|Vastra Gotalands";
226 | s_a[219]="Aargau|Ausser-Rhoden|Basel-Landschaft|Basel-Stadt|Bern|Fribourg|Geneve|Glarus|Graubunden|Inner-Rhoden|Jura|Luzern|Neuchatel|Nidwalden|Obwalden|Sankt Gallen|Schaffhausen|Schwyz|Solothurn|Thurgau|Ticino|Uri|Valais|Vaud|Zug|Zurich";
227 | s_a[220]="Al Hasakah|Al Ladhiqiyah|Al Qunaytirah|Ar Raqqah|As Suwayda'|Dar'a|Dayr az Zawr|Dimashq|Halab|Hamah|Hims|Idlib|Rif Dimashq|Tartus";
228 | s_a[221]="Chang-hua|Chi-lung|Chia-i|Chia-i|Chung-hsing-hsin-ts'un|Hsin-chu|Hsin-chu|Hua-lien|I-lan|Kao-hsiung|Kao-hsiung|Miao-li|Nan-t'ou|P'eng-hu|P'ing-tung|T'ai-chung|T'ai-chung|T'ai-nan|T'ai-nan|T'ai-pei|T'ai-pei|T'ai-tung|T'ao-yuan|Yun-lin";
229 | s_a[222]="Viloyati Khatlon|Viloyati Leninobod|Viloyati Mukhtori Kuhistoni Badakhshon";
230 | s_a[223]="Arusha|Dar es Salaam|Dodoma|Iringa|Kagera|Kigoma|Kilimanjaro|Lindi|Mara|Mbeya|Morogoro|Mtwara|Mwanza|Pemba North|Pemba South|Pwani|Rukwa|Ruvuma|Shinyanga|Singida|Tabora|Tanga|Zanzibar Central/South|Zanzibar North|Zanzibar Urban/West";
231 | s_a[224]="Amnat Charoen|Ang Thong|Buriram|Chachoengsao|Chai Nat|Chaiyaphum|Chanthaburi|Chiang Mai|Chiang Rai|Chon Buri|Chumphon|Kalasin|Kamphaeng Phet|Kanchanaburi|Khon Kaen|Krabi|Krung Thep Mahanakhon (Bangkok)|Lampang|Lamphun|Loei|Lop Buri|Mae Hong Son|Maha Sarakham|Mukdahan|Nakhon Nayok|Nakhon Pathom|Nakhon Phanom|Nakhon Ratchasima|Nakhon Sawan|Nakhon Si Thammarat|Nan|Narathiwat|Nong Bua Lamphu|Nong Khai|Nonthaburi|Pathum Thani|Pattani|Phangnga|Phatthalung|Phayao|Phetchabun|Phetchaburi|Phichit|Phitsanulok|Phra Nakhon Si Ayutthaya|Phrae|Phuket|Prachin Buri|Prachuap Khiri Khan|Ranong|Ratchaburi|Rayong|Roi Et|Sa Kaeo|Sakon Nakhon|Samut Prakan|Samut Sakhon|Samut Songkhram|Sara Buri|Satun|Sing Buri|Sisaket|Songkhla|Sukhothai|Suphan Buri|Surat Thani|Surin|Tak|Trang|Trat|Ubon Ratchathani|Udon Thani|Uthai Thani|Uttaradit|Yala|Yasothon";
232 | s_a[225]="Tobago";
233 | s_a[226]="De La Kara|Des Plateaux|Des Savanes|Du Centre|Maritime";
234 | s_a[227]="Atafu|Fakaofo|Nukunonu";
235 | s_a[228]="Ha'apai|Tongatapu|Vava'u";
236 | s_a[229]="Arima|Caroni|Mayaro|Nariva|Port-of-Spain|Saint Andrew|Saint David|Saint George|Saint Patrick|San Fernando|Victoria";
237 | s_a[230]="Ariana|Beja|Ben Arous|Bizerte|El Kef|Gabes|Gafsa|Jendouba|Kairouan|Kasserine|Kebili|Mahdia|Medenine|Monastir|Nabeul|Sfax|Sidi Bou Zid|Siliana|Sousse|Tataouine|Tozeur|Tunis|Zaghouan";
238 | s_a[231]="Adana|Adiyaman|Afyon|Agri|Aksaray|Amasya|Ankara|Antalya|Ardahan|Artvin|Aydin|Balikesir|Bartin|Batman|Bayburt|Bilecik|Bingol|Bitlis|Bolu|Burdur|Bursa|Canakkale|Cankiri|Corum|Denizli|Diyarbakir|Duzce|Edirne|Elazig|Erzincan|Erzurum|Eskisehir|Gaziantep|Giresun|Gumushane|Hakkari|Hatay|Icel|Igdir|Isparta|Istanbul|Izmir|Kahramanmaras|Karabuk|Karaman|Kars|Kastamonu|Kayseri|Kilis|Kirikkale|Kirklareli|Kirsehir|Kocaeli|Konya|Kutahya|Malatya|Manisa|Mardin|Mugla|Mus|Nevsehir|Nigde|Ordu|Osmaniye|Rize|Sakarya|Samsun|Sanliurfa|Siirt|Sinop|Sirnak|Sivas|Tekirdag|Tokat|Trabzon|Tunceli|Usak|Van|Yalova|Yozgat|Zonguldak";
239 | s_a[232]="Ahal Welayaty|Balkan Welayaty|Dashhowuz Welayaty|Lebap Welayaty|Mary Welayaty";
240 | s_a[233]="Tuvalu";
241 | s_a[234]="Adjumani|Apac|Arua|Bugiri|Bundibugyo|Bushenyi|Busia|Gulu|Hoima|Iganga|Jinja|Kabale|Kabarole|Kalangala|Kampala|Kamuli|Kapchorwa|Kasese|Katakwi|Kibale|Kiboga|Kisoro|Kitgum|Kotido|Kumi|Lira|Luwero|Masaka|Masindi|Mbale|Mbarara|Moroto|Moyo|Mpigi|Mubende|Mukono|Nakasongola|Nebbi|Ntungamo|Pallisa|Rakai|Rukungiri|Sembabule|Soroti|Tororo";
242 | s_a[235]="Avtonomna Respublika Krym (Simferopol')|Cherkas'ka (Cherkasy)|Chernihivs'ka (Chernihiv)|Chernivets'ka (Chernivtsi)|Dnipropetrovs'ka (Dnipropetrovs'k)|Donets'ka (Donets'k)|Ivano-Frankivs'ka (Ivano-Frankivs'k)|Kharkivs'ka (Kharkiv)|Khersons'ka (Kherson)|Khmel'nyts'ka (Khmel'nyts'kyy)|Kirovohrads'ka (Kirovohrad)|Kyyiv|Kyyivs'ka (Kiev)|L'vivs'ka (L'viv)|Luhans'ka (Luhans'k)|Mykolayivs'ka (Mykolayiv)|Odes'ka (Odesa)|Poltavs'ka (Poltava)|Rivnens'ka (Rivne)|Sevastopol'|Sums'ka (Sumy)|Ternopil's'ka (Ternopil')|Vinnyts'ka (Vinnytsya)|Volyns'ka (Luts'k)|Zakarpats'ka (Uzhhorod)|Zaporiz'ka (Zaporizhzhya)|Zhytomyrs'ka (Zhytomyr)"
243 | s_a[236]="'Ajman|Abu Zaby (Abu Dhabi)|Al Fujayrah|Ash Shariqah (Sharjah)|Dubayy (Dubai)|Ra's al Khaymah|Umm al Qaywayn";
244 | s_a[237]="Barking and Dagenham|Barnet|Barnsley|Bath and North East Somerset|Bedfordshire|Bexley|Birmingham|Blackburn with Darwen|Blackpool|Bolton|Bournemouth|Bracknell Forest|Bradford|Brent|Brighton and Hove|Bromley|Buckinghamshire|Bury|Calderdale|Cambridgeshire|Camden|Cheshire|City of Bristol|City of Kingston upon Hull|City of London|Cornwall|Coventry|Croydon|Cumbria|Darlington|Derby|Derbyshire|Devon|Doncaster|Dorset|Dudley|Durham|Ealing|East Riding of Yorkshire|East Sussex|Enfield|Essex|Gateshead|Gloucestershire|Greenwich|Hackney|Halton|Hammersmith and Fulham|Hampshire|Haringey|Harrow|Hartlepool|Havering|Herefordshire|Hertfordshire|Hillingdon|Hounslow|Isle of Wight|Islington|Kensington and Chelsea|Kent|Kingston upon Thames|Kirklees|Knowsley|Lambeth|Lancashire|Leeds|Leicester|Leicestershire|Lewisham|Lincolnshire|Liverpool|Luton|Manchester|Medway|Merton|Middlesbrough|Milton Keynes|Newcastle upon Tyne|Newham|Norfolk|North East Lincolnshire|North Lincolnshire|North Somerset|North Tyneside|North Yorkshire|Northamptonshire|Northumberland|Nottingham|Nottinghamshire|Oldham|Oxfordshire|Peterborough|Plymouth|Poole|Portsmouth|Reading|Redbridge|Redcar and Cleveland|Richmond upon Thames|Rochdale|Rotherham|Rutland|Salford|Sandwell|Sefton|Sheffield|Shropshire|Slough|Solihull|Somerset|South Gloucestershire|South Tyneside|Southampton|Southend-on-Sea|Southwark|St. Helens|Staffordshire|Stockport|Stockton-on-Tees|Stoke-on-Trent|Suffolk|Sunderland|Surrey|Sutton|Swindon|Tameside|Telford and Wrekin|Thurrock|Torbay|Tower Hamlets|Trafford|Wakefield|Walsall|Waltham Forest|Wandsworth|Warrington|Warwickshire|West Berkshire|West Sussex|Westminster|Wigan|Wiltshire|Windsor and Maidenhead|Wirral|Wokingham|Wolverhampton|Worcestershire|York";
245 | s_a[238]="Artigas|Canelones|Cerro Largo|Colonia|Durazno|Flores|Florida|Lavalleja|Maldonado|Montevideo|Paysandu|Rio Negro|Rivera|Rocha|Salto|San Jose|Soriano|Tacuarembo|Treinta y Tres";
246 | s_a[239]="Alabama|Alaska|Arizona|Arkansas|California|Colorado|Connecticut|Delaware|District of Columbia|Florida|Georgia|Hawaii|Idaho|Illinois|Indiana|Iowa|Kansas|Kentucky|Louisiana|Maine|Maryland|Massachusetts|Michigan|Minnesota|Mississippi|Missouri|Montana|Nebraska|Nevada|New Hampshire|New Jersey|New Mexico|New York|North Carolina|North Dakota|Ohio|Oklahoma|Oregon|Pennsylvania|Rhode Island|South Carolina|South Dakota|Tennessee|Texas|Utah|Vermont|Virginia|Washington|West Virginia|Wisconsin|Wyoming";
247 | s_a[240]="Andijon Wiloyati|Bukhoro Wiloyati|Farghona Wiloyati|Jizzakh Wiloyati|Khorazm Wiloyati (Urganch)|Namangan Wiloyati|Nawoiy Wiloyati|Qashqadaryo Wiloyati (Qarshi)|Qoraqalpoghiston (Nukus)|Samarqand Wiloyati|Sirdaryo Wiloyati (Guliston)|Surkhondaryo Wiloyati (Termiz)|Toshkent Shahri|Toshkent Wiloyati";
248 | s_a[241]="Malampa|Penama|Sanma|Shefa|Tafea|Torba";
249 | s_a[242]="Amazonas|Anzoategui|Apure|Aragua|Barinas|Bolivar|Carabobo|Cojedes|Delta Amacuro|Dependencias Federales|Distrito Federal|Falcon|Guarico|Lara|Merida|Miranda|Monagas|Nueva Esparta|Portuguesa|Sucre|Tachira|Trujillo|Vargas|Yaracuy|Zulia";
250 | s_a[243]="An Giang|Ba Ria-Vung Tau|Bac Giang|Bac Kan|Bac Lieu|Bac Ninh|Ben Tre|Binh Dinh|Binh Duong|Binh Phuoc|Binh Thuan|Ca Mau|Can Tho|Cao Bang|Da Nang|Dac Lak|Dong Nai|Dong Thap|Gia Lai|Ha Giang|Ha Nam|Ha Noi|Ha Tay|Ha Tinh|Hai Duong|Hai Phong|Ho Chi Minh|Hoa Binh|Hung Yen|Khanh Hoa|Kien Giang|Kon Tum|Lai Chau|Lam Dong|Lang Son|Lao Cai|Long An|Nam Dinh|Nghe An|Ninh Binh|Ninh Thuan|Phu Tho|Phu Yen|Quang Binh|Quang Nam|Quang Ngai|Quang Ninh|Quang Tri|Soc Trang|Son La|Tay Ninh|Thai Binh|Thai Nguyen|Thanh Hoa|Thua Thien-Hue|Tien Giang|Tra Vinh|Tuyen Quang|Vinh Long|Vinh Phuc|Yen Bai";
251 | s_a[244]="Saint Croix|Saint John|Saint Thomas";
252 | s_a[245]="Blaenau Gwent|Bridgend|Caerphilly|Cardiff|Carmarthenshire|Ceredigion|Conwy|Denbighshire|Flintshire|Gwynedd|Isle of Anglesey|Merthyr Tydfil|Monmouthshire|Neath Port Talbot|Newport|Pembrokeshire|Powys|Rhondda Cynon Taff|Swansea|The Vale of Glamorgan|Torfaen|Wrexham";
253 | s_a[246]="Alo|Sigave|Wallis";
254 | s_a[247]="West Bank";
255 | s_a[248]="Western Sahara";
256 | s_a[249]="'Adan|'Ataq|Abyan|Al Bayda'|Al Hudaydah|Al Jawf|Al Mahrah|Al Mahwit|Dhamar|Hadhramawt|Hajjah|Ibb|Lahij|Ma'rib|Sa'dah|San'a'|Ta'izz";
257 | s_a[250]="Kosovo|Montenegro|Serbia|Vojvodina";
258 | s_a[251]="Central|Copperbelt|Eastern|Luapula|Lusaka|North-Western|Northern|Southern|Western";
259 | s_a[252]="Bulawayo|Harare|ManicalandMashonaland Central|Mashonaland East|Mashonaland West|Masvingo|Matabeleland North|Matabeleland South|Midlands";
260 |
261 |
262 | function populateStates( countryElementId, stateElementId ){
263 |
264 | var selectedCountryIndex = document.getElementById( countryElementId ).selectedIndex;
265 |
266 | var stateElement = document.getElementById( stateElementId );
267 |
268 | stateElement.length=0;
269 | stateElement.options[0] = new Option('Select State','');
270 | stateElement.selectedIndex = 0;
271 |
272 | var state_arr = s_a[selectedCountryIndex].split("|");
273 |
274 | for (var i=0; i tag as function argument, it inserts tags
281 | var countryElement = document.getElementById(countryElementId);
282 | countryElement.length=0;
283 | countryElement.options[0] = new Option('Select Country','-1');
284 | countryElement.selectedIndex = 0;
285 | for (var i=0; i