sapor 0.1b1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. checksums.yaml +7 -0
  2. data/Area Class Diagram.dia +0 -0
  3. data/Area Class Diagram.png +0 -0
  4. data/Class Diagram.dia +0 -0
  5. data/Class Diagram.png +0 -0
  6. data/Examples.md +361 -0
  7. data/LICENSE +674 -0
  8. data/README.md +70 -0
  9. data/Rakefile +18 -0
  10. data/Technical Documentation.md +14 -0
  11. data/bin/create_installation_package.sh +49 -0
  12. data/bin/install.sh +45 -0
  13. data/bin/sapor.rb +22 -0
  14. data/bin/sapor.sh +105 -0
  15. data/lib/sapor.rb +44 -0
  16. data/lib/sapor/binomials_cache.rb +45 -0
  17. data/lib/sapor/combinations_distribution.rb +180 -0
  18. data/lib/sapor/dichotomies.rb +98 -0
  19. data/lib/sapor/dichotomy.rb +138 -0
  20. data/lib/sapor/first_past_the_post.rb +78 -0
  21. data/lib/sapor/leveled_proportional.rb +64 -0
  22. data/lib/sapor/log4r_logger.rb +49 -0
  23. data/lib/sapor/log_facade.rb +40 -0
  24. data/lib/sapor/number_formatter.rb +45 -0
  25. data/lib/sapor/poll.rb +137 -0
  26. data/lib/sapor/polychotomy.rb +359 -0
  27. data/lib/sapor/proportional.rb +128 -0
  28. data/lib/sapor/pseudorandom_multirange_enumerator.rb +87 -0
  29. data/lib/sapor/regional_data/area.rb +80 -0
  30. data/lib/sapor/regional_data/catalonia-2012-2015.psv +100 -0
  31. data/lib/sapor/regional_data/catalonia-2012.psv +87 -0
  32. data/lib/sapor/regional_data/catalonia.rb +90 -0
  33. data/lib/sapor/regional_data/norway.rb +408 -0
  34. data/lib/sapor/regional_data/united_kingdom.rb +1075 -0
  35. data/lib/sapor/regional_data/utopia.rb +66 -0
  36. data/sapor.gemspec +35 -0
  37. data/spec/integration/area_spec.rb +28 -0
  38. data/spec/integration/poll_spec.rb +107 -0
  39. data/spec/integration/sample.poll +7 -0
  40. data/spec/spec_helper.rb +31 -0
  41. data/spec/unit/area_spec.rb +115 -0
  42. data/spec/unit/binomials_cache_spec.rb +34 -0
  43. data/spec/unit/catalonia_spec.rb +82 -0
  44. data/spec/unit/combinations_distribution_spec.rb +241 -0
  45. data/spec/unit/denominators_spec.rb +34 -0
  46. data/spec/unit/dichotomies_spec.rb +154 -0
  47. data/spec/unit/dichotomy_spec.rb +320 -0
  48. data/spec/unit/first_past_the_post_spec.rb +53 -0
  49. data/spec/unit/leveled_proportional_spec.rb +51 -0
  50. data/spec/unit/norway_spec.rb +47 -0
  51. data/spec/unit/number_formatter_spec.rb +173 -0
  52. data/spec/unit/poll_spec.rb +105 -0
  53. data/spec/unit/polychotomy_spec.rb +332 -0
  54. data/spec/unit/proportional_spec.rb +86 -0
  55. data/spec/unit/pseudorandom_multirange_enumerator_spec.rb +82 -0
  56. metadata +119 -0
