akester/new-chef

Fork Project

caf06a36c89b05938aa69c92ff9f21a2b26e16e4

Authored By: Andrew Kester Date: November 11, 2017 7:13 pm

Add disaster site config.

This basically blanks the home page and 503's so we can automatically fail over when Concergent equipment is not accessible.

cookbooks/sthse_application/files/dr/offline.html
0
+
1
+<!DOCTYPE HTML>
2
+<html>
3
+<head>
4
+	<title>The Storehouse</title>
5
+
6
+	<!-- Meta Information -->
7
+	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
8
+	<meta name="viewport" content="width-device-width, initial-scale=1" />
9
+
10
+	<!--
11
+		EVERYTHING needs to be inline on these files.  Since we're using these as potential nginx error pages, we don't have
12
+		the luxary of making multiple requests for assets.
13
+	-->
14
+	<style>
15
+		* {
16
+			box-sizing: border-box;
17
+		}
18
+
19
+		body {
20
+			font-family: sans-serif;
21
+		}
22
+
23
+		.body {
24
+			background-color: #eee;
25
+			position: absolute;
26
+			top: 0;
27
+			left: 0;
28
+			height: 100%;
29
+			width: 100%;
30
+		}
31
+
32
+		.body .content {
33
+			position: absolute;
34
+			max-width: 30rem;
35
+			width: 100%;
36
+			top: 50%;
37
+			left: 50%;
38
+			transform: translate(-50%, calc(-50% - 4rem));
39
+			background: #fff;
40
+			padding: 3rem;
41
+			border: 1px solid #000;
42
+
43
+			-webkit-box-shadow: 0 0 10px 0 rgba(145,145,145,1);
44
+			-moz-box-shadow: 0 0 10px 0 rgba(145,145,145,1);
45
+			box-shadow: 0 0 10px 0 rgba(145,145,145,1);
46
+		}
47
+
48
+		.body .content h1 {
49
+			font-size: 1.5rem;
50
+			margin-bottom: 1rem;
51
+		}
52
+
53
+		.body .content p {
54
+			line-height: 2rem;
55
+		}
56
+
57
+		.body .content p:last-of-type {
58
+			margin-bottom: 0;
59
+		}
60
+
61
+		.body .footer {
62
+			position: absolute;
63
+			bottom: 2rem;
64
+			left: 50%;
65
+			transform: translate(-50%, 0);
66
+			font-size: 0.85rem;
67
+			text-align: center;
68
+		}
69
+		
70
+		img.logo {
71
+			max-width: 85%;
72
+			max-height: 100px;
73
+			display: block;
74
+			margin: 0 auto 2rem auto;
75
+		}
76
+	</style>
77
+</head>
78
+<body>
79
+	<div class="body">
80
+		<div class="content">
81
+			<img class="logo" alt="Storehouse"
82
+	src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAu4AAADACAYAAABbJOalAAABS2lUWHRYTUw6Y29tLmFk
83
+		b2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6
84
+		eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzku
85
+		MTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3
86
+		LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIi8+
87
+		CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSJyIj8+IEmuOgAAIABJREFUeJztnXe0XFXZh5+E
88
+		JKQQepCEQEJL6CUEUEBDExGliqgoYkUFLKj4iQ1EUbFhQ7EiKkVUVBTphCa9iYIIoYSahDRIJ+V+f7x3ViaTmTnn7L3f
89
+		c+be+3vWehes3Jm9f/vMKfvs/RYQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQggh
90
+		hBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEII
91
+		IYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQogE9KtagBBCiI5mU2A0MB7YGNgC2AhYD1i72wYBA4DvA9+o
92
+		RqYQQvR+NHEXQghRY1NgZ2AiMAHYCtiGYs+KtYAF6aUJIYQQQgjRd9kIOBI4B7gbWAp0RdrBpY5ACCGECGAotl0shBCd
93
+		zHjgFOAabGU8dqLeaKeWNxQhhOhbDKhaQA9iO2BrYEdgE2As5uM5DBiCbQ8vB+YBy4D5wFzgWeA54DHgEeAhYFG50oUQ
94
+		gkOBzwJ7Ofcz2rl9IYTos2ji3pqtgAOA/YA9sYl6CmYA9wM3Yyte9yRqVwgh2rEZ/pN2gA1L6EMIIYRgbeDDwA2k3z5u
95
+		ZfcBn8ZW74UQwot1gCX439P+VNaAhBBC9E3GAz8EZlHehL3RZgNnYS8PQgjhwX/xv5ddWtpohBBC9Cm2AH5OdZP1ZjYN
96
+		OM5z0EKIPsvVaMVdCCFED6MfcAbwCtVP1FvZhSgGQQiRlkvwv3ddXNpohBCij9G/agEV8Hpsu/h0YGDFWtpxLBbEuknV
97
+		QoQQvYaXSuhjTgl9CCFEn6SvTdy/i2VyGV+1kJzsAPwLS0MphBCxLC+hj9kl9CGEEH2SvjJx3wi4BSs60tPYALgdGFG1
98
+		ECFEj6eMe/6MEvoQQog+SV+YuG+PrVrvU7WQCDYAbqxahBCix7OihD6eK6EPIYTok/T2iftOWIGjjasWkoDtgB9XLUII
99
+		0aMpI+D9+RL6EEKIPklvzloyGrgNGOzczxxsRf8R7IE1BytyshaWk30ksC3mr75+ZF8fAX4GPBDZjhCib+JdJ6ILeNq5
100
+		DyGEEL2Qx/FP13gEVo0wD8OBg4GfElfo6ZbCR0IIIYwr8L0vPkvv38kVQgiRGM9cxZdifvMxrAN8HlgcqGGbyP6FEH2T
101
+		2/CduGthQQghRCEOwe+h9MHEWjfHHnRFdXw5sQ4hRN/gf/hO3H9b3lCEEEL0Bqbh80A60FHz3wpqmeyoRQjROxlMnJte
102
+		HvtiaaMRQgjR4zkZn4fRySVof6aAnqeBfiVoEkL0HjbDCjB5TtyPKW00QgghejwvkP5B9FBJ2o8roGkesF5JuoQQvYOJ
103
+		+E7au4BdShuNEEL0QXpT9P8h+ORrP8+hzWZcCSzL+dlBwJqOWoQQvY/Rzu3PBx517kMIIfo0vSmP+7ud2v2XU7uNvET+
104
+		lfSFwAJfOYXph2kfCYzAMucMB4ZilV//B1xWmTohxGbO7f8PuzcJIYRwordM3AdgOdI9WOLUbiODsZX0PMzCJvlVsRlW
105
+		UGocsDO2krcVNmEf1uI7c9HEXYgq8Z64P+LcvhBC9Hl6y8R9d/IXQirKhk7tNjKS1pPeRqZ6CmnCrsDewJ7d/x+Sx34I
106
+		sC42gRdClM+Wzu3/x7l9IYTo8/SWiftEx7bHYdUGvdm5wGfvd1NhbAbsj6XA3AcYk6DNNYFRaOIuRFVs7tz+g87tCyFE
107
+		n6e3TNzHO7b9GuAcx/ZrHFngsx7VCTcHDgUOByYBazj0UdbuhRBiVYYAY537+Ldz+0IIIXoJl+OX3mwO/tl3hmK+9Hn0
108
+		LCG/S01eNgJeydl/jB2eWLcQIh/b4Httl+2+J4QQfZLekg5yhGPb6+IX+FrjdPIHpv6F9Bll+gMDE7fZjLxjFEKkZWvn
109
+		9uUmI4QQJdBbJu7Dndv/mGPbI4HPFPj89x00LMVyMHsztIQ+hBCro4m7EEL0AnrLxN17tfgN+PmH/qHAZx8CbnPQsIBy
110
+		Ju7eL1hCiOZs49z+A87tCyGEoPdM3JeX0Mc3HNo8DUuzmJdPOmiAlX6q3iwuoQ8hxOp4BvCDf6YrIYQQvYi78A+s7CJt
111
+		OrUDCvZ9e8K+G+kPTCmoJ8SOcRyDEKI5awAz8Luuny9vKEII0bfpLSvuM0vq59xE7UwArin4neMS9d2MFaQPeG3GyyX0
112
+		IYRYlS3xDeC/17FtIYQQdfSWiXtZqcjeiFVpjWEitnpe5Nh/BVsR96I/6VNMNmNaCX0IIVZlO+f273NuXwghRDe9ZeL+
113
+		aIl9nR/x3YOBOymWFvHfwJci+szDQPwzvixDW+pCVMGOzu1r4i6EEKIQ+1OOj3vNPhig8cSAflYAowL6KsqawHMB+orY
114
+		VHrPi6IQPYlL8L22R5c3FCGEEL2BtSmn8mfNlmKFmfJybmA/RxU7DMGsC8wN1JjXbilpLEKIVXkIv+v68RLHIYQQohfx
115
+		T8qbuHcB1+bQtClwc2D754QdhiBG4v/ic0FpoxFC1FgfW2jwuq4vKW8oQgghepPrQp6JdEoOBE5u8/ejsJWu1wa0PRk4
116
+		JURUIMPxL2JVZhyCEMLYERjg2P49jm0LIYToxexIuSvuNduzQUd/4IcR7T2B74O2GXtE6M1rR5c2GiFEjY/ie11PKm8o
117
+		QgghehuPUv7EfS4W3An2EIvxJ11ANYFeBwXqLWLblzYaIUSNX+J3TS8B1ilvKEIIIXobX6L8iXsXVkzpWwna2S39IcnF
118
+		sQU0htgcVr7cCCHK4178rus7SxyHEEKIXsimVDNxT2H7OByPvHyija4Udnt5QxFCdLM2sBi/6zpVJWkhhBA56U3BqQDP
119
+		ANdXLSKANwG3Vtj/SOf2/+PcvhBidXbCd6frLse2hRBCNKG3TdwBvla1gAIsw/zi/1GxDm+/+n85ty+EWJ1dnNuXq4wQ
120
+		QpRM2dlLyuAG4DFg66qFZDAdeAOdMandxLn9B53b7yTWB7bA3BT6AQuBKcCLVYoSfZKJjm0/Dzzi2L5YlVcBY4G1MDel
121
+		l7EMZLMr1CSEqIDeOHEHOAO4sGoRbbgDOByYUbWQbjxX3F+h507chwBDsetkMLAIm4jPb/jcVsC7gQOAnYFhDX9fBNwP
122
+		XAb8pLuNvs6awAbAIGwS0hMmIEOxc2IA9hsvwoobLaQzf9MJjm3fkbi99bFJaX9gHjArcfudxNBuG9htC1h5b6lnN+Bt
123
+		2H1lO+weVM8CbNfjQuBXjnpFZzEYu//0x2qwLMXOny7s2bSkOmmVMww7PgOxa2wB5tmwAIv36RX0q1qAI88Bo6oW0YTz
124
+		gfdVLaKOftgJPcip/VuA1zm1nYqNsDoAE4EtgfHYRGIEdiMYiE00F2E3gHnYDbL2wJ1EfrezF7Bg4EvTyQ9iIDZRGoz9
125
+		9sOA5d3/1qwY17PdFkp/4M3A/ljtgzHY8R2AHc8pwOVYDYSqJ20jsYlS/fmwHnae1J8PS7EX0wXYDtpM4N/Af7GJ7QNl
126
+		C69jQ2AasIZT+/8HfDPwu9tjwfi7YH74IzG9w7v/Ph9b1Hgcqzz9V+y49jQ2w8a6G3YebY3dVzZg5Xk0iJX3kgXd/z8f
127
+		O7cmFejrYawg4ORE2mNovLeshY1nLZo/Z57Erp+y6Y+9iNcmwP2wyW89A7BzsYpJ32jsubQrtos7DrsPbYgdyzUw/V3Y
128
+		S19tJ2YWlsntUezY3otdP8+XK9+VMcAO2LHZkpXHZgQrz7tB2EvMUuyamoadZ//G4u7uwu7VPY7ePHE/ls5bdT8V+HZJ
129
+		fdUehCvafGYJVnzpr446LgE+jl1MRc+3/thFFzNhbMWu2ETyQGyCNtShj3Z8GdsZSsma2I1rK+z3H425Qa3T/e/rA+ti
130
+		N/3abkJtdSLrxWMaYUHM6wInAe8HNs/x+dnA8cDfA/qKYS/gEGA/bKKVIqhzCha/8nvgtgTtFeEg4GrH9vcFbirw+d2B
131
+		w7BrLsT3/nLgNGyC2sm8GjgUu6/sht+LUys+BPwscZtrYNfxptj9ZP3u/26MPWNGdP99XeyFpOi95R9YgoZUDMEmdlt3
132
+		a9wCe1mq3QPX6dY9qFtjf+yeCKtO3PthYz8a+EtCfe2oP392JV1F8yXYYsKV2M7vY4naLZMDMffi/bBjkyJG8wHsWXMZ
133
+		tisuOoAnqT7NY2376hDnsdYzAHgKm7Qva2OeqeJqtqjb2uloZSuwFftUDAE+gr1pV31OdAGfihjLcGyyeRJWZOd6bDV/
134
+		qaPeAwpq/DA24Q/p6/UF+wphPPBV4oqm5bU7gHeUMKYapzmNowtb3VuLbAZhL2x3Jup3OfCegGPhzQjgs5hLYFX3knoL
135
+		rVLdD1u9PAL4JHABcC0wFXuGeemdTtwkbBA2ofs6VlNlRmJ9b47Qlof1gc9Q7vnzW2y3q9OZCHwH233zPiZXY+eRqJhD
136
+		qf4m+gB2YZbJFom0d4KlWOkYAnwBm9hWPZ5GCym6dSLmllG21u/l1DcKuC6yr8XkmxyG8Frg4kh9oXYr9sLlzZ+dx9CO
137
+		YdhE5Dmn/k8IOyTJGYHtoL5MNedSOwtJOPDzHqYX7FnndZ7V7DWB2rJYH3M3m+Osv52d7TS2WN6M7cRUcUz+BmzrP0TR
138
+		jn9T3UXRRTWZF/aJ0Ntp9pnIY3E8lt+/6nG0sicCxnRTRVrvy6Ftf8zdJUV/5xQ9MBnU3MKq/s27gDMTj62Rpx21t3P3
139
+		+yTlvCB7ZszJw6eBl6j+PGplIfVMQnfHqvw9J5agbbtAbe04EfNFr/o86cJ2A0c4jDGEg7CFgaqPyQpsN1tUxGuo/iQo
140
+		27+1E3YaUtlrA4/BGOzNuWr9eezdBcd2SUU6l2D+oa14b+L+lrJ6hp4QNgB+mlhbCrsCn1oaWzvrbuaKcTS2SFHWsZsa
141
+		dYTC2Qmb6FR97uSxPQuO7Q8Vat2/oNYar3bWtQSLF0rFSMwlo+pzo9GmYvfJqtiSas+/VpY6XkQU4EqqPwG+4D7KlbzN
142
+		cRxl2mzCUpYehWVoqFp/XisaKDQSX5/TdrZ7C02fc+rvXQWPTSPvohq3orx2O+mTBLzDWXN9tq6tqe4F+b3xh6oQH0mo
143
+		vQy7ruD4BmK7alVoPbyg1hoHOut6lnQv17vS2feiqiqcfxrf2KxYKyswWTSwCdX/+F2UFwzy1hLH5GkXBYz9Cx2gO8SK
144
+		+lFOqkjnW5to+bZjfxcXPC41hgC/q+gYFbUQt4Z2nOOo9dG6fj5BtQ/cp6KPVH7OcxqDtxWt0bEO1bhwHFVQZ40jnXXd
145
+		FairkV2w1LFVnw9ZFpriNYRN6Mzdh2Z2vtMxEBl4Ti7yWlnbu71lxb1oirBzHTQswzJGHIClwHvKaaw/LjhWgK85aWln
146
+		H2vQ4D2hCUlbtjuWijFF//OxVfG/4xsv87WAcbbiNkedH8deiq5y7KOIleHr/hcH3bMwP+f9MddGrx20UwPGu7uTlnZ2
147
+		ZIBOsKxFnrouC9RVz3pYrQovjf/Bnn0nYOfSPtjz6gis3sIfCvbvXUkdLPg0VYzITKzewz+whQWv43y8y5EQbVkDmEv5
148
+		N6RGO9d7oMBbKhxfKnux4Jg9fJinYwVU6kkVeNloTxUcb43/OulpZfVBlT8pob8VFMsf/+5E/T6H5cRuDNraD8sl7jHW
149
+		FJkMhrGyGIvHb3EpnZNmt/F89OAGB83/ZtVz+lX4peadHDjuzzjpaWWhK+6eaU+7yJ9Jqx03Omm7BXhjTg0bAGflbPer
150
+		4UPNRapz60Hg7ayefexwfDL1rKB9jJdwwntbLa9Nch7nQR0wxi5sG30ptmpddEu9yAP5Rw7aFwJjG/q50Pl4jS8w5hq7
151
+		OGtqtNpW6ldK7HOfnMfi9ET9XQWs3aafIdhLXepx3pBznO2Y5KCrZisc2w61KxMcs1Z4+O5PxYr+1JMqz30zW0R4gHeZ
152
+		/u6hwanfd9b1iUBdNbwSRXwlUE+eHYqHAtvOQ6qUoz/N6Gc8Pm58P4gavQhmMuXdjFpZ0dXkouSNtPf0ubsT86/cFMvw
153
+		MhoLZNsV2BnLZX0Q9jL1fmxL91uYL9kV5F9l/ayT/n0b+lkXKwDjeV6EBtuVGY3/PmBCif110dyvvpEfJuor7+TZKwB0
154
+		XM7+W1H2SmnV5lUB0isL0RYN/Wzv1E+9TQo8BmVoq1njzmZeLnXWFVt8yWNH9OeRmibn6GPjyD6akcrlLGvSXsNjcWk5
155
+		7Rd1hBMjKe9m1M5S56iuZyy20vI4tp12IVZV7lTgndikdAd8K7WVUdjhYCft32rS14lOfdXb9wOPw+gStNXsKuD5Evvr
156
+		Ak7OGP/5ifqZTrES9R4ZIs4q0H8z/uSgqZPtJdI/SL2u9Q806etbTn3VW8yqcRl1DxYQ/hv+01lbjPuaR6zAPGDNCE1g
157
+		mbay+tk7so9GJufoM4/lqSVSY0N8dgmbXceiBE7B/2aUxzZ3Gt8amN9kFl7+2l3AsclG05wNMRec1Lqfa9HfNQ59NdrV
158
+		Ecejp+SsD7FPtxn3LxP287qMY9zI7x3Gem9BDY2U/VJVtb1C8cwp7fByPbunRX+POfVXbzG5qF9Xgr4Y14ynHHW9xOpu
159
+		TUX4uoOmR4knzwvFYQn6qZEyTmSzgn3fnbDvmv0RyztfGR7FP3oC5wD3Vy0C+IVTu8ux1cN27I5Fu3vxL8e2wSaqRVZH
160
+		8/KRJv82hPx+1jHEvMj9JJmKzqNVAZSzMdedFFyFZSYogsc5viPmlhXCthQL5O0NrOi2VFyRsK16mrnBbQls5dRfPVtH
161
+		fPcWYEYqIS2YEvi9jVi1pkBqpmBBw6HskUpIHaOJD5BcnugzefgDFtCfgu9hFaGL4HGPnkDx4mZJ6asTdwhPP5WS/Vnd
162
+		l7osPHPKv4j59nlxCubHn5p/AZc3+fcJ2OTdm00Jn7Rdj6WU6yucgPlzp+KUgO8UfYjkYSDhfu5FawGkZhnwDOWeh/1J
163
+		9xw7D5+J4F+xTDKNeNzDmhGT3q8LyyLkSeizYjPsevEidnW7MZ4hBUPIF/PTjjw7VM9E9gG249CsynIIywgrYpliHI3U
164
+		4vUqoy9P3KcCJ1UtgvyBFqnZ0bHte0m7ClbPKOC7Tm23mgju4NRfI4MJnzgswfKN9zaeAL7T8G8TSHvd3Aw8EvC9lxNq
165
+		qCePm1sz9kqqIptl2Ar1Kd19j8EmK2OxWJoFJWl4JUE7e2DpPz1olUu9rPvKRsDwiO+nruzbSOjE3cvVtEbIPaHGUPyC
166
+		GM+I/P7OGX+fQ/zC21uwxBGpuICw+8mshBpqDMSuqcroyxN3sKI3RctCp2YccEwF/XpO3B9wbPu3Tu1OwfzYm1HUry6G
167
+		Vm4heYh50ISyHHPTOYn0N8l5mItSfRam/qRPARgaKO41oRkU+L2yVnAfxCbrW2JZN76HvTQ+j02kZ2FVj2NXBvPwEhar
168
+		E0tohd4srqd15hvviWeNdbA83qE01jJITag7g7ebUczkdQjh13EWmxBX4TQrZ/61WCrFUEZifuApCU3csCipipWE7oyL
169
+		RAzDr2pdXnvWfZSrMhDfstZeLyKe+enbRYp7pYZrZocGHhuAz5WoswtLSza2rv8x2Cp0iraXYYGCjfwm8RjmEr6AcVhi
170
+		LTV7S4CWMrJl3YVVZS6Cd/BlMxeUopzkqK+df2+Z5d5DXSM3wjdt8FzCs6T8ylFXF+EpKsHmFd4FHycF6NopR7sHB7Rb
171
+		z105+ihi/4nQckJiLTW7IEJTNH19xR1s+yVmspSCTbBc5mWxLbC+Y/teK+5ebkWLgN+1+XvMNnNRYgKGByRT0Z7nsJeo
172
+		D7JqxdepwCEJ2p+GBU83nkcHAMclaL+evxDu1uURHA1hrh+e/u1LsYq0e2CZdIrwYHo5qxC76LEmzdO/puAJ2lcu7Qn3
173
+		lS3w9SN/EHPzCyG25kE75hIeNAs2r/AO6r2G4rvBWZVgn8YC9UP5CHbvTknMblhjVdVUeLlJ5kITd2My8I2KNXytxL4m
174
+		OLY9nbgbXiuOYfVKpqm4mPbZA7y2PJsRk36sjIwit2ArUde2+PutWCXbUK7H3LiaZX3ycJP6c8R3vV5+Q1w/PP3bbyH8
175
+		2C9LKaQJT0Z+/9P4BZ5npWGMudaLErqq7e3OE5rdbQ18XWUeJvyFooZ3ZrVBWB77vJPTQ8jO8HJahJ518Kks+reI78a4
176
+		iLViBRUngtDEfSWnkWbbNZSNsBXMMtjNse378QlM9VoVg+yV/HmOfTcSugq3Nf4+zldgeZ1fyvjcRwmbfJ4JHIgVNmrk
177
+		k6R/MVlCXIyLVyq6aQHf8Zy43xHx3djUdVnELBIMBj6fSkgTfpPx96zrKCXDAr8X6zaRRav89lmMJTyIOw8xueVrtFrc
178
+		SMlozDUl67kxjOzdsiew2JRQziH9ru+TxO3axWRUasVsfLLV5KasrfWewiFU+4OcRXw54zx4Ttw9tsYPwy9A9GnsxteO
179
+		FMFveZmT8fd1sKDAzTEf8G2AXfEvCPECxcp/v5/8q9n/wXwRW2XFGQJ8tUDfebmJuMwnHinBZmIuR0VYG99r+s6I73rv
180
+		Av0v4rsn47faPhm7ZtqRda2nJKuv9YDxWJzKBMydcmf8A/Oz7r2t2C6pitVJsYh3GeVkjdsWe7nei9Yvg9eSvTL/7ggN
181
+		m9O8VkEssYkIPJ6LU7GXnMrQxH1VnsUClc6tqP8R2Kq75+R9KNnpoGLwmLh7ropdmuMzKarV5WV3bJVhFDYh2xhbXdoA
182
+		uzmOxi/NWDtuKvj5v2BuM+0KV3VhLmJZ+XlPwWeCFbsitmsSFavyEMXdS/bAz52ri/DJ1RBsIuhJTOaPTyZTsTp5YgFi
183
+		XjqKsi/mXrIJdv8YhU3KN8BcTjbGzx+4Fc8Tfgy2TSmkCTEBkTVmYvfBIxK0lcV2WBrm/Vh98fFCsmNgLsbcbkLxWFiB
184
+		uB3RNfGZ6zxMtd4ZogU34RsN3s6edx7b3s76U6+EbOusN4+LwTbOGnqCfSrHcWpksxZtLcX8f/OshvTHdjw8xjQxYEw1
185
+		vLK4nB2g5XQnLV3EuQx4X7sxgamHOGvLs0X/RmcNnW4x8SWps0vV21LS+Ubv5qizmc1i1eDQ83N8Zw7hMRBgC44eY1lO
186
+		XHrk1zjp8qr3ICLZkGpuZDV7u+PYPuqo+0XSZ9o4x1HvLPLHeTziqKMn2KScx6mRL9e1cS82yRxb4PvvdBrPbOLO1eOc
187
+		dIUc56uctHRhD/5Q3uyoq4u47BdXOOrKm1VrTapPRVylxVQ+vtdRV4rV9npudtTayt6G1anJ89lJkeM702kM93aorjGR
188
+		uoQjH6b8i61mrQp2pOAiR92THfTOcNRbpEjE+xx1dLotJG4b/RjCcyLfGam9lcX6Tl7joOlFijMQWzHz+u1jVpf+z1FX
189
+		F1ZSPYT1sAB6L11FiuN8w1FHp9veBY5TPcOxFL5eutqlBg5he0etsXZWgvFNc9L2w0hdUxw03R2pSZRA6kICRez1TmN6
190
+		1FFzVo7YouzvqLUL+FhBPU866+lUi8kqEsPmBTQWtS9H6BrlpClkIrq7k5aaxaSO/Z2ztpBCVWCB0566itQFGYbvJLRT
191
+		7WXC02F6uUDULGYnoBW/dtYcYkXjlprxekd9x0fo8nIJTl1HJAilg2xPGSW7W/E5hzY3wScTRo3UgalHJm6vkVZZTFrx
192
+		JhcVnU9VqwzvcGw7NH80wFeSqViV7wZ8J3TVMg9ziAvC2jGVkBaEphLMKvkewwqKZeFZABzupKWTuYv2tTPaEVoFNi8e
193
+		+dc/TMW5vxuYRppUn+9M0EYrYgo5etTleQkL9BU9gK9S3Rtx6uIXRzvrjQn2a4bHVlfN5hGWqeQgR00h9k8sM85yxz5i
194
+		0oTFcHcBjUUt9AV2Uyc9IZN2sOwlXscoJuvOulgFWC9tofnbh2KuX166HgnU5b0LUMQW43vv7cJiXUI511HXCvzywx/m
195
+		qLuojU8wnn5Y5hwPfS8RHjD7WidNZVa3Fwl4jmourpAME+0421HrfMKLfDRja0etXRRfba9nAra7UMU58RQ2WTsZ2KFb
196
+		j3d2ilD/9Bg2jtCbZTMID0z9p4Oe2YSXlZ/qoKdmoT7kYAFvnudkaKEY7xfvSwJ1gV3HVT1rHsUytbwfy5j0Wef+Dog4
197
+		Trc56kpReKkdv3XUntfemGgsr3bUGJqCFiwdZmo9HmmuhTOeflztLKSCYjsmO2qNudCa8UFHrV3ALxJo/DRWwMlL43xs
198
+		2/3nwAewgkvN3NsucNQwHVtZKZtjA/XmsVsCNXlNZiYF6tnSSU/NYlzVPuGs7eRAXWc56/pSoK4aw7s1znLU+BJ2DfwI
199
+		201rlhN9smP/SwivED0Y2y310pY6MLUZzzrqz7K3JRzHFx11hv4Ov3LSMzZQj6iYa6nmQntdIv3eN7zzE+ms8QtHrV2k
200
+		C0AaBLwLy1DzfKSmhdhx/CgWmJs3l/ADkf22s5iUezF4bof/NkCP1zb3FwO01PBKSVmzmKqZnnm2uwgPmvW+j6eaGK2H
201
+		+UX/Dcs2FKPpRayC5wlYQbR1MvpeC5tcex2j0BdngD0ddXVhizHebOc8hnb2nYTj8ExDGxJH9DEnLZ7puYNQ5dT8vJfV
202
+		K5KVwduxPLCx7IJvZbzUlcRislnk4fFE7byCrQ78DnN32BFbwapVI9wYe2ka0v3vG7Vp6zKKl41eF9/y36EBgLHs5th2
203
+		0ev4DcBfHXRcQlyga1Y1xBiewHaTQtk9+yPBzCQscG0Adh/05MlE7cwBzuu2Ydh9ZTssh/RI7D4yBFs42I32K9g/odhO
204
+		wJ74VeIFuCHiu96/333O7YNV3jyOsAWEWD6Jvbh9ILKd/vhUjq4xteDn3wN830HHWcS5v4kO4DuU/4b8VCLtH3fW+YZE
205
+		OsEeQp4BZF2kD6TNQ1bRkFMC2tw3o81Y88zA0Yqh+BamOamAFq8CUCl2MjyL0Pw+QpdnfEIX9oIbgnc+7WXYpLpssgIE
206
+		i6bNrC+a5mH7BY3S+LmjrqXYTkdZfNtpHHnsvEjt3lWR31xAy2daaAL0AAAbRklEQVScNMQeI9EhDKKaSnfbJNB+obPG
207
+		PCW+8zLRWetyLDtImbwqh66QB9qncrQbY2MCNMXiXSb8mJw6vu7U/98KHo9mrI9NNLyO0akR2g511NVF2Asu+GfVeo7y
208
+		UyznyVe9RcE2J+doM9QWYS/modznqK2KAMS/ReiNtZjiS0c5a3t1Dg2D8Yvv+nHxQ1IeyuNejFewaoBlk8LP3XPreir2
209
+		0ErFVgnbasZcbJWqTLJy5i4lrMSzp0vJUxTfskyB9+//csbf98VSUX7Woe9fUKxATyv2wNfVMSbP/R7JVDQntHCMZw0L
210
+		sEDuFc59NJKVneUpzO0pL0MxVxkv7sF2U0NYD9/aADF5w0M5tKJ+wWrFFFnZrmdcSiENdGGuYu04AnM58khVfAZwokO7
211
+		ydDEvTjnAi+U3GesW8cofB9aDyduL3X++kZmYSs/ZXJQxt/vI3tC2QxPl5+QF4kUeP/+L7X49z2wNIOT8Tmun8CyJaXA
212
+		c3IV+hJZI89qWSgvEv5S4X1ezXZuvxlZCwJFs329hrD6FnmJqda5K74vq2X4tzfjtVimmSr4I2EZfryvpSUt/v0g4Drg
213
+		zw4aFmIxhTFVtUtBE/cwYraRQ4h1lfH25049cR+duL1G5jq334ysB2xIpgXvF7KqVoK83ZjqczWPxCbTN2GpNz2qtd6P
214
+		vRSkDJ7ynLg/TPaKVysG4ru7dzO2IhfCqJRCmhB6zEIZQXaActH7SqosZq24NeK73js5HhVT8zAfc3maV0HfaxIWJOv5
215
+		jF7MqrF947A5193A1cTVAGjF1VgMTExsT2n01qwymwHHA3cQV/2vFRdiJXW9J5g1Yh843hP3/yVuz6tyXY0Fzu03sh/m
216
+		k9yOyQHtev+uMe4SMXj+/suxNHsDsJcpzwwaczE/0m8nbncNfCcxMb/7rmSnG4whZuLnfV8pu6R9HjeH6wq2uVeIkJws
217
+		xZ7JoXi+EC6luok7WAanvbDJ6eCS+z4cW8m+psB32mVHi2URliVmW2yS7ukO+iRwJvBrxz5EBhtiRSWWsTLIIDSQKYv3
218
+		4hMU0cxmEhfQc4WzvtQ3+xud9V6eWG8W52XoWUJY1dkzM9qNtZQBx0W4qYDGorbCse2aTce2W/Pm4S/Kzs76i2TdacQ7
219
+		e1VMCronnLV5pKNrx3UZeor4toO5yHjW+oiZtINv4aIqJ+317I7vOdrKirr/TnHUUsY9ego2NwytoC0ScSyt02J53FD7
220
+		YytqZVxUM4nLwR5bGKidvYK9MKXEM81dF3BxYr3t6Ed2FcSrA9v+R0a7MZYqz30InpkjPO1RrIDL2ukPySqc4DyOvSO0
221
+		Xeyo60XC3TuHADMctXVhu7BlsVEOPUUzY+yTo80Y+27IQLsZ76ztwghtqZmE71hbWd7EG0PITkHaqXYPlsO+R7uJ92jx
222
+		dZyLXXitVrg+hlWOS8kKhzZb0Y/wsvPj8M0t/DRpM7T0w3/iU+Zb9mFku8mE7AD0x3cLMXVBrSKElkOvihuw6rnjMLeY
223
+		kCDjInj6ty8hLi2eZ1GoOwjP2jKcsF2tIpR5X8mTTaNo0TBPNxmA2yO+6xnwDNUFpjbjJuDICvo9Cyvol0WtoGBP4s+Y
224
+		S9BELLNX2dmfRB2DKFbC+luJ+x9boO8YewEL+grhHc7argjU1YoBWGVLT82XJtbcjhty6AlxSfEuJnNGgKZUPN5CUyfZ
225
+		89hOnveEohkPBujNazGVcrdw1NWFpa8LZTS2O+ipL/XzpR1Z18g8ij8zLstoM9Y2CxloNz911nZghDYvPoDvmJvZD3Po
226
+		2oxV3ZE71R7DdsE8K4uLgqxF2AMsVTq2GncEaChqMcGfZztrOydCWzPWwCLKPTWXNXHfPIeW0FWo9+RoO8aqWPEB+/2n
227
+		5tRYti3EdkeOIy7mJIYRWICt1xh/GaHNq8pszWImV6OwbBWe+sqauO+bQ0tIphBPl8opAXrq8XxZXYFV++1EvKvYNjsW
228
+		WTvEY/G9B8XYy1hK38MyxtCj6alZZYZjqdu2Dfjuz7DctqmCUS7Bd+sa4lxRdkqmojmPOrfvwfKS+slTwOeCwLa9M8o8
229
+		lP0RFwbil+UlhBlYsPSVwFXAtErV2O/u6eIY4ybjeU4uxTJudDJl3Ve+mOMzRe8r2+DrUhnz220E7JBKSBOmUP113YrT
230
+		gS2xl+Iy6Ad8hPZVVWuT5E7hGWxn+wrgeqqpp1AqPXHiPhBb5Q6ZtNe4CnNPSOHn9A/Srzo38nzg9/rhP3GvMogxlDLS
231
+		bQ0H3pfxmRXYi18IEwK/l4fpxK+QhbKY8tN11jMT83e9HUs9eBvhlR498EyJB3G5+z0n7g/RunBWp1DGC+c4YP+Mz7xI
232
+		8TSQ3gsBd0Z8d0/CY7zy8B/HtlNQi5/xvvZrnED7ifsaVBsf+QKWwOLWbrsTc93pM/TEiftk4n2WNgbOx3K9x/Io5tox
233
+		NkFbrXgy8Htb4l905CmHNr1vCt7BrwCnkX19XU5YMaihwC4B38vLQ1QbvOMd5LcQW2Gbjr14TsMmrI9hD/FOmqg34vnw
234
+		Xkb4JGYwvudkjO89lDPZ8MxfX6PdhKrGrwPa9Z4UxlTi9d7Rrmp3sQivxxJBlPHs2gxLu9qqnsMiLF5kTUcN87Ddzmex
235
+		tKa1e/Qj3faKY98iMZeS1h9qv0S6PFOgdWE+tSEc6axrNukv3n6YT7+n7thJQBbDyBcIt29g+6/J0XaMlZ2PupGH8R1f
236
+		TJ7yqvH0Q46pgLyHo64u4OQIbWCxAfOdNf4pUmMWW+XUMTag7Vtyth1ii4l7qbneUVsXcEyEtqKMxPzWvxrw3T3xPQ71
237
+		dlobHWvhnwr7TQHHp8/Qk9JBfgV4a+I2U+Xz9n5jD12t2DGpitV5Cksfl5Iu/NPpeVZ9A/g62RkdnsB8p0PwTAMJ1a9A
238
+		hexCFKEsX+TUeKd2jUkBGlMYKQ+x7gxz8a9sOsK5/XNzfOYGiu+CromvS+V/CXdzGkjvuN+tjSWKeAL4EvB54O8U2128
239
+		k/YT6pS024FZjP+1tNS5/R5NT5m4HwF8waHdV2HBH7E8naCNVjxP+EqYZ0AP2DaWB96+rK/C7yG7CfDRHJ87O6IP7wfZ
240
+		f53bz8I7uMj7hdYL7989ZnLsOXFfTtxuANhEYF4CLe3Y1LHtPbCy9FmErORug68LRkwiiJ3xdUF6Cf94nrdj7h2fYdX4
241
+		qjdhQbtFxvcN4OZ00lqyeZu/LcP/Hr2zc/s9mp4wcR+N5Zf14gziJ3EpCxA1ck3Ed7dOpqI5Xi8sM5zarTEIGOPU9i9y
242
+		fOZl4FcRfXje1JZjD5kqme7c/jjn9r3wDiCMmbh7LhI8SZp7gvd9ZVNsUcCDPFli/ofFgBXF+0U21gXLk/+Sfte4xhrY
243
+		ff5iWu+U7YrtqBeZvB+BfzDmBrTfDfC+lrznLj2anjBxvxLfiHKA70V+33NbJ/SlZQjt35pT8JxTu884tVuPR1GG/YGD
244
+		c3zum4TfeNfBii958QSWlaJKvH//XegZ975GPIM/IXyCNRj/dH0pCM3OlZc1sNXr1Hw4Z7ufD2zfu0BNzEKAd9CsVzrj
245
+		7TAXnPfm+OyWwD/JP8+ZA3woUFdeBtM+fs1rt72G972uR9PpD68z8Hf3ADgWC/wJxatE+zzsxSWEMfhnOXjBqd0nndqt
246
+		x2P18qIcn1kCfDeij53xTTsXU+wrFY85t78hPc9dZiC+D7MXCZ8gj8P3XjM1UTtPJGqnHanvK+uSr5rlM4QHx8akVs5D
247
+		zHH3THsLPhP3N2EZWcYX+M72FNtd/xXpatE0YzHtM7d4uxftQjlZmnoknTxxH0ca//O8xKy6r5dMxapcQPjKbEx56bx4
248
+		bZeVMXl8Q+L2ziPfNvmXsXRaoXgHAXbCxL0MH/sDSugjJTuQXdEwhocJD9r1WGWuJ9UOTBkuYK9P3N4fyZe2+eMRfXi6
249
+		JSwkfHV2ffxfKlJP3E/Agk5DFlcOpNg8JM9qfihzaT/38L5HDyRd1j9RIvdQXuqjmoXewL7mpCfG1eUDTprq7TUR+tqx
250
+		IXbT8Nafytf5LTn7SxHQc37OvkLNews2D2ticQCe46yqCmdoXYX34ns8fhaoC2yBxVPbRyK01TPRWWcXtqM2LJHeU3P2
251
+		GZMVZW2s4JnX8XiKcFfX/Rx11SylK84XEmk6okCfVyTqs9Guzeh3C6d+6y1V1r8irIHNPzqaTl1xfzP+GRSa8ZXA73m4
252
+		XVxGnMvIxqmEtMEr+8tMyll1PSFBG9thq2J5iFkVq+HtOlZVxdR6lmDVSz2ZSPlBqldgq74hEzvvLAsxAYTegWRzErXz
253
+		IP6pZgcRXnejnoOwWJg8fDCin82wgm5e1OpZhBDjvpqHZaTbzTmb8PlDI5eSf3ctNK4hi6yd1yfwj0U6inQvwXlYCwsU
254
+		7vRKuh3LFPzf5lpZ0QnvUMwfLLWOWFeXHzpoajTP9Gc/LUH/QuIKSG2CTSry9BWTI7vGMEyz5zHZIoHOFJyJ/++f94Ur
255
+		ltHAXXX93hjQxg34HotDQgbWzT+dtaUskHOVs9Yu4qtJv7ZAX5dH9nVwgb5CbBZhFdrfhH8hvhcCtTXyFQdtWSve9dzv
256
+		0H+el8+LHPpttJD0piFMwF5Gav3myQ4n6ngD/idDOzunoN6POmj4ekENzfCu5tqFRcMX4W3A0Tk/e3QJ+ruA3xUcQ42d
257
+		sIC+vP2kKHDivdX/Ir6Br0Xwrg5bM++YgbfS/OXuSwXaGIDtQnkeh9Ddh37YypuntjwrypsAnyB7F/kzzlprFlp35MCC
258
+		/cRu63u7YHVRLBD8KOzFtozfqMhiyr7YC3gjJzvqy/us9JiD5FnAfLfj2Gu2HH/XlZNa9P0O5357FTdTzkXbyoquwqZ+
259
+		oKbafvp7Yl3NLK+L0FuBm+q+l+f4DmflNqu3Fd1qfieWAjRv+z8q2H4rji/QZ4h5u6cUZRr+v32qjCWNjAN+n9H3a3O2
260
+		tU1GO7E2i/CdpxH47DjWWzsXs7Ww7GM1P+2jMvSOc9Zab3lSw9bziYLtf6xg+834VME+Q+xvGRomYEH7D5Wgpd7yuGMe
261
+		CPy5+/OTG/72amd9c8lXWXV84n5vydEnWFKOFc7HoIieokzEdjba9T3Gqe9ex3zKvXib2Yk5tf7Goe9Uvqy3OmhrtLe2
262
+		6X8Utrr1WJPv5fXdvLyEMdTsszn07IylXCvS7nTS1SH4ZsG+i1rstntqzqGc3/6GhJpHAd8m3wNtBflWI713n2ICdXdw
263
+		1taFHc9G1gE+h2W2qv9snlSiD5aguWZ5Mn+8Dri+YLt35Wg3D18NGFOIXYFVEN0XOBx7YfgF5U/W620erV1ljqX5yn8t
264
+		G9UQzNXGW+M3Wuirpx9WoyBVn0Vc064s4Rh0AT8voCmLHYFf5+x3Oq2LZ4k6fkd1F3LN8tz8v+XQ70cLHKcs7nTQ12iN
265
+		fnj9gDcCl2ABhu2+m2f765ASxlBv9wGnYCspIzEf/knYil+ob+xeOcaZF68MAjX7cUKtKfBeaa63W4mL2dgR+AHFV5/z
266
+		rLqf7jjuLiwYLhTvVccuVs1XvQ022Wy30/n2DM0fL0Fzvd2IFVGaiLkgjMVWcv+PcLeQTTLGmJezSz4WnWb1KQc3xRab
267
+		2vnW13bE31Gixg0af7QmpHreF03dWeYz+g9YXYNQ9gB+G9Bvp8R9dTRbUf3F3EXrCdcewHUO/Z0bdLRac7uDxmb2YyyF
268
+		4PmsGtyRZXl9y58raRyNtoT4lJRfyznGvDziPOYiftdlUcbOUc3mA1/E3D/ysBG2MhfqlnZYzn6yXG5i7eycOprhHdxY
269
+		s4uwYOI8n306Q/Nwirm6pbTFxLsXvD9jfEX4RkXHoVPsKczl6AKyF5tqdjDw6RI1/rLVj1fHbYn6yutXX493jEu9TcM8
270
+		IvJmmxmDxSGEPEcWkSY2rc9wFtVf0Jd0a1kfS015En4rnrW+UnK3k9aUtneOcZzYATpD7J4cYyvCeuR/sITahxNrTkGR
271
+		DBupbB7wF8x96q2YK8OrsdWlD2ET3cmEZ/h5BVtxzcsDzuONyZP+JmdtoXZmhu4fdIDGEIvZHWlGqtzjfcleoXzPgKzi
272
+		flMT9HFjRh+tKCPAudFmYAsap2JxLXt122GY58L3sV2I0Jfk57BUz6IgZbh6ZNnjWK5yzz4uSnXAGqg6yDfLbiR/Josi
273
+		2Vs6wV4mfZXLCSXofktizano9HO5iD1GsWqQw7AXCU9NMakgy8r+U9R+mKG7rMC61OdOasoo1Nfb7NeUf963O59TxJks
274
+		Iq4C/NMlHw9Pu5UeUISpU1kb87eq+kf0tO8nO1qr0wmxAq3sOwXHcmQHaC5iexQcX6ccg9Tl2lOxJdX/pinsTxQvKFJG
275
+		8OcuBTXVkzqjRQrLE2hO9+eq1prXFhFedbcdZVQnDbFnsVSAVetotDPqjt2FJfa7FMug1Iyigc3NbL/VWi1Gp55HRe0n
276
+		kcdBYAE43vmLq7IUqbza8bkOGGOjLSE8N2pW2qZOsSLlqovgkau30V7tpD0FX6L63zbGTg0ct7cryivETQgHAbOdNea1
277
+		5WSng2zk0Q7Qncc8qnOD7QzGxvKktndiGbyq1lFvLwOHNhy7wZS7G/yphv6HYJl5Ytt9F2ko80Umtb1CmorHoptNsQCS
278
+		qn/YVDYVy1TizW4Vja+V3Uzxgk31rMvKXM2danlSv4XytRL07+moPwWpArDKtP8Qd1w/5KxvBvFFt7yruuax/2K7E0Up
279
+		M697qBWJhwihU66rGcBB3ZoGdYCeml1H64xT21FeoPMTWEaiSVje+xQeCSknq/2pLplEjN2IJUURidmAVUuG91Q7n9bb
280
+		XR6kCFhJYV9ONJ7XdcBYWlmqVYtWfLeEMXTyijuY+1xPinf4AdmVPLM401njI5H6oJwiPu3sF8S9fJRRATLEllLOIo9n
281
+		9c+89ldWT3uYwgUk1r6Y4/jthrkylaEnVVzGPFa+JKVk65KOQyoLrXAsCnAJ1f/QIfY/Vt9mK4MPBupNZbeTfhX3+IrH
282
+		1Gjz8V8RA5+6AY3m4Zufmq0o7yEZav9iZaGWWLxf2P6ZQOOGzhpb2b+xuhEp6DRXrKfJV5wrBUPwz1jVypZgGduacVBF
283
+		mrqwrGxFnl3b0jkLZVl2G7B5gbEV5YAOGGOW3Qzs6nUAxOr0pICilzFf81SVM0NoVrnU217Cynd7cUIFY2pmd+J7A6zn
284
+		2yWMJ9Vk05ud6MzYl8XAaYnH6v3Cdl0inWWmV5xDeMxAO7x3N/La34nL8BHCKYm0F7G/kl3c5saSNS3BijCFsC7lVRIN
285
+		tbJWmN9Q4piK2Azi0t+KCPbDfBqrPgla2XzsgdsJpXK3pdyxn4tVB/TmSCygpKrfOKZoTQhlTNzfXdpo4hmDVbqt+lqv
286
+		2c8w/9PUfMdZ972JdA7BP0h1OXYd5C2QFcJJzmNoZyuwwj5VcW8LXantMeCYnJpGEF4voahdRJqFmE7MjX8lFvBbJrtT
287
+		bnGmdrYQe2aX/UIsmvAlyruo89gUbMXN88ESwhH4j/3XhAWHxbAN5QdW3UA1QZynB+rNa49jxY56GudQ3fU+F/gR+esR
288
+		hOBZ2fJewrM8NWOik85l2IJAWaXH9wYedhpLK7sMS61ZJevhG1w4HdsxX6OgLm8f8mtJH0swgc7IhHYncHjisRVhbfwr
289
+		P7ez54Gvkl3ASpTMJsA3sS2QKk6M6cCvSOdr6cXBpC8mNQ1bEdymxHE042P4R7PfQvFUcyk5rYWuEHsJ8+G8GHNp6vSg
290
+		1CxeR7lFmu4CPk76IlvNOCOR5tnATcB5wPvwu2YPwlyGUmh+GfgecdmoYjgd/wJ8VwD7lzWgHGyExWikHOMTmMtoTGKG
291
+		ccCDiXX9Gf/4pEOoZgL/d+IKq6XmaNKfV+3seuA9wJoljK10qvS9Ts062OrREZgrTWyKs3Y8iD0Er8d8RBc49pWSUdgK
292
+		Zd5tymYswcZ9GfYmPT+BrhQMw3zX3kW6LcGZwF+AC7BqalVyMLbq2Izl2CSnCzsXF2ATjnnd/30RSx02B0ut+nz353sb
293
+		h2HpE99I2nvbYmyyfg32QPxXwraz+CQrC5Yt67YB2Arkkm5bjP3OL2Hn7GzsN38KW1iYgv3+ZV2r4zDXoUmB378L+CPw
294
+		G0x/lbwKO6eOJ92K/9NYMa7fYe5enUZ/rFLniZHtXIe5n/wWO29j6Qd8HbsmBga28Th2bl2EPcfLYjesMvVhwPZOfdyB
295
+		3Z/+jO0YdSLHYWmTYws+NTIfC7S/BriKzh1/EnrTxL2eUcA+2Eri7tiKTYi/+RzgSexG+yDwQPd/H08jszL2wt5GD8J8
296
+		hduxCLsI7sZWNW8EXnDUloJ9sInu3lggY96V0elY7MSd2Fhvoue8lImVjMVWm/bHXuKK5Ohdgk10n8Su97uxieS0tBJz
297
+		szZ2/1qMvYjVT9wXd9vyirRlcTRWTOdA2q+2zsKO9fXYQ/d+f2mF6YfdUw7E7p87kH8F+RnsvnI7K+8rnfqb1bMrVvjt
298
+		MFZP1diM6di1cjX2O3o9JzfBnl9HkF2Y6mXsRft2bFJ3vZOmIuyEuSVOwM6jrSi+ezcTO773Ycf8Vuy+1VPYBltgOQC7
299
+		R48u8N2FWJxEbfz3dNusxBo7lt46cW9kTexiH41tBa6H+dmth60uzMYCgxZifqszsBWrmfTOlcka/bECEttjx2J9bKK6
300
+		CBv/k9jq7IyqBCZgbax4xlgsaHYg9hBagk2EFmCTsqmYu83CSlQKT7bAzoHR2GRrOFb1cDYrdytmY6vSM6l+lbe3sQF2
301
+		nxmPXY+DsEWRWdgD+AnsWuxJbICdT2OxZ8qg7n+bh91D5mH3k2exe0uKFeeqGI7F9WyPjXfd7n9/GXs+TMMmx49S/v1z
302
+		MywBw5hunQOwZ/icbj1Tu/+/k1kb29kZicXH1eYnw4Gh2L1pKSvnJs9ii2edstsdy0DsvBqDzdMGY+dYbW7WhY19JnZN
303
+		zer+fyGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEII
304
+		IYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBC
305
+		CCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQ
306
+		QgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGE
307
+		EEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhCiH/wfp2mgXdt58nwAA
308
+		AABJRU5ErkJggg==' />				<center>
309
+		<h1>We're Offline Right Now</h1>
310
+		<p>
311
+			Our servers aren't accesible right now.  We've been notified and we're working to fix the issue.  We'll provide
312
+			updates on our twitter feed below.
313
+		</p>
314
+		<a class="twitter-timeline" data-height="300" href="https://twitter.com/StorehouseVCS?ref_src=twsrc%5Etfw">
315
+			Tweets by StorehouseVCS</a>
316
+		<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
317
+	</center>
318
+		</div>
319
+		
320
+		<p class="footer">
321
+			&copy; The Storehouse.  GNU AGPL Licensed.
322
+		</p>
323
+	</div>
324
+
325
+	</body>
326
+</html>
cookbooks/sthse_application/recipes/disaster.rb
0
+#
1
+# Cookbook Name:: sthse_application
2
+# Recipe:: proxy
3
+#
4
+# Copyright 2017, The Storehouse
5
+#
6
+# Permission is hereby granted, free of charge, to any person obtaining
7
+# a copy of this software and associated documentation files (the
8
+# "Software"), to deal in the Software without restriction, including
9
+# without limitation the rights to use, copy, modify, merge, publish,
10
+# distribute, sublicense, and/or sell copies of the Software, and to
11
+# permit persons to whom the Software is furnished to do so, subject to
12
+# the following conditions:
13
+#
14
+# The above copyright notice and this permission notice shall be
15
+# included in all copies or substantial portions of the Software.
16
+#
17
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
20
+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
21
+# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
22
+# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
23
+# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24
+#
25
+
26
+include_recipe 'sthse_application::nginx'
27
+
28
+cookbook_file '/var/www/error-pages/offline.html' do
29
+	source 'dr/offline.html'
30
+	owner 'root'
31
+	group 'root'
32
+	mode '644'
33
+	notifies :restart, 'service[nginx]', :delayed
34
+end
35
+
36
+template '/etc/nginx/sites-available/dr' do
37
+	source 'nginx/dr.erb'
38
+	owner 'root'
39
+	group 'root'
40
+	mode '0644'
41
+	variables({
42
+		ssl_url: node['sthse']['nginx']['ssl_url'],
43
+		dns_name: node['sthse']['nginx']['dns_name']
44
+	})
45
+	notifies :restart, 'service[nginx]', :delayed
46
+end
47
+link '/etc/nginx/sites-enabled/dr' do
48
+	to '/etc/nginx/sites-available/dr'
49
+	notifies :restart, 'service[nginx]', :delayed
50
+end
51
+
52
+# Unlink our other configs
53
+link '/etc/nginx/sites-enabled/app_proxy' do
54
+	action :delete
55
+	notifies :restart, 'service[nginx]', :delayed
56
+end
57
+link '/etc/nginx/sites-enabled/frontend' do
58
+	action :delete
59
+	notifies :restart, 'service[nginx]', :delayed
60
+end
61
+link '/etc/nginx/sites-enabled/git' do
62
+	action :delete
63
+	notifies :restart, 'service[nginx]', :delayed
64
+end
65
+link '/etc/nginx/sites-enabled/hg' do
66
+	action :delete
67
+	notifies :restart, 'service[nginx]', :delayed
68
+end
69
+link '/etc/nginx/sites-enabled/site_proxy' do
70
+	action :delete
71
+	notifies :restart, 'service[nginx]', :delayed
72
+end
73
+link '/etc/nginx/sites-enabled/vcs_proxy' do
74
+	action :delete
75
+	notifies :restart, 'service[nginx]', :delayed
76
+end
cookbooks/sthse_application/templates/nginx/dr.erb

cookbooks/sthse_application/templates/nginx/dr.erb was modified.