@@ -0,0 +1,1075 @@
1
+ # encoding: utf-8
2
+ #
3
+ # Statistical Analysis of Polling Results (SAPoR)
4
+ # Copyright (C) 2014 Filip van Laenen <f.a.vanlaenen@ieee.org>
5
+ #
6
+ # This file is part of SAPoR.
7
+ #
8
+ # SAPoR is free software: you can redistribute it and/or modify it under the
9
+ # terms of the GNU General Public License as published by the Free Software
10
+ # Foundation, either version 3 of the License, or (at your option) any later
11
+ # version.
12
+ #
13
+ # SAPoR is distributed in the hope that it will be useful, but WITHOUT ANY
14
+ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15
+ # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16
+ #
17
+ # You can find a copy of the GNU General Public License in /doc/gpl.txt
18
+ #
19
+
20
+ module Sapor
21
+ #
22
+ # The regional data for the United Kingdom.
23
+ #
24
+ class UnitedKingdom
25
+ include Singleton
26
+
27
+ # Source: BBC News Election 2010 Results, retrieved on 3 April 2015.
28
+ # URL: http://news.bbc.co.uk/2/shared/election2010/results/
29
+ LAST_ELECTION_RESULT = { 'Conservative' => 10_726_614,
30
+ 'Labour' => 8_609_527,
31
+ 'Liberal Democrat' => 6_836_824,
32
+ 'Democratic Unionist Party' => 168_216,
33
+ 'Scottish National Party' => 491_386,
34
+ 'Sinn Féin' => 171_942,
35
+ 'Plaid Cymru' => 165_394,
36
+ 'Social Democratic & Labour Party' => 110_970,
37
+ 'Green' => 285_616,
38
+ 'Alliance Party' => 42_762,
39
+ 'UK Independence Party' => 919_546,
40
+ 'British National Party' => 564_331,
41
+ 'Ulster Conservatives and Unionists - New Force' => 102_361,
42
+ 'English Democrats' => 64_826,
43
+ 'Respect-Unity Coalition' => 33_251,
44
+ 'Traditional Unionist Voice' => 26_300,
45
+ 'Christian Party' => 18_623,
46
+ 'Independent Community and Health Concern' => 16_150,
47
+ 'Trade Unionist and Socialist Coalition' => 12_275,
48
+ 'Scottish Socialist Party' => 3_157,
49
+ 'Other' => 321_309 }
50
+
51
+ # Source: Electoral Calculus, Historical Data and Plots,
52
+ # 2010 (Actual) Election Result (51k, UKIP format),
53
+ # retrieved on 4 April 2015
54
+ # TODO: Results for Green are hidden in Other
55
+ # TODO: Local parties in Northern Ireland are hidden in Other
56
+ # URL: http://www.electoralcalculus.co.uk/electdata_2010uc.txt
57
+ LAST_DETAILED_ELECTION_RESULT = {
58
+ # England
59
+ 'Aldershot' => { 'Conservative' => 21_203, 'Labour' => 5489,
60
+ 'Liberal Democrat' => 15_617,
61
+ 'UK Independence Party' => 2041, 'Other' => 1034 },
62
+ 'Aldridge-Brownhills' => { 'Conservative' => 22_913, 'Labour' => 7647,
63
+ 'Liberal Democrat' => 6833, 'Other' => 1241 },
64
+ 'Altrincham and Sale West' => { 'Conservative' => 24_176,
65
+ 'Labour' => 11_073,
66
+ 'Liberal Democrat' => 12_581,
67
+ 'UK Independence Party' => 1563 },
68
+ 'Amber Valley' => { 'Conservative' => 17_746, 'Labour' => 17_210,
69
+ 'Liberal Democrat' => 6636,
70
+ 'UK Independence Party' => 906, 'Other' => 3460 },
71
+ 'Arundel and South Downs' => { 'Conservative' => 32_333,
72
+ 'Labour' => 4835,
73
+ 'Liberal Democrat' => 15_642,
74
+ 'UK Independence Party' => 3172 },
75
+ 'Ashfield' => { 'Conservative' => 10_698, 'Labour' => 16_239,
76
+ 'Liberal Democrat' => 16_047,
77
+ 'UK Independence Party' => 933, 'Other' => 4279 },
78
+ 'Ashford' => { 'Conservative' => 29_878, 'Labour' => 9204,
79
+ 'Liberal Democrat' => 12_581,
80
+ 'UK Independence Party' => 2508, 'Other' => 1014 },
81
+ 'Ashton under Lyne' => { 'Conservative' => 9510, 'Labour' => 18_604,
82
+ 'Liberal Democrat' => 5703,
83
+ 'UK Independence Party' => 1686,
84
+ 'Other' => 2929 },
85
+ 'Aylesbury' => { 'Conservative' => 27_736, 'Labour' => 6695,
86
+ 'Liberal Democrat' => 15_118,
87
+ 'UK Independence Party' => 3613 },
88
+ 'Banbury' => { 'Conservative' => 29_703, 'Labour' => 10_773,
89
+ 'Liberal Democrat' => 11_476,
90
+ 'UK Independence Party' => 2806, 'Other' => 1483 },
91
+ 'Barking' => { 'Conservative' => 8073, 'Labour' => 24_628,
92
+ 'Liberal Democrat' => 3719,
93
+ 'UK Independence Party' => 1300, 'Other' => 7623 },
94
+ 'Barnsley Central' => { 'Conservative' => 6388, 'Labour' => 17_487,
95
+ 'Liberal Democrat' => 6394,
96
+ 'UK Independence Party' => 1727,
97
+ 'Other' => 5005 },
98
+ 'Barnsley East' => { 'Conservative' => 6329, 'Labour' => 18_059,
99
+ 'Liberal Democrat' => 6969,
100
+ 'UK Independence Party' => 1731, 'Other' => 5298 },
101
+ 'Barrow and Furness' => { 'Conservative' => 16_018, 'Labour' => 21_226,
102
+ 'Liberal Democrat' => 4424,
103
+ 'UK Independence Party' => 841,
104
+ 'Other' => 1615 },
105
+ 'Basildon and Billericay' => { 'Conservative' => 21_922,
106
+ 'Labour' => 9584,
107
+ 'Liberal Democrat' => 6538,
108
+ 'UK Independence Party' => 1591,
109
+ 'Other' => 1934 },
110
+ 'Basildon South and East Thurrock' => { 'Conservative' => 19_624,
111
+ 'Labour' => 13_852,
112
+ 'Liberal Democrat' => 5977,
113
+ 'UK Independence Party' => 2639,
114
+ 'Other' => 2643 },
115
+ 'Basingstoke' => { 'Conservative' => 25_590, 'Labour' => 10_327,
116
+ 'Liberal Democrat' => 12_414,
117
+ 'UK Independence Party' => 2076, 'Other' => 247 },
118
+ 'Bassetlaw' => { 'Conservative' => 16_803, 'Labour' => 25_018,
119
+ 'Liberal Democrat' => 5570,
120
+ 'UK Independence Party' => 1779, 'Other' => 407 },
121
+ 'Bath' => { 'Conservative' => 14_768, 'Labour' => 3251,
122
+ 'Liberal Democrat' => 26_651, 'UK Independence Party' => 890,
123
+ 'Other' => 1526 },
124
+ 'Batley and Spen' => { 'Conservative' => 17_159, 'Labour' => 21_565,
125
+ 'Liberal Democrat' => 8095, 'Other' => 4290 },
126
+ 'Battersea' => { 'Conservative' => 23_103, 'Labour' => 17_126,
127
+ 'Liberal Democrat' => 7176,
128
+ 'UK Independence Party' => 505, 'Other' => 882 },
129
+ 'Beaconsfield' => { 'Conservative' => 32_053, 'Labour' => 6135,
130
+ 'Liberal Democrat' => 10_271,
131
+ 'UK Independence Party' => 2597, 'Other' => 1434 },
132
+ 'Beckenham' => { 'Conservative' => 27_597, 'Labour' => 6893,
133
+ 'Liberal Democrat' => 9813,
134
+ 'UK Independence Party' => 1551, 'Other' => 1832 },
135
+ 'Bedford' => { 'Conservative' => 17_546, 'Labour' => 16_193,
136
+ 'Liberal Democrat' => 8957,
137
+ 'UK Independence Party' => 1136, 'Other' => 1270 },
138
+ 'Bedfordshire Mid' => { 'Conservative' => 28_815, 'Labour' => 8108,
139
+ 'Liberal Democrat' => 13_663,
140
+ 'UK Independence Party' => 2826,
141
+ 'Other' => 1485 },
142
+ 'Bedfordshire North East' => { 'Conservative' => 30_989,
143
+ 'Labour' => 8957,
144
+ 'Liberal Democrat' => 12_047,
145
+ 'UK Independence Party' => 2294,
146
+ 'Other' => 1265 },
147
+ 'Bedfordshire South West' => { 'Conservative' => 26_815,
148
+ 'Labour' => 9948,
149
+ 'Liberal Democrat' => 10_166,
150
+ 'UK Independence Party' => 2142,
151
+ 'Other' => 1703 },
152
+ 'Bermondsey and Old Southwark' => { 'Conservative' => 7638,
153
+ 'Labour' => 13_060,
154
+ 'Liberal Democrat' => 21_590,
155
+ 'Other' => 2363 },
156
+ 'Berwick-upon-Tweed' => { 'Conservative' => 14_116, 'Labour' => 5061,
157
+ 'Liberal Democrat' => 16_806,
158
+ 'UK Independence Party' => 1243,
159
+ 'Other' => 1213 },
160
+ 'Bethnal Green and Bow' => { 'Conservative' => 7071, 'Labour' => 21_784,
161
+ 'Liberal Democrat' => 10_210,
162
+ 'Other' => 11_663 },
163
+ 'Beverley and Holderness' => { 'Conservative' => 25_063,
164
+ 'Labour' => 11_224,
165
+ 'Liberal Democrat' => 12_076,
166
+ 'UK Independence Party' => 1845,
167
+ 'Other' => 2991 },
168
+ 'Bexhill and Battle' => { 'Conservative' => 28_147, 'Labour' => 6524,
169
+ 'Liberal Democrat' => 15_267, 'Other' => 4649 },
170
+ 'Bexleyheath and Crayford' => { 'Conservative' => 21_794,
171
+ 'Labour' => 11_450,
172
+ 'Liberal Democrat' => 5502,
173
+ 'UK Independence Party' => 1557,
174
+ 'Other' => 2879 },
175
+ 'Birkenhead' => { 'Conservative' => 6687, 'Labour' => 22_082,
176
+ 'Liberal Democrat' => 6554 },
177
+ 'Birmingham Edgbaston' => { 'Conservative' => 15_620, 'Labour' => 16_894,
178
+ 'Liberal Democrat' => 6387,
179
+ 'UK Independence Party' => 732,
180
+ 'Other' => 1938 },
181
+ 'Birmingham Erdington' => { 'Conservative' => 11_592, 'Labour' => 14_869,
182
+ 'Liberal Democrat' => 5742,
183
+ 'UK Independence Party' => 842,
184
+ 'Other' => 2501 },
185
+ 'Birmingham Hall Green' => { 'Conservative' => 7320, 'Labour' => 16_039,
186
+ 'Liberal Democrat' => 11_988,
187
+ 'UK Independence Party' => 950,
188
+ 'Other' => 12_430 },
189
+ 'Birmingham Hodge Hill' => { 'Conservative' => 4936, 'Labour' => 22_077,
190
+ 'Liberal Democrat' => 11_775,
191
+ 'UK Independence Party' => 714,
192
+ 'Other' => 2970 },
193
+ 'Birmingham Ladywood' => { 'Conservative' => 4277, 'Labour' => 19_950,
194
+ 'Liberal Democrat' => 9845,
195
+ 'UK Independence Party' => 902,
196
+ 'Other' => 859 },
197
+ 'Birmingham Northfield' => { 'Conservative' => 14_059,
198
+ 'Labour' => 16_841,
199
+ 'Liberal Democrat' => 6550,
200
+ 'UK Independence Party' => 1363, 'Other' => 3001 },
201
+ 'Birmingham Perry Barr' => { 'Conservative' => 8960, 'Labour' => 21_142,
202
+ 'Liberal Democrat' => 9234,
203
+ 'UK Independence Party' => 1675,
204
+ 'Other' => 1034 },
205
+ 'Birmingham Selly Oak' => { 'Conservative' => 14_468, 'Labour' => 17_950,
206
+ 'Liberal Democrat' => 10_371,
207
+ 'UK Independence Party' => 1131,
208
+ 'Other' => 2643 },
209
+ 'Birmingham Yardley' => { 'Conservative' => 7836, 'Labour' => 13_160,
210
+ 'Liberal Democrat' => 16_162,
211
+ 'UK Independence Party' => 1190,
212
+ 'Other' => 2502 },
213
+ 'Bishop Auckland' => { 'Conservative' => 10_805, 'Labour' => 16_023,
214
+ 'Liberal Democrat' => 9189,
215
+ 'UK Independence Party' => 1119, 'Other' => 4000 },
216
+ 'Blackburn' => { 'Conservative' => 11_895, 'Labour' => 21_751,
217
+ 'Liberal Democrat' => 6918,
218
+ 'UK Independence Party' => 942, 'Other' => 3993 },
219
+ 'Blackley and Broughton' => { 'Conservative' => 6260, 'Labour' => 18_563,
220
+ 'Liberal Democrat' => 4861,
221
+ 'UK Independence Party' => 894,
222
+ 'Other' => 3626 },
223
+ 'Blackpool North and Cleveleys' => { 'Conservative' => 16_964,
224
+ 'Labour' => 14_814,
225
+ 'Liberal Democrat' => 5400,
226
+ 'UK Independence Party' => 1659, 'Other' => 1754 },
227
+ 'Blackpool South' => { 'Conservative' => 12_597, 'Labour' => 14_449,
228
+ 'Liberal Democrat' => 5082,
229
+ 'UK Independence Party' => 1352, 'Other' => 1712 },
230
+ 'Blaydon' => { 'Conservative' => 7159, 'Labour' => 22_297,
231
+ 'Liberal Democrat' => 13_180, 'Other' => 2277 },
232
+ 'Blyth Valley' => { 'Conservative' => 6412, 'Labour' => 17_156,
233
+ 'Liberal Democrat' => 10_488,
234
+ 'UK Independence Party' => 1665, 'Other' => 2845 },
235
+ 'Bognor Regis and Littlehampton' => { 'Conservative' => 24_087,
236
+ 'Labour' => 6580,
237
+ 'Liberal Democrat' => 11_024,
238
+ 'UK Independence Party' => 3036, 'Other' => 2125 },
239
+ 'Bolsover' => { 'Conservative' => 10_812, 'Labour' => 21_994,
240
+ 'Liberal Democrat' => 6821,
241
+ 'UK Independence Party' => 1721, 'Other' => 2640 },
242
+ 'Bolton North East' => { 'Conservative' => 15_786, 'Labour' => 19_870,
243
+ 'Liberal Democrat' => 5624,
244
+ 'UK Independence Party' => 1815,
245
+ 'Other' => 182 },
246
+ 'Bolton South East' => { 'Conservative' => 10_148, 'Labour' => 18_782,
247
+ 'Liberal Democrat' => 6289,
248
+ 'UK Independence Party' => 1564,
249
+ 'Other' => 2821 },
250
+ 'Bolton West' => { 'Conservative' => 18_235, 'Labour' => 18_327,
251
+ 'Liberal Democrat' => 8177,
252
+ 'UK Independence Party' => 1901, 'Other' => 936 },
253
+ 'Bootle' => { 'Conservative' => 3678, 'Labour' => 27_426, 'Liberal Democrat' => 6245, 'UK Independence Party' => 2514, 'Other' => 1414 },
254
+ 'Boston and Skegness' => { 'Conservative' => 21_325, 'Labour' => 8899, 'Liberal Democrat' => 6371, 'UK Independence Party' => 4081, 'Other' => 2449 },
255
+ 'Bosworth' => { 'Conservative' => 23_132, 'Labour' => 8674, 'Liberal Democrat' => 18_100, 'UK Independence Party' => 1098, 'Other' => 3270 },
256
+ 'Bournemouth East' => { 'Conservative' => 21_320, 'Labour' => 5836, 'Liberal Democrat' => 13_592, 'UK Independence Party' => 3027, 'Other' => 249 },
257
+ 'Bournemouth West' => { 'Conservative' => 18_808, 'Labour' => 6171, 'Liberal Democrat' => 13_225, 'UK Independence Party' => 2999, 'Other' => 456 },
258
+ 'Bracknell' => { 'Conservative' => 27_327, 'Labour' => 8755, 'Liberal Democrat' => 11_623, 'UK Independence Party' => 2297, 'Other' => 2134 },
259
+ 'Bradford East' => { 'Conservative' => 10_860, 'Labour' => 13_272, 'Liberal Democrat' => 13_637, 'Other' => 2688 },
260
+ 'Bradford South' => { 'Conservative' => 11_060, 'Labour' => 15_682, 'Liberal Democrat' => 6948, 'UK Independence Party' => 1339, 'Other' => 2966 },
261
+ 'Bradford West' => { 'Conservative' => 12_638, 'Labour' => 18_401, 'Liberal Democrat' => 4732, 'UK Independence Party' => 812, 'Other' => 3993 },
262
+ 'Braintree' => { 'Conservative' => 25_901, 'Labour' => 9780, 'Liberal Democrat' => 9247, 'UK Independence Party' => 2477, 'Other' => 1798 },
263
+ 'Brent Central' => { 'Conservative' => 5067, 'Labour' => 18_681, 'Liberal Democrat' => 20_026, 'Other' => 1549 },
264
+ 'Brent North' => { 'Conservative' => 16_486, 'Labour' => 24_514, 'Liberal Democrat' => 8879, 'UK Independence Party' => 380, 'Other' => 2039 },
265
+ 'Brentford and Isleworth' => { 'Conservative' => 20_022, 'Labour' => 18_064, 'Liberal Democrat' => 12_718, 'UK Independence Party' => 863, 'Other' => 2098 },
266
+ 'Brentwood and Ongar' => { 'Conservative' => 28_793, 'Labour' => 4992, 'Liberal Democrat' => 11_872, 'UK Independence Party' => 2037, 'Other' => 2898 },
267
+ 'Bridgwater and West Somerset' => { 'Conservative' => 24_675, 'Labour' => 9332, 'Liberal Democrat' => 15_426, 'UK Independence Party' => 2604, 'Other' => 2456 },
268
+ 'Brigg and Goole' => { 'Conservative' => 19_680, 'Labour' => 14_533, 'Liberal Democrat' => 6414, 'UK Independence Party' => 1749, 'Other' => 1498 },
269
+ 'Brighton Kemptown' => { 'Conservative' => 16_217, 'Labour' => 14_889, 'Liberal Democrat' => 7691, 'UK Independence Party' => 1384, 'Other' => 2524 },
270
+ 'Brighton Pavilion' => { 'Conservative' => 12_275, 'Labour' => 14_986, 'Liberal Democrat' => 7159, 'UK Independence Party' => 948, 'Other' => 16_466 },
271
+ 'Bristol East' => { 'Conservative' => 12_749, 'Labour' => 16_471, 'Liberal Democrat' => 10_993, 'UK Independence Party' => 1510, 'Other' => 3294 },
272
+ 'Bristol North West' => { 'Conservative' => 19_115, 'Labour' => 13_059, 'Liberal Democrat' => 15_841, 'UK Independence Party' => 1175, 'Other' => 1146 },
273
+ 'Bristol South' => { 'Conservative' => 11_086, 'Labour' => 18_600, 'Liberal Democrat' => 13_866, 'UK Independence Party' => 1264, 'Other' => 3561 },
274
+ 'Bristol West' => { 'Conservative' => 10_169, 'Labour' => 15_227, 'Liberal Democrat' => 26_593, 'UK Independence Party' => 655, 'Other' => 2703 },
275
+ 'Broadland' => { 'Conservative' => 24_338, 'Labour' => 7287, 'Liberal Democrat' => 17_046, 'UK Independence Party' => 2382, 'Other' => 1623 },
276
+ 'Bromley and Chislehurst' => { 'Conservative' => 23_569, 'Labour' => 7295, 'Liberal Democrat' => 9669, 'UK Independence Party' => 1451, 'Other' => 2053 },
277
+ 'Bromsgrove' => { 'Conservative' => 22_558, 'Labour' => 11_250, 'Liberal Democrat' => 10_124, 'UK Independence Party' => 2950, 'Other' => 4748 },
278
+ 'Broxbourne' => { 'Conservative' => 26_844, 'Labour' => 8040, 'Liberal Democrat' => 6107, 'UK Independence Party' => 1890, 'Other' => 2777 },
279
+ 'Broxtowe' => { 'Conservative' => 20_585, 'Labour' => 20_196, 'Liberal Democrat' => 8907, 'UK Independence Party' => 1194, 'Other' => 1845 },
280
+ 'Buckingham' => { 'Conservative' => 22_860, 'UK Independence Party' => 8401, 'Other' => 17_074 },
281
+ 'Burnley' => { 'Conservative' => 6950, 'Labour' => 13_114, 'Liberal Democrat' => 14_932, 'UK Independence Party' => 929, 'Other' => 5920 },
282
+ 'Burton' => { 'Conservative' => 22_188, 'Labour' => 15_884, 'Liberal Democrat' => 7891, 'UK Independence Party' => 1451, 'Other' => 2409 },
283
+ 'Bury North' => { 'Conservative' => 18_070, 'Labour' => 15_827, 'Liberal Democrat' => 7645, 'UK Independence Party' => 1282, 'Other' => 2137 },
284
+ 'Bury South' => { 'Conservative' => 16_216, 'Labour' => 19_508, 'Liberal Democrat' => 8796, 'UK Independence Party' => 1017, 'Other' => 2730 },
285
+ 'Bury St Edmunds' => { 'Conservative' => 27_899, 'Labour' => 9776, 'Liberal Democrat' => 15_519, 'UK Independence Party' => 3003, 'Other' => 2521 },
286
+ 'Calder Valley' => { 'Conservative' => 20_397, 'Labour' => 13_966, 'Liberal Democrat' => 13_037, 'UK Independence Party' => 1173, 'Other' => 3207 },
287
+ 'Camberwell and Peckham' => { 'Conservative' => 6080, 'Labour' => 27_619, 'Liberal Democrat' => 10_432, 'Other' => 2528 },
288
+ 'Camborne and Redruth' => { 'Conservative' => 15_969, 'Labour' => 6945, 'Liberal Democrat' => 15_903, 'UK Independence Party' => 2152, 'Other' => 1524 },
289
+ 'Cambridge' => { 'Conservative' => 12_829, 'Labour' => 12_174, 'Liberal Democrat' => 19_621, 'UK Independence Party' => 1195, 'Other' => 4311 },
290
+ 'Cambridgeshire North East' => { 'Conservative' => 26_862, 'Labour' => 9274, 'Liberal Democrat' => 10_437, 'UK Independence Party' => 2991, 'Other' => 2500 },
291
+ 'Cambridgeshire North West' => { 'Conservative' => 29_425, 'Labour' => 9877, 'Liberal Democrat' => 12_748, 'UK Independence Party' => 4826, 'Other' => 1407 },
292
+ 'Cambridgeshire South' => { 'Conservative' => 27_995, 'Labour' => 6024, 'Liberal Democrat' => 20_157, 'UK Independence Party' => 1873, 'Other' => 3007 },
293
+ 'Cambridgeshire South East' => { 'Conservative' => 27_629, 'Labour' => 4380, 'Liberal Democrat' => 21_683, 'UK Independence Party' => 2138, 'Other' => 1772 },
294
+ 'Cannock Chase' => { 'Conservative' => 18_271, 'Labour' => 15_076, 'Liberal Democrat' => 7732, 'UK Independence Party' => 1580, 'Other' => 2900 },
295
+ 'Canterbury' => { 'Conservative' => 22_050, 'Labour' => 7940, 'Liberal Democrat' => 16_002, 'UK Independence Party' => 1907, 'Other' => 1310 },
296
+ 'Carlisle' => { 'Conservative' => 16_589, 'Labour' => 15_736, 'Liberal Democrat' => 6567, 'UK Independence Party' => 969, 'Other' => 2339 },
297
+ 'Carshalton and Wallington' => { 'Conservative' => 16_920, 'Labour' => 4015, 'Liberal Democrat' => 22_180, 'UK Independence Party' => 1348, 'Other' => 1455 },
298
+ 'Castle Point' => { 'Conservative' => 19_806, 'Labour' => 6609, 'Liberal Democrat' => 4232, 'Other' => 14_379 },
299
+ 'Charnwood' => { 'Conservative' => 26_560, 'Labour' => 10_536, 'Liberal Democrat' => 11_531, 'UK Independence Party' => 1799, 'Other' => 3116 },
300
+ 'Chatham and Aylesford' => { 'Conservative' => 20_230, 'Labour' => 14_161, 'Liberal Democrat' => 5832, 'UK Independence Party' => 1314, 'Other' => 2270 },
301
+ 'Cheadle' => { 'Conservative' => 21_445, 'Labour' => 4920, 'Liberal Democrat' => 24_717, 'UK Independence Party' => 1430 },
302
+ 'Chelmsford' => { 'Conservative' => 25_207, 'Labour' => 5980, 'Liberal Democrat' => 20_097, 'UK Independence Party' => 1527, 'Other' => 1782 },
303
+ 'Chelsea and Fulham' => { 'Conservative' => 24_093, 'Labour' => 7371, 'Liberal Democrat' => 6473, 'UK Independence Party' => 478, 'Other' => 1441 },
304
+ 'Cheltenham' => { 'Conservative' => 21_739, 'Labour' => 2703, 'Liberal Democrat' => 26_659, 'UK Independence Party' => 1192, 'Other' => 493 },
305
+ 'Chesham and Amersham' => { 'Conservative' => 31_658, 'Labour' => 2942, 'Liberal Democrat' => 14_948, 'UK Independence Party' => 2129, 'Other' => 767 },
306
+ 'Chester, City of' => { 'Conservative' => 18_995, 'Labour' => 16_412, 'Liberal Democrat' => 8930, 'UK Independence Party' => 1225, 'Other' => 1228 },
307
+ 'Chesterfield' => { 'Conservative' => 7214, 'Labour' => 17_891, 'Liberal Democrat' => 17_342, 'UK Independence Party' => 1432, 'Other' => 1960 },
308
+ 'Chichester' => { 'Conservative' => 31_427, 'Labour' => 5937, 'Liberal Democrat' => 15_550, 'UK Independence Party' => 3873 },
309
+ 'Chingford and Woodford Green' => { 'Conservative' => 22_743, 'Labour' => 9780, 'Liberal Democrat' => 7242, 'UK Independence Party' => 1133, 'Other' => 2208 },
310
+ 'Chippenham' => { 'Conservative' => 21_500, 'Labour' => 3620, 'Liberal Democrat' => 23_970, 'UK Independence Party' => 1783, 'Other' => 1512 },
311
+ 'Chipping Barnet' => { 'Conservative' => 24_700, 'Labour' => 12_773, 'Liberal Democrat' => 10_202, 'UK Independence Party' => 1442, 'Other' => 1491 },
312
+ 'Chorley' => { 'Conservative' => 18_922, 'Labour' => 21_515, 'Liberal Democrat' => 6957, 'UK Independence Party' => 2021, 'Other' => 359 },
313
+ 'Christchurch' => { 'Conservative' => 27_888, 'Labour' => 4849, 'Liberal Democrat' => 12_478, 'UK Independence Party' => 4201 },
314
+ 'Cities of London and Westminster' => { 'Conservative' => 19_264, 'Labour' => 8188, 'Liberal Democrat' => 7574, 'UK Independence Party' => 664, 'Other' => 1241 },
315
+ 'Clacton' => { 'Conservative' => 22_867, 'Labour' => 10_799, 'Liberal Democrat' => 5577, 'Other' => 3880 },
316
+ 'Cleethorpes' => { 'Conservative' => 18_939, 'Labour' => 14_641, 'Liberal Democrat' => 8192, 'UK Independence Party' => 3194 },
317
+ 'Colchester' => { 'Conservative' => 15_169, 'Labour' => 5680, 'Liberal Democrat' => 22_151, 'UK Independence Party' => 1350, 'Other' => 1789 },
318
+ 'Colne Valley' => { 'Conservative' => 20_440, 'Labour' => 14_589, 'Liberal Democrat' => 15_603, 'UK Independence Party' => 1163, 'Other' => 3501 },
319
+ 'Congleton' => { 'Conservative' => 23_250, 'Labour' => 8747, 'Liberal Democrat' => 16_187, 'UK Independence Party' => 2147, 'Other' => 449 },
320
+ 'Copeland' => { 'Conservative' => 15_866, 'Labour' => 19_699, 'Liberal Democrat' => 4365, 'UK Independence Party' => 994, 'Other' => 1863 },
321
+ 'Corby' => { 'Conservative' => 22_886, 'Labour' => 20_991, 'Liberal Democrat' => 7834, 'Other' => 2525 },
322
+ 'Cornwall North' => { 'Conservative' => 19_531, 'Labour' => 1971, 'Liberal Democrat' => 22_512, 'UK Independence Party' => 2300, 'Other' => 530 },
323
+ 'Cornwall South East' => { 'Conservative' => 22_390, 'Labour' => 3507, 'Liberal Democrat' => 19_170, 'UK Independence Party' => 3083, 'Other' => 1467 },
324
+ 'Cotswolds, The' => { 'Conservative' => 29_075, 'Labour' => 5886, 'Liberal Democrat' => 16_211, 'UK Independence Party' => 2292, 'Other' => 1368 },
325
+ 'Coventry North East' => { 'Conservative' => 9609, 'Labour' => 21_384, 'Liberal Democrat' => 7210, 'UK Independence Party' => 1291, 'Other' => 3889 },
326
+ 'Coventry North West' => { 'Conservative' => 13_648, 'Labour' => 19_936, 'Liberal Democrat' => 8344, 'UK Independence Party' => 1295, 'Other' => 3337 },
327
+ 'Coventry South' => { 'Conservative' => 15_352, 'Labour' => 19_197, 'Liberal Democrat' => 8278, 'UK Independence Party' => 1767, 'Other' => 1330 },
328
+ 'Crawley' => { 'Conservative' => 21_264, 'Labour' => 15_336, 'Liberal Democrat' => 6844, 'UK Independence Party' => 1382, 'Other' => 2678 },
329
+ 'Crewe and Nantwich' => { 'Conservative' => 23_420, 'Labour' => 17_374, 'Liberal Democrat' => 7656, 'UK Independence Party' => 1414, 'Other' => 1220 },
330
+ 'Croydon Central' => { 'Conservative' => 19_657, 'Labour' => 16_688, 'Liberal Democrat' => 6553, 'UK Independence Party' => 997, 'Other' => 5862 },
331
+ 'Croydon North' => { 'Conservative' => 12_466, 'Labour' => 28_947, 'Liberal Democrat' => 7226, 'UK Independence Party' => 891, 'Other' => 2146 },
332
+ 'Croydon South' => { 'Conservative' => 28_684, 'Labour' => 11_287, 'Liberal Democrat' => 12_866, 'UK Independence Party' => 2504, 'Other' => 981 },
333
+ 'Dagenham and Rainham' => { 'Conservative' => 15_183, 'Labour' => 17_813, 'Liberal Democrat' => 3806, 'UK Independence Party' => 1569, 'Other' => 5861 },
334
+ 'Darlington' => { 'Conservative' => 13_503, 'Labour' => 16_891, 'Liberal Democrat' => 10_046, 'UK Independence Party' => 1194, 'Other' => 1262 },
335
+ 'Dartford' => { 'Conservative' => 24_428, 'Labour' => 13_800, 'Liberal Democrat' => 7361, 'UK Independence Party' => 1842, 'Other' => 2649 },
336
+ 'Daventry' => { 'Conservative' => 29_252, 'Labour' => 8168, 'Liberal Democrat' => 10_064, 'UK Independence Party' => 2333, 'Other' => 1957 },
337
+ 'Denton and Reddish' => { 'Conservative' => 9360, 'Labour' => 19_191, 'Liberal Democrat' => 6727, 'UK Independence Party' => 2060, 'Other' => 297 },
338
+ 'Derby North' => { 'Conservative' => 14_283, 'Labour' => 14_896, 'Liberal Democrat' => 12_638, 'UK Independence Party' => 829, 'Other' => 2434 },
339
+ 'Derby South' => { 'Conservative' => 11_729, 'Labour' => 17_851, 'Liberal Democrat' => 8430, 'UK Independence Party' => 1821, 'Other' => 1357 },
340
+ 'Derbyshire Dales' => { 'Conservative' => 24_378, 'Labour' => 9061, 'Liberal Democrat' => 10_512, 'UK Independence Party' => 1779, 'Other' => 1050 },
341
+ 'Derbyshire Mid' => { 'Conservative' => 22_877, 'Labour' => 11_585, 'Liberal Democrat' => 9711, 'UK Independence Party' => 1252, 'Other' => 1917 },
342
+ 'Derbyshire North East' => { 'Conservative' => 15_503, 'Labour' => 17_948, 'Liberal Democrat' => 10_947, 'UK Independence Party' => 2636 },
343
+ 'Derbyshire South' => { 'Conservative' => 22_935, 'Labour' => 15_807, 'Liberal Democrat' => 8012, 'UK Independence Party' => 1206, 'Other' => 2459 },
344
+ 'Devizes' => { 'Conservative' => 25_519, 'Labour' => 4711, 'Liberal Democrat' => 12_514, 'UK Independence Party' => 2076, 'Other' => 1520 },
345
+ 'Devon Central' => { 'Conservative' => 27_737, 'Labour' => 3715, 'Liberal Democrat' => 18_507, 'UK Independence Party' => 2870, 'Other' => 1044 },
346
+ 'Devon East' => { 'Conservative' => 25_662, 'Labour' => 5721, 'Liberal Democrat' => 16_548, 'UK Independence Party' => 4346, 'Other' => 815 },
347
+ 'Devon North' => { 'Conservative' => 18_484, 'Labour' => 2671, 'Liberal Democrat' => 24_305, 'UK Independence Party' => 3720, 'Other' => 2141 },
348
+ 'Devon South West' => { 'Conservative' => 27_908, 'Labour' => 6193, 'Liberal Democrat' => 12_034, 'UK Independence Party' => 3084, 'Other' => 641 },
349
+ 'Devon West and Torridge' => { 'Conservative' => 25_230, 'Labour' => 2917, 'Liberal Democrat' => 22_273, 'UK Independence Party' => 3021, 'Other' => 1816 },
350
+ 'Dewsbury' => { 'Conservative' => 18_898, 'Labour' => 17_372, 'Liberal Democrat' => 9150, 'Other' => 8588 },
351
+ 'Don Valley' => { 'Conservative' => 12_877, 'Labour' => 16_472, 'Liberal Democrat' => 7422, 'UK Independence Party' => 1904, 'Other' => 4755 },
352
+ 'Doncaster Central' => { 'Conservative' => 10_340, 'Labour' => 16_569, 'Liberal Democrat' => 8795, 'UK Independence Party' => 1421, 'Other' => 4620 },
353
+ 'Doncaster North' => { 'Conservative' => 8728, 'Labour' => 19_637, 'Liberal Democrat' => 6174, 'UK Independence Party' => 1797, 'Other' => 5147 },
354
+ 'Dorset Mid and Poole North' => { 'Conservative' => 20_831, 'Labour' => 2748, 'Liberal Democrat' => 21_100, 'UK Independence Party' => 2109 },
355
+ 'Dorset North' => { 'Conservative' => 27_640, 'Labour' => 2910, 'Liberal Democrat' => 20_015, 'UK Independence Party' => 2812, 'Other' => 764 },
356
+ 'Dorset South' => { 'Conservative' => 22_667, 'Labour' => 15_224, 'Liberal Democrat' => 9557, 'UK Independence Party' => 2034, 'Other' => 828 },
357
+ 'Dorset West' => { 'Conservative' => 27_287, 'Labour' => 3815, 'Liberal Democrat' => 23_364, 'UK Independence Party' => 2196, 'Other' => 675 },
358
+ 'Dover' => { 'Conservative' => 22_174, 'Labour' => 16_900, 'Liberal Democrat' => 7962, 'UK Independence Party' => 1747, 'Other' => 1602 },
359
+ 'Dudley North' => { 'Conservative' => 14_274, 'Labour' => 14_923, 'Liberal Democrat' => 4066, 'UK Independence Party' => 3267, 'Other' => 2072 },
360
+ 'Dudley South' => { 'Conservative' => 16_450, 'Labour' => 12_594, 'Liberal Democrat' => 5989, 'UK Independence Party' => 3132 },
361
+ 'Dulwich and West Norwood' => { 'Conservative' => 10_684, 'Labour' => 22_461, 'Liberal Democrat' => 13_096, 'UK Independence Party' => 707, 'Other' => 1266 },
362
+ 'Durham North' => { 'Conservative' => 8622, 'Labour' => 20_698, 'Liberal Democrat' => 8617, 'UK Independence Party' => 1344, 'Other' => 1686 },
363
+ 'Durham North West' => { 'Conservative' => 8766, 'Labour' => 18_539, 'Liberal Democrat' => 10_927, 'UK Independence Party' => 1259, 'Other' => 4324 },
364
+ 'Durham, City of' => { 'Conservative' => 6146, 'Labour' => 20_496, 'Liberal Democrat' => 17_429, 'UK Independence Party' => 856, 'Other' => 1325 },
365
+ 'Ealing Central and Acton' => { 'Conservative' => 17_944, 'Labour' => 14_228, 'Liberal Democrat' => 13_041, 'UK Independence Party' => 765, 'Other' => 1222 },
366
+ 'Ealing North' => { 'Conservative' => 14_722, 'Labour' => 24_023, 'Liberal Democrat' => 6283, 'UK Independence Party' => 685, 'Other' => 1965 },
367
+ 'Ealing Southall' => { 'Conservative' => 12_733, 'Labour' => 22_024, 'Liberal Democrat' => 6383, 'Other' => 1616 },
368
+ 'Easington' => { 'Conservative' => 4790, 'Labour' => 20_579, 'Liberal Democrat' => 5597, 'UK Independence Party' => 1631, 'Other' => 2317 },
369
+ 'East Ham' => { 'Conservative' => 7645, 'Labour' => 35_471, 'Liberal Democrat' => 5849, 'Other' => 1408 },
370
+ 'Eastbourne' => { 'Conservative' => 21_223, 'Labour' => 2497, 'Liberal Democrat' => 24_658, 'UK Independence Party' => 1305, 'Other' => 2441 },
371
+ 'Eastleigh' => { 'Conservative' => 21_102, 'Labour' => 5153, 'Liberal Democrat' => 24_966, 'UK Independence Party' => 1933, 'Other' => 496 },
372
+ 'Eddisbury' => { 'Conservative' => 23_472, 'Labour' => 9794, 'Liberal Democrat' => 10_217, 'UK Independence Party' => 1931 },
373
+ 'Edmonton' => { 'Conservative' => 12_052, 'Labour' => 21_665, 'Liberal Democrat' => 4252, 'UK Independence Party' => 1036, 'Other' => 1372 },
374
+ 'Ellesmere Port and Neston' => { 'Conservative' => 15_419, 'Labour' => 19_750, 'Liberal Democrat' => 6663, 'UK Independence Party' => 1619, 'Other' => 782 },
375
+ 'Elmet and Rothwell' => { 'Conservative' => 23_778, 'Labour' => 19_257, 'Liberal Democrat' => 9109, 'UK Independence Party' => 1593, 'Other' => 2052 },
376
+ 'Eltham' => { 'Conservative' => 15_753, 'Labour' => 17_416, 'Liberal Democrat' => 5299, 'UK Independence Party' => 1011, 'Other' => 2485 },
377
+ 'Enfield North' => { 'Conservative' => 18_804, 'Labour' => 17_112, 'Liberal Democrat' => 5403, 'UK Independence Party' => 938, 'Other' => 2196 },
378
+ 'Enfield Southgate' => { 'Conservative' => 21_928, 'Labour' => 14_302, 'Liberal Democrat' => 6124, 'UK Independence Party' => 505, 'Other' => 1493 },
379
+ 'Epping Forest' => { 'Conservative' => 25_148, 'Labour' => 6641, 'Liberal Democrat' => 10_017, 'UK Independence Party' => 1852, 'Other' => 2926 },
380
+ 'Epsom and Ewell' => { 'Conservative' => 30_868, 'Labour' => 6538, 'Liberal Democrat' => 14_734, 'UK Independence Party' => 2549, 'Other' => 266 },
381
+ 'Erewash' => { 'Conservative' => 18_805, 'Labour' => 16_304, 'Liberal Democrat' => 8343, 'UK Independence Party' => 855, 'Other' => 3335 },
382
+ 'Erith and Thamesmead' => { 'Conservative' => 13_365, 'Labour' => 19_068, 'Liberal Democrat' => 5116, 'UK Independence Party' => 1139, 'Other' => 3788 },
383
+ 'Esher and Walton' => { 'Conservative' => 32_134, 'Labour' => 5829, 'Liberal Democrat' => 13_541, 'UK Independence Party' => 1783, 'Other' => 1256 },
384
+ 'Exeter' => { 'Conservative' => 17_221, 'Labour' => 19_942, 'Liberal Democrat' => 10_581, 'UK Independence Party' => 1930, 'Other' => 2573 },
385
+ 'Fareham' => { 'Conservative' => 30_037, 'Labour' => 7719, 'Liberal Democrat' => 12_945, 'UK Independence Party' => 2235, 'Other' => 1409 },
386
+ 'Faversham and Kent Mid' => { 'Conservative' => 26_250, 'Labour' => 7748, 'Liberal Democrat' => 9162, 'UK Independence Party' => 1722, 'Other' => 1830 },
387
+ 'Feltham and Heston' => { 'Conservative' => 16_516, 'Labour' => 21_174, 'Liberal Democrat' => 6679, 'UK Independence Party' => 992, 'Other' => 3175 },
388
+ 'Filton and Bradley Stoke' => { 'Conservative' => 19_686, 'Labour' => 12_772, 'Liberal Democrat' => 12_197, 'UK Independence Party' => 1506, 'Other' => 2140 },
389
+ 'Finchley and Golders Green' => { 'Conservative' => 21_688, 'Labour' => 15_879, 'Liberal Democrat' => 8036, 'UK Independence Party' => 817, 'Other' => 737 },
390
+ 'Folkestone and Hythe' => { 'Conservative' => 26_109, 'Labour' => 5719, 'Liberal Democrat' => 15_987, 'UK Independence Party' => 2439, 'Other' => 2546 },
391
+ 'Forest of Dean' => { 'Conservative' => 22_853, 'Labour' => 11_789, 'Liberal Democrat' => 10_676, 'UK Independence Party' => 2522, 'Other' => 923 },
392
+ 'Fylde' => { 'Conservative' => 22_826, 'Labour' => 8624, 'Liberal Democrat' => 9641, 'UK Independence Party' => 1945, 'Other' => 654 },
393
+ 'Gainsborough' => { 'Conservative' => 24_266, 'Labour' => 7701, 'Liberal Democrat' => 13_707, 'UK Independence Party' => 2065, 'Other' => 1512 },
394
+ 'Garston and Halewood' => { 'Conservative' => 6908, 'Labour' => 25_493, 'Liberal Democrat' => 8616, 'UK Independence Party' => 1540, 'Other' => 268 },
395
+ 'Gateshead' => { 'Conservative' => 5716, 'Labour' => 20_712, 'Liberal Democrat' => 8163, 'UK Independence Party' => 1103, 'Other' => 2563 },
396
+ 'Gedling' => { 'Conservative' => 17_962, 'Labour' => 19_821, 'Liberal Democrat' => 7350, 'UK Independence Party' => 1459, 'Other' => 1598 },
397
+ 'Gillingham and Rainham' => { 'Conservative' => 21_624, 'Labour' => 12_944, 'Liberal Democrat' => 8484, 'UK Independence Party' => 1515, 'Other' => 2219 },
398
+ 'Gloucester' => { 'Conservative' => 20_267, 'Labour' => 17_847, 'Liberal Democrat' => 9767, 'UK Independence Party' => 1808, 'Other' => 1075 },
399
+ 'Gosport' => { 'Conservative' => 24_300, 'Labour' => 7944, 'Liberal Democrat' => 9887, 'UK Independence Party' => 1496, 'Other' => 3312 },
400
+ 'Grantham and Stamford' => { 'Conservative' => 26_552, 'Labour' => 9503, 'Liberal Democrat' => 11_726, 'UK Independence Party' => 1604, 'Other' => 3414 },
401
+ 'Gravesham' => { 'Conservative' => 22_956, 'Labour' => 13_644, 'Liberal Democrat' => 6293, 'UK Independence Party' => 2265, 'Other' => 2145 },
402
+ 'Great Grimsby' => { 'Conservative' => 10_063, 'Labour' => 10_777, 'Liberal Democrat' => 7388, 'UK Independence Party' => 2043, 'Other' => 2683 },
403
+ 'Great Yarmouth' => { 'Conservative' => 18_571, 'Labour' => 14_295, 'Liberal Democrat' => 6188, 'UK Independence Party' => 2066, 'Other' => 1937 },
404
+ 'Greenwich and Woolwich' => { 'Conservative' => 10_109, 'Labour' => 20_262, 'Liberal Democrat' => 7498, 'Other' => 3319 },
405
+ 'Guildford' => { 'Conservative' => 29_618, 'Labour' => 2812, 'Liberal Democrat' => 21_836, 'UK Independence Party' => 1021, 'Other' => 280 },
406
+ 'Hackney North and Stoke Newington' => { 'Conservative' => 6759, 'Labour' => 25_553, 'Liberal Democrat' => 11_092, 'Other' => 3084 },
407
+ 'Hackney South and Shoreditch' => { 'Conservative' => 5800, 'Labour' => 23_888, 'Liberal Democrat' => 9600, 'UK Independence Party' => 651, 'Other' => 2919 },
408
+ 'Halesowen and Rowley Regis' => { 'Conservative' => 18_115, 'Labour' => 16_092, 'Liberal Democrat' => 6515, 'UK Independence Party' => 2824, 'Other' => 433 },
409
+ 'Halifax' => { 'Conservative' => 14_806, 'Labour' => 16_278, 'Liberal Democrat' => 8335, 'UK Independence Party' => 654, 'Other' => 3482 },
410
+ 'Haltemprice and Howden' => { 'Conservative' => 24_486, 'Labour' => 7630, 'Liberal Democrat' => 12_884, 'Other' => 3737 },
411
+ 'Halton' => { 'Conservative' => 8339, 'Labour' => 23_843, 'Liberal Democrat' => 5718, 'UK Independence Party' => 1228, 'Other' => 2210 },
412
+ 'Hammersmith' => { 'Conservative' => 17_261, 'Labour' => 20_810, 'Liberal Democrat' => 7567, 'UK Independence Party' => 551, 'Other' => 1263 },
413
+ 'Hampshire East' => { 'Conservative' => 29_137, 'Labour' => 4043, 'Liberal Democrat' => 15_640, 'UK Independence Party' => 1477, 'Other' => 1020 },
414
+ 'Hampshire North East' => { 'Conservative' => 32_075, 'Labour' => 5173, 'Liberal Democrat' => 13_478, 'UK Independence Party' => 2213 },
415
+ 'Hampshire North West' => { 'Conservative' => 31_072, 'Labour' => 6980, 'Liberal Democrat' => 12_489, 'UK Independence Party' => 2751 },
416
+ 'Hampstead and Kilburn' => { 'Conservative' => 17_290, 'Labour' => 17_332, 'Liberal Democrat' => 16_491, 'UK Independence Party' => 408, 'Other' => 1301 },
417
+ 'Harborough' => { 'Conservative' => 26_894, 'Labour' => 6981, 'Liberal Democrat' => 17_097, 'UK Independence Party' => 1462, 'Other' => 2511 },
418
+ 'Harlow' => { 'Conservative' => 19_691, 'Labour' => 14_766, 'Liberal Democrat' => 5990, 'UK Independence Party' => 1591, 'Other' => 1840 },
419
+ 'Harrogate and Knaresborough' => { 'Conservative' => 24_305, 'Labour' => 3413, 'Liberal Democrat' => 23_266, 'UK Independence Party' => 1056, 'Other' => 1094 },
420
+ 'Harrow East' => { 'Conservative' => 21_435, 'Labour' => 18_032, 'Liberal Democrat' => 6850, 'UK Independence Party' => 896, 'Other' => 793 },
421
+ 'Harrow West' => { 'Conservative' => 16_968, 'Labour' => 20_111, 'Liberal Democrat' => 7458, 'UK Independence Party' => 954, 'Other' => 625 },
422
+ 'Hartlepool' => { 'Conservative' => 10_758, 'Labour' => 16_267, 'Liberal Democrat' => 6533, 'UK Independence Party' => 2682, 'Other' => 2002 },
423
+ 'Harwich and North Essex' => { 'Conservative' => 23_001, 'Labour' => 9774, 'Liberal Democrat' => 11_554, 'UK Independence Party' => 2527, 'Other' => 2144 },
424
+ 'Hastings and Rye' => { 'Conservative' => 20_468, 'Labour' => 18_475, 'Liberal Democrat' => 7825, 'UK Independence Party' => 1397, 'Other' => 1649 },
425
+ 'Havant' => { 'Conservative' => 22_433, 'Labour' => 7777, 'Liberal Democrat' => 10_273, 'UK Independence Party' => 2611, 'Other' => 809 },
426
+ 'Hayes and Harlington' => { 'Conservative' => 12_553, 'Labour' => 23_377, 'Liberal Democrat' => 3726, 'Other' => 2981 },
427
+ 'Hazel Grove' => { 'Conservative' => 14_114, 'Labour' => 5234, 'Liberal Democrat' => 20_485, 'UK Independence Party' => 2148 },
428
+ 'Hemel Hempstead' => { 'Conservative' => 24_721, 'Labour' => 10_295, 'Liberal Democrat' => 11_315, 'UK Independence Party' => 1254, 'Other' => 1886 },
429
+ 'Hemsworth' => { 'Conservative' => 10_662, 'Labour' => 20_506, 'Liberal Democrat' => 5667, 'Other' => 7005 },
430
+ 'Hendon' => { 'Conservative' => 19_635, 'Labour' => 19_529, 'Liberal Democrat' => 5734, 'UK Independence Party' => 958, 'Other' => 518 },
431
+ 'Henley' => { 'Conservative' => 30_054, 'Labour' => 5835, 'Liberal Democrat' => 13_466, 'UK Independence Party' => 1817, 'Other' => 2348 },
432
+ 'Hereford and South Herefordshire' => { 'Conservative' => 22_366, 'Labour' => 3506, 'Liberal Democrat' => 19_885, 'UK Independence Party' => 1638, 'Other' => 986 },
433
+ 'Herefordshire North' => { 'Conservative' => 24_631, 'Labour' => 3373, 'Liberal Democrat' => 14_744, 'UK Independence Party' => 2701, 'Other' => 2119 },
434
+ 'Hertford and Stortford' => { 'Conservative' => 29_810, 'Labour' => 7620, 'Liberal Democrat' => 14_373, 'UK Independence Party' => 1716, 'Other' => 1858 },
435
+ 'Hertfordshire North East' => { 'Conservative' => 26_995, 'Labour' => 8291, 'Liberal Democrat' => 11_801, 'UK Independence Party' => 2075, 'Other' => 1263 },
436
+ 'Hertfordshire South West' => { 'Conservative' => 30_773, 'Labour' => 6526, 'Liberal Democrat' => 15_853, 'UK Independence Party' => 1450, 'Other' => 2148 },
437
+ 'Hertsmere' => { 'Conservative' => 26_476, 'Labour' => 8871, 'Liberal Democrat' => 8210, 'UK Independence Party' => 1712, 'Other' => 2001 },
438
+ 'Hexham' => { 'Conservative' => 18_795, 'Labour' => 8253, 'Liberal Democrat' => 13_007, 'Other' => 3428 },
439
+ 'Heywood and Middleton' => { 'Conservative' => 12_528, 'Labour' => 18_499, 'Liberal Democrat' => 10_474, 'UK Independence Party' => 1215, 'Other' => 3409 },
440
+ 'High Peak' => { 'Conservative' => 20_587, 'Labour' => 15_910, 'Liberal Democrat' => 10_993, 'UK Independence Party' => 1690, 'Other' => 1157 },
441
+ 'Hitchin and Harpenden' => { 'Conservative' => 29_869, 'Labour' => 7413, 'Liberal Democrat' => 14_598, 'UK Independence Party' => 1663, 'Other' => 1164 },
442
+ 'Holborn and St Pancras' => { 'Conservative' => 11_134, 'Labour' => 25_198, 'Liberal Democrat' => 15_256, 'UK Independence Party' => 587, 'Other' => 2474 },
443
+ 'Hornchurch and Upminster' => { 'Conservative' => 27_469, 'Labour' => 11_098, 'Liberal Democrat' => 7426, 'UK Independence Party' => 2848, 'Other' => 4549 },
444
+ 'Hornsey and Wood Green' => { 'Conservative' => 9174, 'Labour' => 18_720, 'Liberal Democrat' => 25_595, 'Other' => 1553 },
445
+ 'Horsham' => { 'Conservative' => 29_447, 'Labour' => 4189, 'Liberal Democrat' => 17_987, 'UK Independence Party' => 2839, 'Other' => 1379 },
446
+ 'Houghton and Sunderland South' => { 'Conservative' => 8147, 'Labour' => 19_137, 'Liberal Democrat' => 5292, 'UK Independence Party' => 1022, 'Other' => 4423 },
447
+ 'Hove' => { 'Conservative' => 18_294, 'Labour' => 16_426, 'Liberal Democrat' => 11_240, 'UK Independence Party' => 1206, 'Other' => 2653 },
448
+ 'Huddersfield' => { 'Conservative' => 11_253, 'Labour' => 15_725, 'Liberal Democrat' => 10_023, 'Other' => 3523 },
449
+ 'Hull East' => { 'Conservative' => 5667, 'Labour' => 16_387, 'Liberal Democrat' => 7790, 'UK Independence Party' => 2745, 'Other' => 1595 },
450
+ 'Hull North' => { 'Conservative' => 4365, 'Labour' => 13_044, 'Liberal Democrat' => 12_403, 'UK Independence Party' => 1358, 'Other' => 2121 },
451
+ 'Hull West and Hessle' => { 'Conservative' => 6361, 'Labour' => 13_378, 'Liberal Democrat' => 7636, 'UK Independence Party' => 1688, 'Other' => 2442 },
452
+ 'Huntingdon' => { 'Conservative' => 26_516, 'Labour' => 5982, 'Liberal Democrat' => 15_697, 'UK Independence Party' => 3258, 'Other' => 2813 },
453
+ 'Hyndburn' => { 'Conservative' => 14_441, 'Labour' => 17_531, 'Liberal Democrat' => 5033, 'UK Independence Party' => 1481, 'Other' => 4186 },
454
+ 'Ilford North' => { 'Conservative' => 21_506, 'Labour' => 16_102, 'Liberal Democrat' => 5966, 'UK Independence Party' => 871, 'Other' => 2573 },
455
+ 'Ilford South' => { 'Conservative' => 14_014, 'Labour' => 25_301, 'Liberal Democrat' => 8679, 'UK Independence Party' => 1132, 'Other' => 2065 },
456
+ 'Ipswich' => { 'Conservative' => 18_371, 'Labour' => 16_292, 'Liberal Democrat' => 8556, 'UK Independence Party' => 1365, 'Other' => 2357 },
457
+ 'Isle of Wight' => { 'Conservative' => 32_810, 'Labour' => 8169, 'Liberal Democrat' => 22_283, 'UK Independence Party' => 2435, 'Other' => 4567 },
458
+ 'Islington North' => { 'Conservative' => 6339, 'Labour' => 24_276, 'Liberal Democrat' => 11_875, 'UK Independence Party' => 716, 'Other' => 1348 },
459
+ 'Islington South and Finsbury' => { 'Conservative' => 8449, 'Labour' => 18_407, 'Liberal Democrat' => 14_838, 'UK Independence Party' => 701, 'Other' => 1160 },
460
+ 'Jarrow' => { 'Conservative' => 8002, 'Labour' => 20_910, 'Liberal Democrat' => 7163, 'Other' => 2709 },
461
+ 'Keighley' => { 'Conservative' => 20_003, 'Labour' => 17_063, 'Liberal Democrat' => 7059, 'UK Independence Party' => 1470, 'Other' => 2097 },
462
+ 'Kenilworth and Southam' => { 'Conservative' => 25_945, 'Labour' => 6949, 'Liberal Democrat' => 13_393, 'UK Independence Party' => 1214, 'Other' => 930 },
463
+ 'Kensington' => { 'Conservative' => 17_595, 'Labour' => 8979, 'Liberal Democrat' => 6872, 'UK Independence Party' => 754, 'Other' => 950 },
464
+ 'Kettering' => { 'Conservative' => 23_247, 'Labour' => 14_153, 'Liberal Democrat' => 7498, 'Other' => 2430 },
465
+ 'Kingston and Surbiton' => { 'Conservative' => 20_868, 'Labour' => 5337, 'Liberal Democrat' => 28_428, 'UK Independence Party' => 1450, 'Other' => 1028 },
466
+ 'Kingswood' => { 'Conservative' => 19_362, 'Labour' => 16_917, 'Liberal Democrat' => 8072, 'UK Independence Party' => 1528, 'Other' => 2027 },
467
+ 'Knowsley' => { 'Conservative' => 4004, 'Labour' => 31_650, 'Liberal Democrat' => 5964, 'UK Independence Party' => 1145, 'Other' => 1895 },
468
+ 'Lancashire West' => { 'Conservative' => 17_540, 'Labour' => 21_883, 'Liberal Democrat' => 6573, 'UK Independence Party' => 1775, 'Other' => 702 },
469
+ 'Lancaster and Fleetwood' => { 'Conservative' => 15_404, 'Labour' => 15_071, 'Liberal Democrat' => 8167, 'UK Independence Party' => 1020, 'Other' => 3039 },
470
+ 'Leeds Central' => { 'Conservative' => 7541, 'Labour' => 18_434, 'Liberal Democrat' => 7789, 'Other' => 3630 },
471
+ 'Leeds East' => { 'Conservative' => 8763, 'Labour' => 19_056, 'Liberal Democrat' => 6618, 'Other' => 3376 },
472
+ 'Leeds North East' => { 'Conservative' => 15_742, 'Labour' => 20_287, 'Liberal Democrat' => 9310, 'UK Independence Party' => 842, 'Other' => 1354 },
473
+ 'Leeds North West' => { 'Conservative' => 11_550, 'Labour' => 9132, 'Liberal Democrat' => 20_653, 'UK Independence Party' => 600, 'Other' => 1548 },
474
+ 'Leeds West' => { 'Conservative' => 7641, 'Labour' => 16_389, 'Liberal Democrat' => 9373, 'UK Independence Party' => 1140, 'Other' => 4209 },
475
+ 'Leicester East' => { 'Conservative' => 11_722, 'Labour' => 25_804, 'Liberal Democrat' => 6817, 'UK Independence Party' => 725, 'Other' => 2927 },
476
+ 'Leicester South' => { 'Conservative' => 10_066, 'Labour' => 21_479, 'Liberal Democrat' => 12_671, 'UK Independence Party' => 720, 'Other' => 2188 },
477
+ 'Leicester West' => { 'Conservative' => 9728, 'Labour' => 13_745, 'Liberal Democrat' => 8107, 'UK Independence Party' => 883, 'Other' => 3356 },
478
+ 'Leicestershire North West' => { 'Conservative' => 23_147, 'Labour' => 15_636, 'Liberal Democrat' => 8639, 'UK Independence Party' => 1134, 'Other' => 3396 },
479
+ 'Leicestershire South' => { 'Conservative' => 27_000, 'Labour' => 11_392, 'Liberal Democrat' => 11_476, 'UK Independence Party' => 1988, 'Other' => 2721 },
480
+ 'Leigh' => { 'Conservative' => 9284, 'Labour' => 21_295, 'Liberal Democrat' => 8049, 'UK Independence Party' => 1535, 'Other' => 4169 },
481
+ 'Lewes' => { 'Conservative' => 18_401, 'Labour' => 2508, 'Liberal Democrat' => 26_048, 'UK Independence Party' => 1728, 'Other' => 1403 },
482
+ 'Lewisham Deptford' => { 'Conservative' => 5551, 'Labour' => 22_132, 'Liberal Democrat' => 9633, 'Other' => 3904 },
483
+ 'Lewisham East' => { 'Conservative' => 9850, 'Labour' => 17_966, 'Liberal Democrat' => 11_750, 'UK Independence Party' => 771, 'Other' => 1382 },
484
+ 'Lewisham West and Penge' => { 'Conservative' => 11_489, 'Labour' => 18_501, 'Liberal Democrat' => 12_673, 'UK Independence Party' => 1117, 'Other' => 1248 },
485
+ 'Leyton and Wanstead' => { 'Conservative' => 8928, 'Labour' => 17_511, 'Liberal Democrat' => 11_095, 'UK Independence Party' => 1080, 'Other' => 1545 },
486
+ 'Lichfield' => { 'Conservative' => 28_048, 'Labour' => 10_230, 'Liberal Democrat' => 10_365, 'UK Independence Party' => 2920 },
487
+ 'Lincoln' => { 'Conservative' => 17_163, 'Labour' => 16_105, 'Liberal Democrat' => 9256, 'UK Independence Party' => 1004, 'Other' => 2193 },
488
+ 'Liverpool Riverside' => { 'Conservative' => 4243, 'Labour' => 22_998, 'Liberal Democrat' => 8825, 'UK Independence Party' => 674, 'Other' => 2061 },
489
+ 'Liverpool Walton' => { 'Conservative' => 2241, 'Labour' => 24_709, 'Liberal Democrat' => 4891, 'UK Independence Party' => 898, 'Other' => 1596 },
490
+ 'Liverpool Wavertree' => { 'Conservative' => 2830, 'Labour' => 20_132, 'Liberal Democrat' => 12_965, 'UK Independence Party' => 890, 'Other' => 1097 },
491
+ 'Liverpool West Derby' => { 'Conservative' => 3311, 'Labour' => 22_953, 'Liberal Democrat' => 4486, 'UK Independence Party' => 1093, 'Other' => 3941 },
492
+ 'Loughborough' => { 'Conservative' => 21_971, 'Labour' => 18_227, 'Liberal Democrat' => 9675, 'UK Independence Party' => 925, 'Other' => 2040 },
493
+ 'Louth and Horncastle' => { 'Conservative' => 25_065, 'Labour' => 8760, 'Liberal Democrat' => 11_194, 'UK Independence Party' => 2183, 'Other' => 3292 },
494
+ 'Ludlow' => { 'Conservative' => 25_720, 'Labour' => 3272, 'Liberal Democrat' => 15_971, 'UK Independence Party' => 2127, 'Other' => 1642 },
495
+ 'Luton North' => { 'Conservative' => 13_672, 'Labour' => 21_192, 'Liberal Democrat' => 4784, 'UK Independence Party' => 1564, 'Other' => 1806 },
496
+ 'Luton South' => { 'Conservative' => 12_396, 'Labour' => 14_725, 'Liberal Democrat' => 9567, 'UK Independence Party' => 975, 'Other' => 4553 },
497
+ 'Macclesfield' => { 'Conservative' => 23_503, 'Labour' => 10_164, 'Liberal Democrat' => 11_544, 'UK Independence Party' => 1418, 'Other' => 3430 },
498
+ 'Maidenhead' => { 'Conservative' => 31_937, 'Labour' => 3795, 'Liberal Democrat' => 15_168, 'UK Independence Party' => 1243, 'Other' => 1577 },
499
+ 'Maidstone and The Weald' => { 'Conservative' => 23_491, 'Labour' => 4769, 'Liberal Democrat' => 17_602, 'UK Independence Party' => 1637, 'Other' => 1429 },
500
+ 'Makerfield' => { 'Conservative' => 8210, 'Labour' => 20_700, 'Liberal Democrat' => 7082, 'Other' => 7779 },
501
+ 'Maldon' => { 'Conservative' => 28_661, 'Labour' => 6070, 'Liberal Democrat' => 9254, 'UK Independence Party' => 2446, 'Other' => 1464 },
502
+ 'Manchester Central' => { 'Conservative' => 4704, 'Labour' => 21_059, 'Liberal Democrat' => 10_620, 'UK Independence Party' => 607, 'Other' => 2937 },
503
+ 'Manchester Gorton' => { 'Conservative' => 4224, 'Labour' => 19_211, 'Liberal Democrat' => 12_508, 'Other' => 2382 },
504
+ 'Manchester Withington' => { 'Conservative' => 5005, 'Labour' => 18_216, 'Liberal Democrat' => 20_110, 'UK Independence Party' => 698, 'Other' => 1002 },
505
+ 'Mansfield' => { 'Conservative' => 12_741, 'Labour' => 18_753, 'Liberal Democrat' => 7469, 'UK Independence Party' => 2985, 'Other' => 6447 },
506
+ 'Meon Valley' => { 'Conservative' => 28_818, 'Labour' => 3266, 'Liberal Democrat' => 16_693, 'UK Independence Party' => 1490, 'Other' => 971 },
507
+ 'Meriden' => { 'Conservative' => 26_956, 'Labour' => 10_703, 'Liberal Democrat' => 9278, 'UK Independence Party' => 1378, 'Other' => 3847 },
508
+ 'Middlesbrough' => { 'Conservative' => 6283, 'Labour' => 15_351, 'Liberal Democrat' => 6662, 'UK Independence Party' => 1236, 'Other' => 3923 },
509
+ 'Middlesbrough South and Cleveland East' => { 'Conservative' => 16_461, 'Labour' => 18_138, 'Liberal Democrat' => 7340, 'UK Independence Party' => 1881, 'Other' => 2394 },
510
+ 'Milton Keynes North' => { 'Conservative' => 23_419, 'Labour' => 14_458, 'Liberal Democrat' => 11_894, 'UK Independence Party' => 1772, 'Other' => 2345 },
511
+ 'Milton Keynes South' => { 'Conservative' => 23_034, 'Labour' => 17_833, 'Liberal Democrat' => 9787, 'UK Independence Party' => 2074, 'Other' => 2605 },
512
+ 'Mitcham and Morden' => { 'Conservative' => 11_056, 'Labour' => 24_722, 'Liberal Democrat' => 5202, 'UK Independence Party' => 857, 'Other' => 1960 },
513
+ 'Mole Valley' => { 'Conservative' => 31_263, 'Labour' => 3804, 'Liberal Democrat' => 15_610, 'UK Independence Party' => 2752, 'Other' => 895 },
514
+ 'Morecambe and Lunesdale' => { 'Conservative' => 18_035, 'Labour' => 17_169, 'Liberal Democrat' => 5791, 'UK Independence Party' => 1843, 'Other' => 598 },
515
+ 'Morley and Outwood' => { 'Conservative' => 17_264, 'Labour' => 18_365, 'Liberal Democrat' => 8186, 'UK Independence Party' => 1506, 'Other' => 3535 },
516
+ 'New Forest East' => { 'Conservative' => 26_443, 'Labour' => 4915, 'Liberal Democrat' => 15_136, 'UK Independence Party' => 2518, 'Other' => 1024 },
517
+ 'New Forest West' => { 'Conservative' => 27_980, 'Labour' => 4666, 'Liberal Democrat' => 11_084, 'UK Independence Party' => 2783, 'Other' => 1059 },
518
+ 'Newark' => { 'Conservative' => 27_590, 'Labour' => 11_438, 'Liberal Democrat' => 10_246, 'UK Independence Party' => 1954 },
519
+ 'Newbury' => { 'Conservative' => 33_057, 'Labour' => 2505, 'Liberal Democrat' => 20_809, 'UK Independence Party' => 1475, 'Other' => 743 },
520
+ 'Newcastle upon Tyne Central' => { 'Conservative' => 6611, 'Labour' => 15_694, 'Liberal Democrat' => 8228, 'UK Independence Party' => 754, 'Other' => 2870 },
521
+ 'Newcastle upon Tyne East' => { 'Conservative' => 6068, 'Labour' => 17_043, 'Liberal Democrat' => 12_590, 'Other' => 2139 },
522
+ 'Newcastle upon Tyne North' => { 'Conservative' => 7966, 'Labour' => 17_950, 'Liberal Democrat' => 14_536, 'UK Independence Party' => 1285, 'Other' => 2209 },
523
+ 'Newcastle-under-Lyme' => { 'Conservative' => 14_841, 'Labour' => 16_393, 'Liberal Democrat' => 8466, 'UK Independence Party' => 3491 },
524
+ 'Newton Abbot' => { 'Conservative' => 20_774, 'Labour' => 3387, 'Liberal Democrat' => 20_251, 'UK Independence Party' => 3088, 'Other' => 783 },
525
+ 'Norfolk Mid' => { 'Conservative' => 25_123, 'Labour' => 8857, 'Liberal Democrat' => 11_267, 'UK Independence Party' => 2800, 'Other' => 2718 },
526
+ 'Norfolk North' => { 'Conservative' => 15_928, 'Labour' => 2896, 'Liberal Democrat' => 27_554, 'UK Independence Party' => 2680, 'Other' => 603 },
527
+ 'Norfolk North West' => { 'Conservative' => 25_916, 'Labour' => 6353, 'Liberal Democrat' => 11_106, 'UK Independence Party' => 1841, 'Other' => 2584 },
528
+ 'Norfolk South' => { 'Conservative' => 27_133, 'Labour' => 7252, 'Liberal Democrat' => 16_193, 'UK Independence Party' => 2329, 'Other' => 2086 },
529
+ 'Norfolk South West' => { 'Conservative' => 23_753, 'Labour' => 9119, 'Liberal Democrat' => 10_613, 'UK Independence Party' => 3061, 'Other' => 2604 },
530
+ 'Normanton, Pontefract and Castleford' => { 'Conservative' => 11_314, 'Labour' => 22_293, 'Liberal Democrat' => 7585, 'Other' => 5047 },
531
+ 'Northampton North' => { 'Conservative' => 13_735, 'Labour' => 11_799, 'Liberal Democrat' => 11_250, 'UK Independence Party' => 1238, 'Other' => 2249 },
532
+ 'Northampton South' => { 'Conservative' => 15_917, 'Labour' => 9913, 'Liberal Democrat' => 7579, 'UK Independence Party' => 1897, 'Other' => 3672 },
533
+ 'Northamptonshire South' => { 'Conservative' => 33_081, 'Labour' => 10_380, 'Liberal Democrat' => 12_603, 'UK Independence Party' => 2406, 'Other' => 1420 },
534
+ 'Norwich North' => { 'Conservative' => 17_280, 'Labour' => 13_379, 'Liberal Democrat' => 7783, 'UK Independence Party' => 1878, 'Other' => 2253 },
535
+ 'Norwich South' => { 'Conservative' => 10_902, 'Labour' => 13_650, 'Liberal Democrat' => 13_960, 'UK Independence Party' => 1145, 'Other' => 7894 },
536
+ 'Nottingham East' => { 'Conservative' => 7846, 'Labour' => 15_022, 'Liberal Democrat' => 8053, 'UK Independence Party' => 1138, 'Other' => 1053 },
537
+ 'Nottingham North' => { 'Conservative' => 8508, 'Labour' => 16_646, 'Liberal Democrat' => 5849, 'UK Independence Party' => 1338, 'Other' => 1944 },
538
+ 'Nottingham South' => { 'Conservative' => 13_437, 'Labour' => 15_209, 'Liberal Democrat' => 9406, 'UK Independence Party' => 967, 'Other' => 1770 },
539
+ 'Nuneaton' => { 'Conservative' => 18_536, 'Labour' => 16_467, 'Liberal Democrat' => 6846, 'Other' => 2797 },
540
+ 'Old Bexley and Sidcup' => { 'Conservative' => 24_625, 'Labour' => 8768, 'Liberal Democrat' => 6996, 'UK Independence Party' => 1532, 'Other' => 3571 },
541
+ 'Oldham East and Saddleworth' => { 'Conservative' => 11_773, 'Labour' => 14_186, 'Liberal Democrat' => 14_083, 'UK Independence Party' => 1720, 'Other' => 2758 },
542
+ 'Oldham West and Royton' => { 'Conservative' => 10_151, 'Labour' => 19_503, 'Liberal Democrat' => 8193, 'UK Independence Party' => 1387, 'Other' => 3676 },
543
+ 'Orpington' => { 'Conservative' => 29_200, 'Labour' => 4400, 'Liberal Democrat' => 12_000, 'UK Independence Party' => 1360, 'Other' => 1951 },
544
+ 'Oxford East' => { 'Conservative' => 9727, 'Labour' => 21_938, 'Liberal Democrat' => 17_357, 'UK Independence Party' => 1202, 'Other' => 1427 },
545
+ 'Oxford West and Abingdon' => { 'Conservative' => 23_906, 'Labour' => 5999, 'Liberal Democrat' => 23_730, 'UK Independence Party' => 1518, 'Other' => 1327 },
546
+ 'Pendle' => { 'Conservative' => 17_512, 'Labour' => 13_927, 'Liberal Democrat' => 9095, 'UK Independence Party' => 1476, 'Other' => 3035 },
547
+ 'Penistone and Stocksbridge' => { 'Conservative' => 14_516, 'Labour' => 17_565, 'Liberal Democrat' => 9800, 'UK Independence Party' => 1936, 'Other' => 2699 },
548
+ 'Penrith and The Border' => { 'Conservative' => 24_071, 'Labour' => 5834, 'Liberal Democrat' => 12_830, 'UK Independence Party' => 1259, 'Other' => 1093 },
549
+ 'Peterborough' => { 'Conservative' => 18_133, 'Labour' => 13_272, 'Liberal Democrat' => 8816, 'UK Independence Party' => 3007, 'Other' => 1699 },
550
+ 'Plymouth Moor View' => { 'Conservative' => 13_845, 'Labour' => 15_433, 'Liberal Democrat' => 7016, 'UK Independence Party' => 3188, 'Other' => 2044 },
551
+ 'Plymouth Sutton and Devonport' => { 'Conservative' => 15_050, 'Labour' => 13_901, 'Liberal Democrat' => 10_829, 'UK Independence Party' => 2854, 'Other' => 1260 },
552
+ 'Poole' => { 'Conservative' => 22_532, 'Labour' => 6041, 'Liberal Democrat' => 14_991, 'UK Independence Party' => 2507, 'Other' => 1365 },
553
+ 'Poplar and Limehouse' => { 'Conservative' => 12_649, 'Labour' => 18_679, 'Liberal Democrat' => 5209, 'UK Independence Party' => 565, 'Other' => 9598 },
554
+ 'Portsmouth North' => { 'Conservative' => 19_533, 'Labour' => 12_244, 'Liberal Democrat' => 8874, 'UK Independence Party' => 1812, 'Other' => 1655 },
555
+ 'Portsmouth South' => { 'Conservative' => 13_721, 'Labour' => 5640, 'Liberal Democrat' => 18_921, 'UK Independence Party' => 876, 'Other' => 2106 },
556
+ 'Preston' => { 'Conservative' => 7060, 'Labour' => 15_668, 'Liberal Democrat' => 7935, 'UK Independence Party' => 1462, 'Other' => 380 },
557
+ 'Pudsey' => { 'Conservative' => 18_874, 'Labour' => 17_215, 'Liberal Democrat' => 10_224, 'UK Independence Party' => 1221, 'Other' => 1549 },
558
+ 'Putney' => { 'Conservative' => 21_223, 'Labour' => 11_170, 'Liberal Democrat' => 6907, 'UK Independence Party' => 435, 'Other' => 1050 },
559
+ 'Rayleigh and Wickford' => { 'Conservative' => 30_257, 'Labour' => 7577, 'Liberal Democrat' => 7919, 'UK Independence Party' => 2211, 'Other' => 4379 },
560
+ 'Reading East' => { 'Conservative' => 21_269, 'Labour' => 12_729, 'Liberal Democrat' => 13_664, 'UK Independence Party' => 1086, 'Other' => 1237 },
561
+ 'Reading West' => { 'Conservative' => 20_523, 'Labour' => 14_519, 'Liberal Democrat' => 9546, 'UK Independence Party' => 1508, 'Other' => 1434 },
562
+ 'Redcar' => { 'Conservative' => 5790, 'Labour' => 13_741, 'Liberal Democrat' => 18_955, 'UK Independence Party' => 1875, 'Other' => 1602 },
563
+ 'Redditch' => { 'Conservative' => 19_138, 'Labour' => 13_317, 'Liberal Democrat' => 7750, 'UK Independence Party' => 1497, 'Other' => 2316 },
564
+ 'Reigate' => { 'Conservative' => 26_688, 'Labour' => 5672, 'Liberal Democrat' => 13_097, 'UK Independence Party' => 2089, 'Other' => 2432 },
565
+ 'Ribble South' => { 'Conservative' => 23_396, 'Labour' => 17_842, 'Liberal Democrat' => 7271, 'UK Independence Party' => 1895, 'Other' => 1054 },
566
+ 'Ribble Valley' => { 'Conservative' => 26_298, 'Labour' => 11_529, 'Liberal Democrat' => 10_732, 'UK Independence Party' => 3496, 'Other' => 232 },
567
+ 'Richmond' => { 'Conservative' => 33_541, 'Labour' => 8150, 'Liberal Democrat' => 10_205, 'Other' => 1516 },
568
+ 'Richmond Park' => { 'Conservative' => 29_461, 'Labour' => 2979, 'Liberal Democrat' => 25_370, 'UK Independence Party' => 669, 'Other' => 789 },
569
+ 'Rochdale' => { 'Conservative' => 8305, 'Labour' => 16_699, 'Liberal Democrat' => 15_810, 'UK Independence Party' => 1999, 'Other' => 3094 },
570
+ 'Rochester and Strood' => { 'Conservative' => 23_604, 'Labour' => 13_651, 'Liberal Democrat' => 7800, 'Other' => 2916 },
571
+ 'Rochford and Southend East' => { 'Conservative' => 19_509, 'Labour' => 8459, 'Liberal Democrat' => 8084, 'UK Independence Party' => 2405, 'Other' => 3174 },
572
+ 'Romford' => { 'Conservative' => 26_031, 'Labour' => 9077, 'Liberal Democrat' => 5572, 'UK Independence Party' => 2050, 'Other' => 3751 },
573
+ 'Romsey and Southampton North' => { 'Conservative' => 24_345, 'Labour' => 3116, 'Liberal Democrat' => 20_189, 'UK Independence Party' => 1289 },
574
+ 'Rossendale and Darwen' => { 'Conservative' => 19_691, 'Labour' => 15_198, 'Liberal Democrat' => 8541, 'UK Independence Party' => 1617, 'Other' => 2081 },
575
+ 'Rother Valley' => { 'Conservative' => 13_281, 'Labour' => 19_147, 'Liberal Democrat' => 8111, 'UK Independence Party' => 2613, 'Other' => 3606 },
576
+ 'Rotherham' => { 'Conservative' => 6279, 'Labour' => 16_741, 'Liberal Democrat' => 5994, 'UK Independence Party' => 2220, 'Other' => 6272 },
577
+ 'Rugby' => { 'Conservative' => 20_901, 'Labour' => 14_901, 'Liberal Democrat' => 9434, 'UK Independence Party' => 406, 'Other' => 1826 },
578
+ 'Ruislip, Northwood and Pinner' => { 'Conservative' => 28_866, 'Labour' => 9806, 'Liberal Democrat' => 8345, 'UK Independence Party' => 1351, 'Other' => 1837 },
579
+ 'Runnymede and Weybridge' => { 'Conservative' => 26_915, 'Labour' => 6446, 'Liberal Democrat' => 10_406, 'UK Independence Party' => 3146, 'Other' => 1237 },
580
+ 'Rushcliffe' => { 'Conservative' => 27_470, 'Labour' => 11_128, 'Liberal Democrat' => 11_659, 'UK Independence Party' => 2179, 'Other' => 1251 },
581
+ 'Rutland and Melton' => { 'Conservative' => 28_228, 'Labour' => 7893, 'Liberal Democrat' => 14_228, 'UK Independence Party' => 2526, 'Other' => 2345 },
582
+ 'Saffron Walden' => { 'Conservative' => 30_155, 'Labour' => 5288, 'Liberal Democrat' => 14_913, 'UK Independence Party' => 2228, 'Other' => 1785 },
583
+ 'Salford and Eccles' => { 'Conservative' => 8497, 'Labour' => 16_655, 'Liberal Democrat' => 10_930, 'UK Independence Party' => 1084, 'Other' => 4367 },
584
+ 'Salisbury' => { 'Conservative' => 23_859, 'Labour' => 3690, 'Liberal Democrat' => 17_893, 'UK Independence Party' => 1392, 'Other' => 1647 },
585
+ 'Scarborough and Whitby' => { 'Conservative' => 21_108, 'Labour' => 12_978, 'Liberal Democrat' => 11_093, 'UK Independence Party' => 1484, 'Other' => 2619 },
586
+ 'Scunthorpe' => { 'Conservative' => 12_091, 'Labour' => 14_640, 'Liberal Democrat' => 6774, 'UK Independence Party' => 1686, 'Other' => 1843 },
587
+ 'Sedgefield' => { 'Conservative' => 9445, 'Labour' => 18_141, 'Liberal Democrat' => 8033, 'UK Independence Party' => 1479, 'Other' => 3124 },
588
+ 'Sefton Central' => { 'Conservative' => 16_445, 'Labour' => 20_307, 'Liberal Democrat' => 9656, 'UK Independence Party' => 2055 },
589
+ 'Selby and Ainsty' => { 'Conservative' => 25_562, 'Labour' => 13_297, 'Liberal Democrat' => 9180, 'UK Independence Party' => 1635, 'Other' => 2054 },
590
+ 'Sevenoaks' => { 'Conservative' => 28_076, 'Labour' => 6541, 'Liberal Democrat' => 10_561, 'UK Independence Party' => 1782, 'Other' => 2448 },
591
+ 'Sheffield Brightside and Hillsborough' => { 'Conservative' => 4468, 'Labour' => 21_400, 'Liberal Democrat' => 7768, 'UK Independence Party' => 1596, 'Other' => 3682 },
592
+ 'Sheffield Central' => { 'Conservative' => 4206, 'Labour' => 17_138, 'Liberal Democrat' => 16_973, 'UK Independence Party' => 652, 'Other' => 2499 },
593
+ 'Sheffield Hallam' => { 'Conservative' => 12_040, 'Labour' => 8228, 'Liberal Democrat' => 27_324, 'UK Independence Party' => 1195, 'Other' => 2348 },
594
+ 'Sheffield Heeley' => { 'Conservative' => 7081, 'Labour' => 17_409, 'Liberal Democrat' => 11_602, 'UK Independence Party' => 1530, 'Other' => 3249 },
595
+ 'Sheffield South East' => { 'Conservative' => 7202, 'Labour' => 20_169, 'Liberal Democrat' => 9664, 'UK Independence Party' => 1889, 'Other' => 2484 },
596
+ 'Sherwood' => { 'Conservative' => 19_211, 'Labour' => 18_997, 'Liberal Democrat' => 7283, 'UK Independence Party' => 1490, 'Other' => 1973 },
597
+ 'Shipley' => { 'Conservative' => 24_002, 'Labour' => 14_058, 'Liberal Democrat' => 9890, 'Other' => 1477 },
598
+ 'Shrewsbury and Atcham' => { 'Conservative' => 23_313, 'Labour' => 10_915, 'Liberal Democrat' => 15_369, 'UK Independence Party' => 1627, 'Other' => 1821 },
599
+ 'Shropshire North' => { 'Conservative' => 26_692, 'Labour' => 9406, 'Liberal Democrat' => 10_864, 'UK Independence Party' => 2432, 'Other' => 2475 },
600
+ 'Sittingbourne and Sheppey' => { 'Conservative' => 24_313, 'Labour' => 11_930, 'Liberal Democrat' => 7943, 'UK Independence Party' => 2610, 'Other' => 1782 },
601
+ 'Skipton and Ripon' => { 'Conservative' => 27_685, 'Labour' => 5498, 'Liberal Democrat' => 17_735, 'UK Independence Party' => 1909, 'Other' => 1897 },
602
+ 'Sleaford and North Hykeham' => { 'Conservative' => 30_719, 'Labour' => 10_051, 'Liberal Democrat' => 10_814, 'UK Independence Party' => 2163, 'Other' => 5783 },
603
+ 'Slough' => { 'Conservative' => 16_361, 'Labour' => 21_884, 'Liberal Democrat' => 6943, 'UK Independence Party' => 1517, 'Other' => 1037 },
604
+ 'Solihull' => { 'Conservative' => 23_460, 'Labour' => 4891, 'Liberal Democrat' => 23_635, 'UK Independence Party' => 1200, 'Other' => 1943 },
605
+ 'Somerset North' => { 'Conservative' => 28_549, 'Labour' => 6448, 'Liberal Democrat' => 20_687, 'UK Independence Party' => 2257 },
606
+ 'Somerset North East' => { 'Conservative' => 21_130, 'Labour' => 16_216, 'Liberal Democrat' => 11_433, 'UK Independence Party' => 1754, 'Other' => 670 },
607
+ 'Somerton and Frome' => { 'Conservative' => 26_976, 'Labour' => 2675, 'Liberal Democrat' => 28_793, 'UK Independence Party' => 1932, 'Other' => 236 },
608
+ 'South Holland and The Deepings' => { 'Conservative' => 29_639, 'Labour' => 7024, 'Liberal Democrat' => 7759, 'UK Independence Party' => 3246, 'Other' => 2520 },
609
+ 'South Shields' => { 'Conservative' => 7886, 'Labour' => 18_995, 'Liberal Democrat' => 5189, 'Other' => 4448 },
610
+ 'Southampton Itchen' => { 'Conservative' => 16_134, 'Labour' => 16_326, 'Liberal Democrat' => 9256, 'UK Independence Party' => 1928, 'Other' => 768 },
611
+ 'Southampton Test' => { 'Conservative' => 14_588, 'Labour' => 17_001, 'Liberal Democrat' => 9865, 'UK Independence Party' => 1726, 'Other' => 1007 },
612
+ 'Southend West' => { 'Conservative' => 20_086, 'Labour' => 5850, 'Liberal Democrat' => 12_816, 'UK Independence Party' => 1714, 'Other' => 3140 },
613
+ 'Southport' => { 'Conservative' => 15_683, 'Labour' => 4116, 'Liberal Democrat' => 21_707, 'UK Independence Party' => 2251 },
614
+ 'Spelthorne' => { 'Conservative' => 22_261, 'Labour' => 7789, 'Liberal Democrat' => 12_242, 'UK Independence Party' => 4009, 'Other' => 1003 },
615
+ 'St Albans' => { 'Conservative' => 21_533, 'Labour' => 9288, 'Liberal Democrat' => 19_228, 'UK Independence Party' => 2028, 'Other' => 758 },
616
+ 'St Austell and Newquay' => { 'Conservative' => 18_877, 'Labour' => 3386, 'Liberal Democrat' => 20_189, 'UK Independence Party' => 1757, 'Other' => 3029 },
617
+ 'St Helens North' => { 'Conservative' => 9940, 'Labour' => 23_041, 'Liberal Democrat' => 8992, 'UK Independence Party' => 2100, 'Other' => 483 },
618
+ 'St Helens South and Whiston' => { 'Conservative' => 8209, 'Labour' => 24_364, 'Liberal Democrat' => 10_242, 'UK Independence Party' => 1226, 'Other' => 2040 },
619
+ 'St Ives' => { 'Conservative' => 17_900, 'Labour' => 3751, 'Liberal Democrat' => 19_619, 'UK Independence Party' => 2560, 'Other' => 2091 },
620
+ 'Stafford' => { 'Conservative' => 22_047, 'Labour' => 16_587, 'Liberal Democrat' => 8211, 'UK Independence Party' => 1727, 'Other' => 1667 },
621
+ 'Staffordshire Moorlands' => { 'Conservative' => 19_793, 'Labour' => 13_104, 'Liberal Democrat' => 7338, 'UK Independence Party' => 3580 },
622
+ 'Staffordshire South' => { 'Conservative' => 26_834, 'Labour' => 10_244, 'Liberal Democrat' => 8427, 'UK Independence Party' => 2753, 'Other' => 2182 },
623
+ 'Stalybridge and Hyde' => { 'Conservative' => 13_445, 'Labour' => 16_189, 'Liberal Democrat' => 6965, 'UK Independence Party' => 1342, 'Other' => 2938 },
624
+ 'Stevenage' => { 'Conservative' => 18_491, 'Labour' => 14_913, 'Liberal Democrat' => 7432, 'UK Independence Party' => 2004, 'Other' => 1811 },
625
+ 'Stockport' => { 'Conservative' => 9913, 'Labour' => 16_697, 'Liberal Democrat' => 9778, 'UK Independence Party' => 862, 'Other' => 1878 },
626
+ 'Stockton North' => { 'Conservative' => 10_247, 'Labour' => 16_923, 'Liberal Democrat' => 6342, 'UK Independence Party' => 1556, 'Other' => 4430 },
627
+ 'Stockton South' => { 'Conservative' => 19_577, 'Labour' => 19_245, 'Liberal Democrat' => 7600, 'UK Independence Party' => 1471, 'Other' => 2391 },
628
+ 'Stoke-on-Trent Central' => { 'Conservative' => 6833, 'Labour' => 12_605, 'Liberal Democrat' => 7039, 'UK Independence Party' => 1402, 'Other' => 4591 },
629
+ 'Stoke-on-Trent North' => { 'Conservative' => 9580, 'Labour' => 17_815, 'Liberal Democrat' => 7120, 'UK Independence Party' => 2485, 'Other' => 3196 },
630
+ 'Stoke-on-Trent South' => { 'Conservative' => 11_316, 'Labour' => 15_446, 'Liberal Democrat' => 6323, 'UK Independence Party' => 1363, 'Other' => 5404 },
631
+ 'Stone' => { 'Conservative' => 23_890, 'Labour' => 9770, 'Liberal Democrat' => 10_598, 'UK Independence Party' => 2481, 'Other' => 490 },
632
+ 'Stourbridge' => { 'Conservative' => 20_153, 'Labour' => 14_989, 'Liberal Democrat' => 7733, 'UK Independence Party' => 2103, 'Other' => 2256 },
633
+ 'Stratford-on-Avon' => { 'Conservative' => 26_052, 'Labour' => 4809, 'Liberal Democrat' => 14_706, 'UK Independence Party' => 1846, 'Other' => 3129 },
634
+ 'Streatham' => { 'Conservative' => 8578, 'Labour' => 20_037, 'Liberal Democrat' => 16_778, 'Other' => 1444 },
635
+ 'Stretford and Urmston' => { 'Conservative' => 12_886, 'Labour' => 21_821, 'Liberal Democrat' => 7601, 'UK Independence Party' => 1508, 'Other' => 1094 },
636
+ 'Stroud' => { 'Conservative' => 23_679, 'Labour' => 22_380, 'Liberal Democrat' => 8955, 'UK Independence Party' => 1301, 'Other' => 1658 },
637
+ 'Suffolk Central and Ipswich North' => { 'Conservative' => 27_125, 'Labour' => 8636, 'Liberal Democrat' => 13_339, 'UK Independence Party' => 2361, 'Other' => 1959 },
638
+ 'Suffolk Coastal' => { 'Conservative' => 25_475, 'Labour' => 8812, 'Liberal Democrat' => 16_347, 'UK Independence Party' => 3156, 'Other' => 1103 },
639
+ 'Suffolk South' => { 'Conservative' => 24_550, 'Labour' => 7368, 'Liberal Democrat' => 15_861, 'UK Independence Party' => 3637 },
640
+ 'Suffolk West' => { 'Conservative' => 24_312, 'Labour' => 7089, 'Liberal Democrat' => 11_262, 'UK Independence Party' => 3085, 'Other' => 2341 },
641
+ 'Sunderland Central' => { 'Conservative' => 12_770, 'Labour' => 19_495, 'Liberal Democrat' => 7191, 'UK Independence Party' => 1094, 'Other' => 1913 },
642
+ 'Surrey East' => { 'Conservative' => 31_007, 'Labour' => 4925, 'Liberal Democrat' => 14_133, 'UK Independence Party' => 3770, 'Other' => 805 },
643
+ 'Surrey Heath' => { 'Conservative' => 31_326, 'Labour' => 5552, 'Liberal Democrat' => 14_037, 'UK Independence Party' => 3432 },
644
+ 'Surrey South West' => { 'Conservative' => 33_605, 'Labour' => 3419, 'Liberal Democrat' => 17_287, 'UK Independence Party' => 1486, 'Other' => 1462 },
645
+ 'Sussex Mid' => { 'Conservative' => 28_329, 'Labour' => 3689, 'Liberal Democrat' => 20_927, 'UK Independence Party' => 1423, 'Other' => 1487 },
646
+ 'Sutton and Cheam' => { 'Conservative' => 20_548, 'Labour' => 3376, 'Liberal Democrat' => 22_156, 'UK Independence Party' => 950, 'Other' => 1478 },
647
+ 'Sutton Coldfield' => { 'Conservative' => 27_303, 'Labour' => 10_298, 'Liberal Democrat' => 9117, 'UK Independence Party' => 1587, 'Other' => 2284 },
648
+ 'Swindon North' => { 'Conservative' => 22_408, 'Labour' => 15_348, 'Liberal Democrat' => 8668, 'UK Independence Party' => 1842, 'Other' => 2029 },
649
+ 'Swindon South' => { 'Conservative' => 19_687, 'Labour' => 16_143, 'Liberal Democrat' => 8305, 'UK Independence Party' => 2029, 'Other' => 955 },
650
+ 'Tamworth' => { 'Conservative' => 21_238, 'Labour' => 15_148, 'Liberal Democrat' => 7516, 'UK Independence Party' => 2253, 'Other' => 235 },
651
+ 'Tatton' => { 'Conservative' => 24_687, 'Labour' => 7803, 'Liberal Democrat' => 10_200, 'Other' => 2541 },
652
+ 'Taunton Deane' => { 'Conservative' => 24_538, 'Labour' => 2967, 'Liberal Democrat' => 28_531, 'UK Independence Party' => 2114 },
653
+ 'Telford' => { 'Conservative' => 14_996, 'Labour' => 15_974, 'Liberal Democrat' => 6399, 'UK Independence Party' => 2428, 'Other' => 1513 },
654
+ 'Tewkesbury' => { 'Conservative' => 25_472, 'Labour' => 6253, 'Liberal Democrat' => 19_162, 'UK Independence Party' => 2230, 'Other' => 844 },
655
+ 'Thanet North' => { 'Conservative' => 22_826, 'Labour' => 9298, 'Liberal Democrat' => 8400, 'UK Independence Party' => 2819 },
656
+ 'Thanet South' => { 'Conservative' => 22_043, 'Labour' => 14_426, 'Liberal Democrat' => 6935, 'UK Independence Party' => 2529 },
657
+ 'Thirsk and Malton' => { 'Conservative' => 20_167, 'Labour' => 5169, 'Liberal Democrat' => 8886, 'UK Independence Party' => 2502, 'Other' => 1418 },
658
+ 'Thornbury and Yate' => { 'Conservative' => 17_916, 'Labour' => 3385, 'Liberal Democrat' => 25_032, 'UK Independence Party' => 1709, 'Other' => 184 },
659
+ 'Thurrock' => { 'Conservative' => 16_869, 'Labour' => 16_777, 'Liberal Democrat' => 4901, 'UK Independence Party' => 3390, 'Other' => 3884 },
660
+ 'Tiverton and Honiton' => { 'Conservative' => 27_614, 'Labour' => 4907, 'Liberal Democrat' => 18_294, 'UK Independence Party' => 3277, 'Other' => 802 },
661
+ 'Tonbridge and Malling' => { 'Conservative' => 29_723, 'Labour' => 6476, 'Liberal Democrat' => 11_545, 'UK Independence Party' => 1911, 'Other' => 1659 },
662
+ 'Tooting' => { 'Conservative' => 19_514, 'Labour' => 22_038, 'Liberal Democrat' => 7509, 'UK Independence Party' => 624, 'Other' => 970 },
663
+ 'Torbay' => { 'Conservative' => 19_048, 'Labour' => 3231, 'Liberal Democrat' => 23_126, 'UK Independence Party' => 2628, 'Other' => 1177 },
664
+ 'Totnes' => { 'Conservative' => 21_940, 'Labour' => 3538, 'Liberal Democrat' => 17_013, 'UK Independence Party' => 2890, 'Other' => 2462 },
665
+ 'Tottenham' => { 'Conservative' => 6064, 'Labour' => 24_128, 'Liberal Democrat' => 7197, 'UK Independence Party' => 466, 'Other' => 2832 },
666
+ 'Truro and Falmouth' => { 'Conservative' => 20_349, 'Labour' => 4697, 'Liberal Democrat' => 19_914, 'UK Independence Party' => 1911, 'Other' => 1897 },
667
+ 'Tunbridge Wells' => { 'Conservative' => 28_302, 'Labour' => 5448, 'Liberal Democrat' => 12_726, 'UK Independence Party' => 2054, 'Other' => 1790 },
668
+ 'Twickenham' => { 'Conservative' => 20_343, 'Labour' => 4583, 'Liberal Democrat' => 32_483, 'UK Independence Party' => 868, 'Other' => 1444 },
669
+ 'Tynemouth' => { 'Conservative' => 18_121, 'Labour' => 23_860, 'Liberal Democrat' => 7845, 'UK Independence Party' => 900, 'Other' => 1942 },
670
+ 'Tyneside North' => { 'Conservative' => 8514, 'Labour' => 23_505, 'Liberal Democrat' => 10_621, 'UK Independence Party' => 1306, 'Other' => 2459 },
671
+ 'Uxbridge and South Ruislip' => { 'Conservative' => 21_758, 'Labour' => 10_542, 'Liberal Democrat' => 8995, 'UK Independence Party' => 1234, 'Other' => 2547 },
672
+ 'Vauxhall' => { 'Conservative' => 9301, 'Labour' => 21_498, 'Liberal Democrat' => 10_847, 'Other' => 1545 },
673
+ 'Wakefield' => { 'Conservative' => 15_841, 'Labour' => 17_454, 'Liberal Democrat' => 7256, 'Other' => 3893 },
674
+ 'Wallasey' => { 'Conservative' => 13_071, 'Labour' => 21_578, 'Liberal Democrat' => 5693, 'UK Independence Party' => 1205, 'Other' => 107 },
675
+ 'Walsall North' => { 'Conservative' => 12_395, 'Labour' => 13_385, 'Liberal Democrat' => 4754, 'UK Independence Party' => 1737, 'Other' => 3916 },
676
+ 'Walsall South' => { 'Conservative' => 14_456, 'Labour' => 16_211, 'Liberal Democrat' => 5880, 'UK Independence Party' => 3449, 'Other' => 886 },
677
+ 'Walthamstow' => { 'Conservative' => 5734, 'Labour' => 21_252, 'Liberal Democrat' => 11_774, 'UK Independence Party' => 823, 'Other' => 1411 },
678
+ 'Wansbeck' => { 'Conservative' => 6714, 'Labour' => 17_548, 'Liberal Democrat' => 10_517, 'UK Independence Party' => 974, 'Other' => 2520 },
679
+ 'Wantage' => { 'Conservative' => 29_284, 'Labour' => 7855, 'Liberal Democrat' => 15_737, 'UK Independence Party' => 2421, 'Other' => 1044 },
680
+ 'Warley' => { 'Conservative' => 9484, 'Labour' => 20_240, 'Liberal Democrat' => 5929, 'UK Independence Party' => 2617 },
681
+ 'Warrington North' => { 'Conservative' => 13_364, 'Labour' => 20_135, 'Liberal Democrat' => 9196, 'Other' => 1516 },
682
+ 'Warrington South' => { 'Conservative' => 19_641, 'Labour' => 18_088, 'Liberal Democrat' => 15_094, 'UK Independence Party' => 1624, 'Other' => 427 },
683
+ 'Warwick and Leamington' => { 'Conservative' => 20_876, 'Labour' => 17_363, 'Liberal Democrat' => 8977, 'UK Independence Party' => 926, 'Other' => 890 },
684
+ 'Warwickshire North' => { 'Conservative' => 18_993, 'Labour' => 18_939, 'Liberal Democrat' => 5481, 'UK Independence Party' => 1335, 'Other' => 2517 },
685
+ 'Washington and Sunderland West' => { 'Conservative' => 8157, 'Labour' => 19_615, 'Liberal Democrat' => 6382, 'UK Independence Party' => 1267, 'Other' => 1913 },
686
+ 'Watford' => { 'Conservative' => 19_291, 'Labour' => 14_750, 'Liberal Democrat' => 17_866, 'UK Independence Party' => 1199, 'Other' => 2102 },
687
+ 'Waveney' => { 'Conservative' => 20_571, 'Labour' => 19_802, 'Liberal Democrat' => 6811, 'UK Independence Party' => 2684, 'Other' => 1273 },
688
+ 'Wealden' => { 'Conservative' => 31_090, 'Labour' => 5266, 'Liberal Democrat' => 13_911, 'UK Independence Party' => 3319, 'Other' => 1383 },
689
+ 'Weaver Vale' => { 'Conservative' => 16_953, 'Labour' => 15_962, 'Liberal Democrat' => 8196, 'UK Independence Party' => 1018, 'Other' => 1861 },
690
+ 'Wellingborough' => { 'Conservative' => 24_918, 'Labour' => 13_131, 'Liberal Democrat' => 8848, 'UK Independence Party' => 1636, 'Other' => 3128 },
691
+ 'Wells' => { 'Conservative' => 23_760, 'Labour' => 4198, 'Liberal Democrat' => 24_560, 'UK Independence Party' => 1711, 'Other' => 1635 },
692
+ 'Welwyn Hatfield' => { 'Conservative' => 27_894, 'Labour' => 10_471, 'Liberal Democrat' => 8010, 'UK Independence Party' => 1643, 'Other' => 954 },
693
+ 'Wentworth and Dearne' => { 'Conservative' => 7396, 'Labour' => 21_316, 'Liberal Democrat' => 6787, 'UK Independence Party' => 3418, 'Other' => 3189 },
694
+ 'West Bromwich East' => { 'Conservative' => 10_961, 'Labour' => 17_657, 'Liberal Democrat' => 4993, 'UK Independence Party' => 984, 'Other' => 3355 },
695
+ 'West Bromwich West' => { 'Conservative' => 10_612, 'Labour' => 16_263, 'Liberal Democrat' => 4336, 'UK Independence Party' => 1566, 'Other' => 3394 },
696
+ 'West Ham' => { 'Conservative' => 6888, 'Labour' => 29_422, 'Liberal Democrat' => 5392, 'UK Independence Party' => 766, 'Other' => 4483 },
697
+ 'Westminster North' => { 'Conservative' => 15_251, 'Labour' => 17_377, 'Liberal Democrat' => 5513, 'UK Independence Party' => 315, 'Other' => 1142 },
698
+ 'Westmorland and Lonsdale' => { 'Conservative' => 18_632, 'Labour' => 1158, 'Liberal Democrat' => 30_896, 'UK Independence Party' => 801 },
699
+ 'Weston-Super-Mare' => { 'Conservative' => 23_356, 'Labour' => 5772, 'Liberal Democrat' => 20_665, 'UK Independence Party' => 1406, 'Other' => 1517 },
700
+ 'Wigan' => { 'Conservative' => 10_917, 'Labour' => 21_404, 'Liberal Democrat' => 6797, 'UK Independence Party' => 2516, 'Other' => 2506 },
701
+ 'Wiltshire North' => { 'Conservative' => 25_114, 'Labour' => 3239, 'Liberal Democrat' => 17_631, 'UK Independence Party' => 1908, 'Other' => 807 },
702
+ 'Wiltshire South West' => { 'Conservative' => 25_321, 'Labour' => 5613, 'Liberal Democrat' => 14_954, 'UK Independence Party' => 2684, 'Other' => 446 },
703
+ 'Wimbledon' => { 'Conservative' => 23_257, 'Labour' => 10_550, 'Liberal Democrat' => 11_849, 'UK Independence Party' => 914, 'Other' => 825 },
704
+ 'Winchester' => { 'Conservative' => 27_155, 'Labour' => 3051, 'Liberal Democrat' => 24_107, 'UK Independence Party' => 1139, 'Other' => 503 },
705
+ 'Windsor' => { 'Conservative' => 30_172, 'Labour' => 4910, 'Liberal Democrat' => 11_118, 'UK Independence Party' => 1612, 'Other' => 1776 },
706
+ 'Wirral South' => { 'Conservative' => 15_745, 'Labour' => 16_276, 'Liberal Democrat' => 6611, 'UK Independence Party' => 1274 },
707
+ 'Wirral West' => { 'Conservative' => 16_726, 'Labour' => 14_290, 'Liberal Democrat' => 6630, 'UK Independence Party' => 899, 'Other' => 827 },
708
+ 'Witham' => { 'Conservative' => 24_448, 'Labour' => 8656, 'Liberal Democrat' => 9252, 'UK Independence Party' => 3060, 'Other' => 1419 },
709
+ 'Witney' => { 'Conservative' => 33_973, 'Labour' => 7511, 'Liberal Democrat' => 11_233, 'UK Independence Party' => 2001, 'Other' => 3051 },
710
+ 'Woking' => { 'Conservative' => 26_551, 'Labour' => 4246, 'Liberal Democrat' => 19_744, 'UK Independence Party' => 1997, 'Other' => 248 },
711
+ 'Wokingham' => { 'Conservative' => 28_754, 'Labour' => 5516, 'Liberal Democrat' => 15_262, 'UK Independence Party' => 1664, 'Other' => 3332 },
712
+ 'Wolverhampton North East' => { 'Conservative' => 11_964, 'Labour' => 14_448, 'Liberal Democrat' => 4711, 'UK Independence Party' => 1138, 'Other' => 2633 },
713
+ 'Wolverhampton South East' => { 'Conservative' => 9912, 'Labour' => 16_505, 'Liberal Democrat' => 5277, 'UK Independence Party' => 2675, 'Other' => 338 },
714
+ 'Wolverhampton South West' => { 'Conservative' => 16_344, 'Labour' => 15_653, 'Liberal Democrat' => 6430, 'UK Independence Party' => 1487, 'Other' => 246 },
715
+ 'Worcester' => { 'Conservative' => 19_358, 'Labour' => 16_376, 'Liberal Democrat' => 9525, 'UK Independence Party' => 1360, 'Other' => 2355 },
716
+ 'Worcestershire Mid' => { 'Conservative' => 27_770, 'Labour' => 7613, 'Liberal Democrat' => 11_906, 'UK Independence Party' => 3049, 'Other' => 593 },
717
+ 'Worcestershire West' => { 'Conservative' => 27_213, 'Labour' => 3661, 'Liberal Democrat' => 20_459, 'UK Independence Party' => 2119, 'Other' => 641 },
718
+ 'Workington' => { 'Conservative' => 13_290, 'Labour' => 17_865, 'Liberal Democrat' => 5318, 'UK Independence Party' => 876, 'Other' => 1910 },
719
+ 'Worsley and Eccles South' => { 'Conservative' => 13_555, 'Labour' => 17_892, 'Liberal Democrat' => 6883, 'UK Independence Party' => 2037, 'Other' => 1334 },
720
+ 'Worthing East and Shoreham' => { 'Conservative' => 23_458, 'Labour' => 8087, 'Liberal Democrat' => 12_353, 'UK Independence Party' => 2984, 'Other' => 1515 },
721
+ 'Worthing West' => { 'Conservative' => 25_416, 'Labour' => 5800, 'Liberal Democrat' => 13_687, 'UK Independence Party' => 2924, 'Other' => 1296 },
722
+ 'Wrekin, The' => { 'Conservative' => 21_922, 'Labour' => 12_472, 'Liberal Democrat' => 8019, 'UK Independence Party' => 2050, 'Other' => 1505 },
723
+ 'Wycombe' => { 'Conservative' => 23_423, 'Labour' => 8326, 'Liberal Democrat' => 13_863, 'UK Independence Party' => 2123, 'Other' => 416 },
724
+ 'Wyre and Preston North' => { 'Conservative' => 26_877, 'Labour' => 10_932, 'Liberal Democrat' => 11_033, 'UK Independence Party' => 2466 },
725
+ 'Wyre Forest' => { 'Conservative' => 18_793, 'Labour' => 7298, 'Liberal Democrat' => 6040, 'UK Independence Party' => 1498, 'Other' => 17_270 },
726
+ 'Wythenshawe and Sale East' => { 'Conservative' => 10_412, 'Labour' => 17_987, 'Liberal Democrat' => 9107, 'UK Independence Party' => 1405, 'Other' => 1840 },
727
+ 'Yeovil' => { 'Conservative' => 18_807, 'Labour' => 2991, 'Liberal Democrat' => 31_843, 'UK Independence Party' => 2357, 'Other' => 1162 },
728
+ 'York Central' => { 'Conservative' => 12_122, 'Labour' => 18_573, 'Liberal Democrat' => 11_694, 'UK Independence Party' => 1100, 'Other' => 2994 },
729
+ 'York Outer' => { 'Conservative' => 22_912, 'Labour' => 9108, 'Liberal Democrat' => 19_224, 'UK Independence Party' => 1100, 'Other' => 956 },
730
+ 'Yorkshire East' => { 'Conservative' => 24_328, 'Labour' => 10_401, 'Liberal Democrat' => 10_842, 'UK Independence Party' => 2142, 'Other' => 3541 },
731
+ # Wales
732
+ 'Aberavon' => { 'Conservative' => 4411, 'Labour' => 16_073, 'Liberal Democrat' => 5034, 'UK Independence Party' => 489, 'Plaid Cymru' => 2198, 'Other' => 2753 },
733
+ 'Aberconwy' => { 'Conservative' => 10_734, 'Labour' => 7336, 'Liberal Democrat' => 5786, 'UK Independence Party' => 632, 'Plaid Cymru' => 5341, 'Other' => 137 },
734
+ 'Alyn and Deeside' => { 'Conservative' => 12_885, 'Labour' => 15_804, 'Liberal Democrat' => 7308, 'UK Independence Party' => 1009, 'Plaid Cymru' => 1549, 'Other' => 1368 },
735
+ 'Arfon' => { 'Conservative' => 4416, 'Labour' => 7928, 'Liberal Democrat' => 3666, 'UK Independence Party' => 685, 'Plaid Cymru' => 9383 },
736
+ 'Blaenau Gwent' => { 'Conservative' => 2265, 'Labour' => 16_974, 'Liberal Democrat' => 3285, 'UK Independence Party' => 488, 'Plaid Cymru' => 1333, 'Other' => 8050 },
737
+ 'Brecon and Radnorshire' => { 'Conservative' => 14_182, 'Labour' => 4096, 'Liberal Democrat' => 17_929, 'UK Independence Party' => 876, 'Plaid Cymru' => 989, 'Other' => 773 },
738
+ 'Bridgend' => { 'Conservative' => 11_668, 'Labour' => 13_931, 'Liberal Democrat' => 8658, 'UK Independence Party' => 801, 'Plaid Cymru' => 2269, 'Other' => 1020 },
739
+ 'Caerphilly' => { 'Conservative' => 6622, 'Labour' => 17_377, 'Liberal Democrat' => 5688, 'UK Independence Party' => 910, 'Plaid Cymru' => 6460, 'Other' => 1635 },
740
+ 'Cardiff Central' => { 'Conservative' => 7799, 'Labour' => 10_400, 'Liberal Democrat' => 14_976, 'UK Independence Party' => 765, 'Plaid Cymru' => 1246, 'Other' => 965 },
741
+ 'Cardiff North' => { 'Conservative' => 17_860, 'Labour' => 17_666, 'Liberal Democrat' => 8724, 'UK Independence Party' => 1130, 'Plaid Cymru' => 1588, 'Other' => 662 },
742
+ 'Cardiff South and Penarth' => { 'Conservative' => 12_553, 'Labour' => 17_262, 'Liberal Democrat' => 9875, 'UK Independence Party' => 1145, 'Plaid Cymru' => 1851, 'Other' => 1683 },
743
+ 'Cardiff West' => { 'Conservative' => 12_143, 'Labour' => 16_894, 'Liberal Democrat' => 7186, 'UK Independence Party' => 1117, 'Plaid Cymru' => 2868, 'Other' => 750 },
744
+ 'Carmarthen East and Dinefwr' => { 'Conservative' => 8506, 'Labour' => 10_065, 'Liberal Democrat' => 4609, 'UK Independence Party' => 1285, 'Plaid Cymru' => 13_546 },
745
+ 'Carmarthen West and Pembrokeshire South' => { 'Conservative' => 16_649, 'Labour' => 13_226, 'Liberal Democrat' => 4890, 'UK Independence Party' => 1146, 'Plaid Cymru' => 4232, 'Other' => 364 },
746
+ 'Ceredigion' => { 'Conservative' => 4421, 'Labour' => 2210, 'Liberal Democrat' => 19_139, 'UK Independence Party' => 977, 'Plaid Cymru' => 10_815, 'Other' => 696 },
747
+ 'Clwyd South' => { 'Conservative' => 10_477, 'Labour' => 13_311, 'Liberal Democrat' => 5965, 'UK Independence Party' => 819, 'Plaid Cymru' => 3009, 'Other' => 1100 },
748
+ 'Clwyd West' => { 'Conservative' => 15_833, 'Labour' => 9414, 'Liberal Democrat' => 5801, 'UK Independence Party' => 864, 'Plaid Cymru' => 5864, 'Other' => 335 },
749
+ 'Cynon Valley' => { 'Conservative' => 3010, 'Labour' => 15_681, 'Liberal Democrat' => 4120, 'UK Independence Party' => 1001, 'Plaid Cymru' => 6064 },
750
+ 'Delyn' => { 'Conservative' => 12_811, 'Labour' => 15_083, 'Liberal Democrat' => 5747, 'UK Independence Party' => 655, 'Plaid Cymru' => 1844, 'Other' => 844 },
751
+ 'Dwyfor Meirionnydd' => { 'Conservative' => 6447, 'Labour' => 4021, 'Liberal Democrat' => 3538, 'UK Independence Party' => 776, 'Plaid Cymru' => 12_814, 'Other' => 1310 },
752
+ 'Gower' => { 'Conservative' => 13_333, 'Labour' => 16_016, 'Liberal Democrat' => 7947, 'UK Independence Party' => 652, 'Plaid Cymru' => 2760, 'Other' => 963 },
753
+ 'Islwyn' => { 'Conservative' => 4854, 'Labour' => 17_069, 'Liberal Democrat' => 3597, 'UK Independence Party' => 936, 'Plaid Cymru' => 4518, 'Other' => 3716 },
754
+ 'Llanelli' => { 'Conservative' => 5381, 'Labour' => 15_916, 'Liberal Democrat' => 3902, 'UK Independence Party' => 1047, 'Plaid Cymru' => 11_215 },
755
+ 'Merthyr Tydfil and Rhymney' => { 'Conservative' => 2412, 'Labour' => 14_007, 'Liberal Democrat' => 9951, 'UK Independence Party' => 872, 'Plaid Cymru' => 1621, 'Other' => 3213 },
756
+ 'Monmouth' => { 'Conservative' => 22_466, 'Labour' => 12_041, 'Liberal Democrat' => 9026, 'UK Independence Party' => 1126, 'Plaid Cymru' => 1273, 'Other' => 587 },
757
+ 'Montgomeryshire' => { 'Conservative' => 13_976, 'Labour' => 2407, 'Liberal Democrat' => 12_792, 'UK Independence Party' => 1128, 'Plaid Cymru' => 2802, 'Other' => 708 },
758
+ 'Neath' => { 'Conservative' => 4847, 'Labour' => 17_172, 'Liberal Democrat' => 5535, 'UK Independence Party' => 829, 'Plaid Cymru' => 7397, 'Other' => 1342 },
759
+ 'Newport East' => { 'Conservative' => 7918, 'Labour' => 12_744, 'Liberal Democrat' => 11_094, 'UK Independence Party' => 677, 'Plaid Cymru' => 724, 'Other' => 1291 },
760
+ 'Newport West' => { 'Conservative' => 12_845, 'Labour' => 16_389, 'Liberal Democrat' => 6587, 'UK Independence Party' => 1144, 'Plaid Cymru' => 1122, 'Other' => 1633 },
761
+ 'Ogmore' => { 'Conservative' => 5398, 'Labour' => 18_644, 'Liberal Democrat' => 5260, 'UK Independence Party' => 780, 'Plaid Cymru' => 3326, 'Other' => 1242 },
762
+ 'Pontypridd' => { 'Conservative' => 5932, 'Labour' => 14_220, 'Liberal Democrat' => 11_435, 'UK Independence Party' => 1229, 'Plaid Cymru' => 2673, 'Other' => 1182 },
763
+ 'Preseli Pembrokeshire' => { 'Conservative' => 16_944, 'Labour' => 12_339, 'Liberal Democrat' => 5759, 'UK Independence Party' => 906, 'Plaid Cymru' => 3654 },
764
+ 'Rhondda' => { 'Conservative' => 1993, 'Labour' => 17_183, 'Liberal Democrat' => 3309, 'UK Independence Party' => 358, 'Plaid Cymru' => 5630, 'Other' => 2599 },
765
+ 'Swansea East' => { 'Conservative' => 4823, 'Labour' => 16_819, 'Liberal Democrat' => 5981, 'UK Independence Party' => 839, 'Plaid Cymru' => 2181, 'Other' => 2033 },
766
+ 'Swansea West' => { 'Conservative' => 7407, 'Labour' => 12_335, 'Liberal Democrat' => 11_831, 'UK Independence Party' => 716, 'Plaid Cymru' => 1437, 'Other' => 1867 },
767
+ 'Torfaen' => { 'Conservative' => 7541, 'Labour' => 16_847, 'Liberal Democrat' => 6264, 'UK Independence Party' => 862, 'Plaid Cymru' => 2005, 'Other' => 4121 },
768
+ 'Vale of Clwyd' => { 'Conservative' => 12_508, 'Labour' => 15_017, 'Liberal Democrat' => 4472, 'UK Independence Party' => 515, 'Plaid Cymru' => 2068, 'Other' => 954 },
769
+ 'Vale of Glamorgan' => { 'Conservative' => 20_341, 'Labour' => 16_034, 'Liberal Democrat' => 7403, 'UK Independence Party' => 1529, 'Plaid Cymru' => 2667, 'Other' => 693 },
770
+ 'Wrexham' => { 'Conservative' => 8375, 'Labour' => 12_161, 'Liberal Democrat' => 8503, 'UK Independence Party' => 774, 'Plaid Cymru' => 2029, 'Other' => 1134 },
771
+ 'Ynys Mon' => { 'Conservative' => 7744, 'Labour' => 11_490, 'Liberal Democrat' => 2592, 'UK Independence Party' => 1201, 'Plaid Cymru' => 9029, 'Other' => 2388 },
772
+ # Scotland
773
+ 'Aberdeen North' => { 'Conservative' => 4666, 'Labour' => 16_746,
774
+ 'Liberal Democrat' => 7001,
775
+ 'Scottish National Party' => 8385, 'Other' => 903 },
776
+ 'Aberdeen South' => { 'Conservative' => 8914, 'Labour' => 15_722,
777
+ 'Liberal Democrat' => 12_216,
778
+ 'Scottish National Party' => 5102,
779
+ 'Other' => 1080 },
780
+ 'Aberdeenshire West and Kincardine' => { 'Conservative' => 13_678,
781
+ 'Labour' => 6159,
782
+ 'Liberal Democrat' => 17_362,
783
+ 'UK Independence Party' => 397,
784
+ 'Scottish National Party' => 7086, 'Other' => 513 },
785
+ 'Airdrie and Shotts' => { 'Conservative' => 3133, 'Labour' => 20_849,
786
+ 'Liberal Democrat' => 2898,
787
+ 'Scottish National Party' => 8441,
788
+ 'Other' => 528 },
789
+ 'Angus' => { 'Conservative' => 11_738, 'Labour' => 6535,
790
+ 'Liberal Democrat' => 4090, 'UK Independence Party' => 577,
791
+ 'Scottish National Party' => 15_020 },
792
+ 'Argyll and Bute' => { 'Conservative' => 10_861, 'Labour' => 10_274,
793
+ 'Liberal Democrat' => 14_292,
794
+ 'Scottish National Party' => 8563,
795
+ 'Other' => 1217 },
796
+ 'Ayr Carrick and Cumnock' => { 'Conservative' => 11_721,
797
+ 'Labour' => 21_632,
798
+ 'Liberal Democrat' => 4264,
799
+ 'Scottish National Party' => 8276 },
800
+ 'Ayrshire Central' => { 'Conservative' => 8943, 'Labour' => 20_950,
801
+ 'Liberal Democrat' => 5236,
802
+ 'Scottish National Party' => 8364,
803
+ 'Other' => 422 },
804
+ 'Ayrshire North and Arran' => { 'Conservative' => 7212,
805
+ 'Labour' => 21_860,
806
+ 'Liberal Democrat' => 4630,
807
+ 'Scottish National Party' => 11_965,
808
+ 'Other' => 449 },
809
+ 'Banff and Buchan' => { 'Conservative' => 11_841, 'Labour' => 5382,
810
+ 'Liberal Democrat' => 4365,
811
+ 'Scottish National Party' => 15_868,
812
+ 'Other' => 1010 },
813
+ 'Berwickshire, Roxburgh and Selkirk' => { 'Conservative' => 16_555,
814
+ 'Labour' => 5003,
815
+ 'Liberal Democrat' => 22_230,
816
+ 'UK Independence Party' => 595,
817
+ 'Scottish National Party' => 4497, 'Other' => 134 },
818
+ 'Caithness Sutherland and Easter Ross' => { 'Conservative' => 3744,
819
+ 'Labour' => 7081,
820
+ 'Liberal Democrat' => 11_907,
821
+ 'Scottish National Party' => 5516, 'Other' => 520 },
822
+ 'Coatbridge, Chryston and Bellshill' => { 'Conservative' => 3374,
823
+ 'Labour' => 27_728,
824
+ 'Liberal Democrat' => 3519,
825
+ 'Scottish National Party' => 7014 },
826
+ 'Cumbernauld, Kilsyth and Kirkintilloch East' => { 'Conservative' => 3407,
827
+ 'Labour' => 23_549,
828
+ 'Liberal Democrat' => 3924, 'Scottish National Party' => 9794, 'Other' => 476 },
829
+ 'Dumfries and Galloway' => { 'Conservative' => 16_501,
830
+ 'Labour' => 23_950,
831
+ 'Liberal Democrat' => 4608,
832
+ 'UK Independence Party' => 695,
833
+ 'Scottish National Party' => 6419 },
834
+ 'Dumfriesshire, Clydesdale and Tweeddale' => { 'Conservative' => 17_457,
835
+ 'Labour' => 13_263,
836
+ 'Liberal Democrat' => 9080,
837
+ 'UK Independence Party' => 637, 'Scottish National Party' => 4945, 'Other' => 510 },
838
+ 'Dunbartonshire East' => { 'Conservative' => 7431, 'Labour' => 16_367,
839
+ 'Liberal Democrat' => 18_551,
840
+ 'UK Independence Party' => 545,
841
+ 'Scottish National Party' => 5054 },
842
+ 'Dunbartonshire West' => { 'Conservative' => 3242, 'Labour' => 25_905,
843
+ 'Liberal Democrat' => 3434,
844
+ 'UK Independence Party' => 683,
845
+ 'Scottish National Party' => 8497,
846
+ 'Other' => 505 },
847
+ 'Dundee East' => { 'Conservative' => 6177, 'Labour' => 13_529,
848
+ 'Liberal Democrat' => 4285,
849
+ 'UK Independence Party' => 431,
850
+ 'Scottish National Party' => 15_350, 'Other' => 796 },
851
+ 'Dundee West' => { 'Conservative' => 3461, 'Labour' => 17_994,
852
+ 'Liberal Democrat' => 4233,
853
+ 'Scottish National Party' => 10_716, 'Other' => 722 },
854
+ 'Dunfermline and West Fife' => { 'Conservative' => 3305,
855
+ 'Labour' => 22_639,
856
+ 'Liberal Democrat' => 17_169,
857
+ 'UK Independence Party' => 633,
858
+ 'Scottish National Party' => 5201 },
859
+ 'East Kilbride, Strathaven and Lesmahagow' => { 'Conservative' => 6613,
860
+ 'Labour' => 26_241,
861
+ 'Liberal Democrat' => 5052, 'Scottish National Party' => 11_738, 'Other' => 1302 },
862
+ 'East Lothian' => { 'Conservative' => 9661, 'Labour' => 21_919,
863
+ 'Liberal Democrat' => 8288,
864
+ 'UK Independence Party' => 548,
865
+ 'Scottish National Party' => 7883, 'Other' => 862 },
866
+ 'Edinburgh East' => { 'Conservative' => 4358, 'Labour' => 17_314,
867
+ 'Liberal Democrat' => 7751,
868
+ 'Scottish National Party' => 8133,
869
+ 'Other' => 2309 },
870
+ 'Edinburgh North and Leith' => { 'Conservative' => 7079,
871
+ 'Labour' => 17_740,
872
+ 'Liberal Democrat' => 16_016,
873
+ 'Scottish National Party' => 4568,
874
+ 'Other' => 1953 },
875
+ 'Edinburgh South' => { 'Conservative' => 9452, 'Labour' => 15_215,
876
+ 'Liberal Democrat' => 14_899,
877
+ 'Scottish National Party' => 3354,
878
+ 'Other' => 881 },
879
+ 'Edinburgh South West' => { 'Conservative' => 11_026, 'Labour' => 19_473,
880
+ 'Liberal Democrat' => 8194,
881
+ 'Scottish National Party' => 5530,
882
+ 'Other' => 1239 },
883
+ 'Edinburgh West' => { 'Conservative' => 10_767, 'Labour' => 12_881,
884
+ 'Liberal Democrat' => 16_684,
885
+ 'Scottish National Party' => 6115 },
886
+ 'Falkirk' => { 'Conservative' => 5698, 'Labour' => 23_207,
887
+ 'Liberal Democrat' => 5225,
888
+ 'UK Independence Party' => 1283,
889
+ 'Scottish National Party' => 15_364 },
890
+ 'Fife North East' => { 'Conservative' => 8715, 'Labour' => 6869,
891
+ 'Liberal Democrat' => 17_763,
892
+ 'UK Independence Party' => 1032,
893
+ 'Scottish National Party' => 5685 },
894
+ 'Glasgow Central' => { 'Conservative' => 2158, 'Labour' => 15_908,
895
+ 'Liberal Democrat' => 5010,
896
+ 'UK Independence Party' => 246,
897
+ 'Scottish National Party' => 5357,
898
+ 'Other' => 1901 },
899
+ 'Glasgow East' => { 'Conservative' => 1453, 'Labour' => 19_797,
900
+ 'Liberal Democrat' => 1617,
901
+ 'UK Independence Party' => 209,
902
+ 'Scottish National Party' => 7957, 'Other' => 1131 },
903
+ 'Glasgow North' => { 'Conservative' => 2089, 'Labour' => 13_181,
904
+ 'Liberal Democrat' => 9283,
905
+ 'Scottish National Party' => 3530, 'Other' => 1530 },
906
+ 'Glasgow North East' => { 'Conservative' => 1569, 'Labour' => 20_100,
907
+ 'Liberal Democrat' => 2262,
908
+ 'Scottish National Party' => 4158,
909
+ 'Other' => 1320 },
910
+ 'Glasgow North West' => { 'Conservative' => 3537, 'Labour' => 19_233,
911
+ 'Liberal Democrat' => 5622,
912
+ 'Scottish National Party' => 5430,
913
+ 'Other' => 1760 },
914
+ 'Glasgow South' => { 'Conservative' => 4592, 'Labour' => 20_736,
915
+ 'Liberal Democrat' => 4739,
916
+ 'Scottish National Party' => 8078, 'Other' => 1949 },
917
+ 'Glasgow South West' => { 'Conservative' => 2084, 'Labour' => 19_863,
918
+ 'Liberal Democrat' => 2870,
919
+ 'Scottish National Party' => 5192,
920
+ 'Other' => 1772 },
921
+ 'Glenrothes' => { 'Conservative' => 2922, 'Labour' => 25_247,
922
+ 'Liberal Democrat' => 3108,
923
+ 'UK Independence Party' => 425,
924
+ 'Scottish National Party' => 8799 },
925
+ 'Gordon' => { 'Conservative' => 9111, 'Labour' => 9811,
926
+ 'Liberal Democrat' => 17_575,
927
+ 'Scottish National Party' => 10_827, 'Other' => 1451 },
928
+ 'Inverclyde' => { 'Conservative' => 4502, 'Labour' => 20_993,
929
+ 'Liberal Democrat' => 5007,
930
+ 'UK Independence Party' => 433,
931
+ 'Scottish National Party' => 6577 },
932
+ 'Inverness Nairn Badenoch and Strathspey' => { 'Conservative' => 6278,
933
+ 'Labour' => 10_407,
934
+ 'Liberal Democrat' => 19_172, 'UK Independence Party' => 574, 'Scottish National Party' => 8803, 'Other' => 1852 },
935
+ 'Kilmarnock and Loudoun' => { 'Conservative' => 6592, 'Labour' => 24_460,
936
+ 'Liberal Democrat' => 3419,
937
+ 'Scottish National Party' => 12_082 },
938
+ 'Kirkcaldy and Cowdenbeath' => { 'Conservative' => 4258,
939
+ 'Labour' => 29_559,
940
+ 'Liberal Democrat' => 4269,
941
+ 'UK Independence Party' => 760,
942
+ 'Scottish National Party' => 6550,
943
+ 'Other' => 406 },
944
+ 'Lanark and Hamilton East' => { 'Conservative' => 6981,
945
+ 'Labour' => 23_258,
946
+ 'Liberal Democrat' => 5249,
947
+ 'UK Independence Party' => 616,
948
+ 'Scottish National Party' => 9780,
949
+ 'Other' => 670 },
950
+ 'Linlithgow and East Falkirk' => { 'Conservative' => 6146,
951
+ 'Labour' => 25_634,
952
+ 'Liberal Democrat' => 6589,
953
+ 'Scottish National Party' => 13_081 },
954
+ 'Livingston' => { 'Conservative' => 5158, 'Labour' => 23_215,
955
+ 'Liberal Democrat' => 5316,
956
+ 'UK Independence Party' => 443,
957
+ 'Scottish National Party' => 12_424, 'Other' => 1351 },
958
+ 'Midlothian' => { 'Conservative' => 4661, 'Labour' => 18_449,
959
+ 'Liberal Democrat' => 6711,
960
+ 'UK Independence Party' => 364,
961
+ 'Scottish National Party' => 8100, 'Other' => 957 },
962
+ 'Moray' => { 'Conservative' => 10_683, 'Labour' => 7007,
963
+ 'Liberal Democrat' => 5956, 'UK Independence Party' => 1085,
964
+ 'Scottish National Party' => 16_273 },
965
+ 'Motherwell and Wishaw' => { 'Conservative' => 3660, 'Labour' => 23_910,
966
+ 'Liberal Democrat' => 3840,
967
+ 'Scottish National Party' => 7104,
968
+ 'Other' => 609 },
969
+ 'Na h-Eileanan An Iar (Western Isles)' => { 'Conservative' => 647,
970
+ 'Labour' => 4838,
971
+ 'Liberal Democrat' => 1097,
972
+ 'Scottish National Party' => 6723, 'Other' => 1412 },
973
+ 'Ochil and South Perthshire' => { 'Conservative' => 10_342,
974
+ 'Labour' => 19_131,
975
+ 'Liberal Democrat' => 5754,
976
+ 'UK Independence Party' => 689,
977
+ 'Scottish National Party' => 13_944,
978
+ 'Other' => 609 },
979
+ 'Orkney and Shetland' => { 'Conservative' => 2032, 'Labour' => 2061,
980
+ 'Liberal Democrat' => 11_989,
981
+ 'UK Independence Party' => 1222,
982
+ 'Scottish National Party' => 2042 },
983
+ 'Paisley and Renfrewshire North' => { 'Conservative' => 6381,
984
+ 'Labour' => 23_613,
985
+ 'Liberal Democrat' => 4597,
986
+ 'Scottish National Party' => 8333,
987
+ 'Other' => 783 },
988
+ 'Paisley and Renfrewshire South' => { 'Conservative' => 3979,
989
+ 'Labour' => 23_842,
990
+ 'Liberal Democrat' => 3812,
991
+ 'Scottish National Party' => 7228,
992
+ 'Other' => 1137 },
993
+ 'Perth and North Perthshire' => { 'Conservative' => 14_739,
994
+ 'Labour' => 7923,
995
+ 'Liberal Democrat' => 5954,
996
+ 'Scottish National Party' => 19_118,
997
+ 'Other' => 534 },
998
+ 'Renfrewshire East' => { 'Conservative' => 15_567, 'Labour' => 25_987,
999
+ 'Liberal Democrat' => 4720,
1000
+ 'UK Independence Party' => 372,
1001
+ 'Scottish National Party' => 4535 },
1002
+ 'Ross Skye and Lochaber' => { 'Conservative' => 4260, 'Labour' => 5265,
1003
+ 'Liberal Democrat' => 18_335,
1004
+ 'UK Independence Party' => 659,
1005
+ 'Scottish National Party' => 5263,
1006
+ 'Other' => 1056 },
1007
+ 'Rutherglen and Hamilton West' => { 'Conservative' => 4540,
1008
+ 'Labour' => 28_566,
1009
+ 'Liberal Democrat' => 5636,
1010
+ 'UK Independence Party' => 675,
1011
+ 'Scottish National Party' => 7564 },
1012
+ 'Stirling' => { 'Conservative' => 11_254, 'Labour' => 19_558,
1013
+ 'Liberal Democrat' => 6797,
1014
+ 'UK Independence Party' => 395,
1015
+ 'Scottish National Party' => 8091, 'Other' => 746 },
1016
+ # Northern-Ireland
1017
+ 'Antrim East' => { 'Conservative' => 7223, 'Labour' => 2019,
1018
+ 'Liberal Democrat' => 13_993, 'Other' => 5203 },
1019
+ 'Antrim North' => { 'Conservative' => 4634, 'Labour' => 3738,
1020
+ 'Liberal Democrat' => 19_672, 'Other' => 9088 },
1021
+ 'Antrim South' => { 'Conservative' => 10_353, 'Labour' => 2955,
1022
+ 'Liberal Democrat' => 11_536, 'Other' => 4436 },
1023
+ 'Belfast East' => { 'Conservative' => 7305, 'Labour' => 365,
1024
+ 'Liberal Democrat' => 11_306, 'Other' => 14_695 },
1025
+ 'Belfast North' => { 'Conservative' => 2837, 'Labour' => 4544,
1026
+ 'Liberal Democrat' => 14_812, 'Other' => 2212 },
1027
+ 'Belfast South' => { 'Conservative' => 5910, 'Labour' => 14_026,
1028
+ 'Liberal Democrat' => 8100, 'Other' => 6150 },
1029
+ 'Belfast West' => { 'Conservative' => 1000, 'Labour' => 5261,
1030
+ 'Liberal Democrat' => 2436, 'Other' => 596 },
1031
+ 'Down North' => { 'Conservative' => 6817, 'Labour' => 680,
1032
+ 'Other' => 25_734 },
1033
+ 'Down South' => { 'Conservative' => 3093, 'Labour' => 20_648,
1034
+ 'Liberal Democrat' => 3645, 'Other' => 2967 },
1035
+ 'Fermanagh and South Tyrone' => { 'Labour' => 3574, 'Other' => 21_925 },
1036
+ 'Foyle' => { 'Conservative' => 1221, 'Labour' => 16_922,
1037
+ 'Liberal Democrat' => 4489, 'Other' => 3159 },
1038
+ 'Lagan Valley' => { 'Conservative' => 7713, 'Labour' => 1835,
1039
+ 'Liberal Democrat' => 18_199, 'Other' => 7328 },
1040
+ 'Londonderry East' => { 'Conservative' => 6218, 'Labour' => 5399,
1041
+ 'Liberal Democrat' => 12_097, 'Other' => 4494 },
1042
+ 'Newry and Armagh' => { 'Conservative' => 8558, 'Labour' => 10_526,
1043
+ 'Liberal Democrat' => 5764, 'Other' => 1201 },
1044
+ 'Strangford' => { 'Conservative' => 9050, 'Labour' => 2164,
1045
+ 'Liberal Democrat' => 14_926, 'Other' => 5204 },
1046
+ 'Tyrone West' => { 'Conservative' => 5281, 'Labour' => 5212,
1047
+ 'Liberal Democrat' => 7365, 'Other' => 1367 },
1048
+ 'Ulster Mid' => { 'Conservative' => 4509, 'Labour' => 5826,
1049
+ 'Liberal Democrat' => 5876, 'Other' => 3392 },
1050
+ 'Upper Bann' => { 'Conservative' => 10_639, 'Labour' => 5276,
1051
+ 'Liberal Democrat' => 14_000, 'Other' => 1231 }
1052
+ }
1053
+
1054
+ ELECTORAL_SYSTEM = FirstPastThePost.new(LAST_ELECTION_RESULT,
1055
+ LAST_DETAILED_ELECTION_RESULT)
1056
+
1057
+ def area_code
1058
+ 'UK'
1059
+ end
1060
+
1061
+ def population_size
1062
+ # Source: BBC News Election 2010 Results, retrieved on 3 April 2015.
1063
+ # URL: http://news.bbc.co.uk/2/shared/election2010/results/
1064
+ 29_691_380
1065
+ end
1066
+
1067
+ def no_of_seats
1068
+ LAST_DETAILED_ELECTION_RESULT.size
1069
+ end
1070
+
1071
+ def seats(simulation)
1072
+ ELECTORAL_SYSTEM.project(simulation)
1073
+ end
1074
+ end
1075
+ end