* use ENV.fetch to have vagrant fail if certain environment variables are not set.

* reset root password on the Amazon RDS instances for just and prod
license
Raymond Yee 2017-01-11 12:20:28 -08:00
parent a84e8fb8b6
commit e7f5bb61e7
4 changed files with 309 additions and 297 deletions

30
vagrant/Vagrantfile vendored
View File

@ -45,10 +45,10 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
end
node.vm.provider :aws do |aws, override|
aws.access_key_id = ENV['AWS_ACCESS_KEY_ID']
aws.secret_access_key = ENV['AWS_SECRET_ACCESS_KEY']
aws.access_key_id = ENV.fetch('AWS_ACCESS_KEY_ID')
aws.secret_access_key = ENV.fetch('AWS_SECRET_ACCESS_KEY')
aws.keypair_name = ENV['AWS_KEYPAIR_NAME']
aws.keypair_name = ENV.fetch('AWS_KEYPAIR_NAME')
# Ubuntu 12.04 LTS Precise / PV EBS-SSD boot
# alestic 2015.05.05
@ -109,10 +109,10 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
end
node.vm.provider :aws do |aws, override|
aws.access_key_id = ENV['AWS_ACCESS_KEY_ID']
aws.secret_access_key = ENV['AWS_SECRET_ACCESS_KEY']
aws.access_key_id = ENV.fetch('AWS_ACCESS_KEY_ID')
aws.secret_access_key = ENV.fetch('AWS_SECRET_ACCESS_KEY')
aws.keypair_name = ENV['AWS_KEYPAIR_NAME']
aws.keypair_name = ENV.fetch('AWS_KEYPAIR_NAME')
# Ubuntu 12.04 LTS Precise / PV EBS-SSD boot
# alestic 2015.05.05
@ -167,10 +167,10 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
end
node.vm.provider :aws do |aws, override|
aws.access_key_id = ENV['AWS_ACCESS_KEY_ID']
aws.secret_access_key = ENV['AWS_SECRET_ACCESS_KEY']
aws.access_key_id = ENV.fetch('AWS_ACCESS_KEY_ID')
aws.secret_access_key = ENV.fetch('AWS_SECRET_ACCESS_KEY')
aws.keypair_name = ENV['AWS_KEYPAIR_NAME']
aws.keypair_name = ENV.fetch('AWS_KEYPAIR_NAME')
# Ubuntu 12.04 LTS Precise / PV EBS-SSD boot
# alestic 2015.05.05
@ -225,10 +225,10 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
end
node.vm.provider :aws do |aws, override|
aws.access_key_id = ENV['AWS_ACCESS_KEY_ID']
aws.secret_access_key = ENV['AWS_SECRET_ACCESS_KEY']
aws.access_key_id = ENV.fetch('AWS_ACCESS_KEY_ID')
aws.secret_access_key = ENV.fetch('AWS_SECRET_ACCESS_KEY')
aws.keypair_name = ENV['AWS_KEYPAIR_NAME']
aws.keypair_name = ENV.fetch('AWS_KEYPAIR_NAME')
# Ubuntu 12.04 LTS Precise / PV EBS-SSD boot
# alestic 2015.05.05
@ -283,10 +283,10 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
end
node.vm.provider :aws do |aws, override|
aws.access_key_id = ENV['AWS_ACCESS_KEY_ID']
aws.secret_access_key = ENV['AWS_SECRET_ACCESS_KEY']
aws.access_key_id = ENV.fetch('AWS_ACCESS_KEY_ID')
aws.secret_access_key = ENV.fetch('AWS_SECRET_ACCESS_KEY')
aws.keypair_name = ENV['AWS_KEYPAIR_NAME']
aws.keypair_name = ENV.fetch('AWS_KEYPAIR_NAME')
# Ubuntu 12.04 LTS Precise / PV EBS-SSD boot
# alestic 2015.05.05

View File

@ -1,11 +1,11 @@
$ANSIBLE_VAULT;1.1;AES256
30613334636135323966303633653730356130326166643662616635373062326364316639376263
3639623536373963353933326665313534646232643734390a386337613730366333646534316535
35343739376233366135316534313034626463386664333434313336613765656236303133393565
3130316562643231330a363233306536623837373964303131373466663238646237323466363533
38623966636237356464346661336433396234646138323731373365313232323536653466363266
62353632333663393738396631376534366461626438663833333135303332303534393166636365
65643630656335663165646362303365333961393835343637616631356638633836306439386133
34326533303030363830643732303264646138353038336431616661663761623964386365383232
35333066636633663136633438313730663164363564353439626432316264656638623762356366
3365316436646336653233623166653334316361383336663639
63613831616639376633626266303462633762313365343031313561363336333536303436623033
6431323039346335366131353366616466663932363365320a343964663464313835663930386236
64313434633233613764393834646431666632373033636561373833623931363033396235653031
6237326633343230330a303432623634363363343036363534396162303532326335633532663065
39336337653362346134396266353639643530643430363963663633623163373336633966343038
66633563356332663136636434323635633164313232343337346335623337633337316533313531
38306332303562383663303033653237386563653339653230313939623435663166653364653862
65373863306531633963653639303033343733653339656563656264633362663238663136643733
39373565353639383830333462393935353165633236346238613334643863336637326161636166
6162303863363232643039313835313036363865663531363230

View File

@ -1,123 +1,132 @@
$ANSIBLE_VAULT;1.1;AES256
31306461303465343737623032363035346430326137653932363939653435336364326663323363
3466663835376664303636393239303730373635663738380a346366306133326136333362353535
64663763353065316663636436646461356235636139326238346433323164303031336566353662
6535363962316162630a366362356330653733303637626166656561333831633931373134653731
64326165616231353238393632336639386230383937336362646332313937643062396161376264
31396133353666633930303231326265636139643464663334636239376662373334353238383230
38333138313164303636346434623561316633303061313532376162333839376664633635386163
30633335616565356139343032366330633637303339376663343334353964323763633435376434
30306334653634343231616666646133323635333761363837386239316430353732323864643238
36386236346663653937653235613139373339643965363230303530346237616238303862326131
61633533383565653464613766346238356436343239303662386633363136633263376461363263
39663036323039663430303035346238303133313531343332616361386366363731373463613636
66333666633534623332326139313835316265636130656236356263346462353330616633393731
30326463383839303631663031343435343264313362623538613463643233393530663765356264
35366130343335363362393739623362393935613037323837376363643337323662396265653036
62663337346335306239316135313965333465656461643764303261386164613138383766366235
62343631393031326234393938383533343437396533373136393434643338313737643535643562
34656461656161653032383535386237643036633166623439636533386233386637633564313866
35663533313963396339333761663266333462376463633935623663336464393531366134643364
33653631663235373063343837393865353065663535343632656539356232313064613766613965
35656138623666636133666161373831633065323138626131323639646566373866393333623866
39363565653739316536336531383565643566363962303837316465383633643564323139636235
64633139353766623333383838636665323964623862343264666336343132623064633734336636
63323035653333323265626637323937343066353634313731386132313736643064353532303537
35643138306331376262623966316463646665616533656431613130393939643166396536636630
64666263386263616635313132356431326131316663383531653262363438313433623237343563
35306165613736383762616564383764653161643837373930663461393836346666643932363434
65313539326631663534336636663131326364663733366636303064356136613931303233333939
64323266623764306363316261326136303961633832633536313365333764623932646231373361
35653766616362336336646131326562313037636130656139323138363835653064343339333935
33666537653939643935356639663230306632326661623732636235646464643736653737643062
38666137343332303861306138643164653732323763616430626564393231306633636638363333
30393036386336323139373537396230313834656332353963613966313737396337633630636138
30336263613730313563636165633630326161633533343464316635616465306436363039356632
30623337333161363835306166643531653030363365383539613466613739353365653464363434
34326465666133346564303266326132623461613338356432346365393966373866323637353165
38653334393464336165313639323038396336663965346364383038303461313338636532663734
37306663336561326430316535613963303034383133623338323062343431343039613164343561
32626364306531333432643666356261323038646132313661643262303330303364633736656238
30613238346139633732363535313139316231376136343238313763373836333635346461363338
63316335656533653737613334613166613464306237646239346539653763626438653436353539
34666138383961643562343037353035653430363535613162303064396431303664333166633264
33383038666435636431623534323330343736396437353135626663386439306230303366343836
31316665316539316231336230343830386561643236643335623963643939303765613931373962
31313432306539366435366136303832646233333133393866393764393434306633656632636462
30626566646239386634643439666136656464376334313634613263363661373831376439333036
30336336303665383364633938623231316263663137656465343966646335346436633063666464
62343866336233646164663061336338363738396339326534646337626532396331393030363261
37663933643766623035333231656162616564386439643131323962363630323238623934626231
63646131656435383739346233313164313639346135363465303532303236666332306239643262
66613438373466353234616335653364656435366366653361383733396638373036633936353536
35636236393235303036323731623931393137663839643636316636653137313538373464616665
61303262323865373637386432656261613831663030326132316564343662643031663735323831
38623136383037343135303833373034613536383663353232366531383638306333383739343934
35323162396163633137316234656333393566353138316533396666353838613363343838303434
31633165373661336333383361313432623633663030616536613163373861396337383135373265
62363333636131633136303331346638663963646334343538356165393838363564356465356537
32356138646337333162633061626130356562306534346262383133653664633232306639313130
35666530346361316166393930363435663963326638373233333962393939383939653634373765
62373538326666623834343538343266386266663330376236613337666536326633656435373638
63663037343735336131633131313532633961656233303462653736336539316366386630623131
36316235343435386631316166306237396663383430363561643031383737373038393961306563
34633035313930646538646136313337313839396332636135646638306562633261633339363837
37353633383464356339626533643831393862343266396535653931303238343362613538303230
61303366633439383532353736633639333462396632313035303566343165303163313262393531
63383662366537666639383964633637366632336532343036623662363163366536336636636534
34393831303038356434396563326532663963333433306465353233623364313061393638306463
65313663383135646262653838613636376131663137326434333234343464333161633538393435
61396562316632653036386663633263623335646535333863656362663334326435373263656535
39656166306433323235316339383863613436623464613062353338316437343232343638656337
38396239316636366662613163646233323739373032306436643134653136333166383035393439
65323965663933306436643631623039313139353362323436363961313963613837343032393934
64653830383465663664303437353564353266383661343065316130656238303539353533663335
32656664666132353632383163306435336536383664333337333965623265643331613130326535
31616438613932313961343861393165303162373833643931306332613035343332623837363036
36343862303739306132353837633230393466636436653333323034663738326139613362376637
32343364396531333132343761323661323331346562333063393136373562393563336236393336
65643533633839316338306531313135366662326238396334633164303238306236383737653063
36323634346665386162633564376336386666393563666266616136393431613565396562366635
37643632363735336564353862663831613931616165373834316438613164353933613135393834
30393964363163373833373038633436653265336562353365643962363934396335343130353233
38653830623663353339353631663334643465613464323836663761356466313031396338363035
34626565343934323831383962626133326339376663363637336332386331303134343563353136
34313861343238346466646139366439656361666531643336613064373265653338656464323438
61633639333030343032386266626435363233343639653833626630363733343361373132613239
64346130393035336536633836333466656365643536363431663038326165663064323730393661
32373963623465383335366464343732626631636633616536333563333833356562303530623734
36356632646638623334336566356139363030376165346332306661373034613766633263343334
61306264613632666432313132666366376633323130343930363766383938393165656562396230
64633439316363333235313063336235366130303730313635653439383437343961643637363264
39316263383461353361666462356636343539656165396232376537363363396537623663313032
63383765666561626236346566663939313130666362636135316339613466366564613132613439
37373036313430336134333635356437623835346333653061333932313763613838633363636361
34623239316432653636356566643661616536646133386232393433363235303738326434633639
36613232373433613436646239323136316339613936343038383033303136616335616330623337
65643665636634383436353237306236353335613862363631356166343838386637376438346634
32353764633834333365636434363362313331373265343837646136313036356331646232353937
38326563306432613661326632303638353837353234326534626561636633326239303139336530
65313663366330393866313337393437656464396135376232303730633965383139363239333765
66396263643965303163633666346133633932336230326439626162323238306161333939636236
32363762646231393731333365323139333735393561346136343466646363363366656335356137
61313833363734633034636565303436313935663763343164386234343263383031316131306264
35636162376131316535336364653936313032363466396337323961353363623661316366316430
37363832333435303536653130343931633765643864633962336330346534613638333566363964
39333639346132616436393465383734356339383533323762363431343162623938653161346536
38363139383661313162613136346163356536393061636638326631306632313634366661316335
63363234633435373936346639396262343634323261613631373339346666306135626431326131
62303964623033326561316339393834356334616235356664626235383537313838386131316535
63366433613163643463353932376363316462316135613338326632346664333864303338363362
38363838356337623431336630393939343332323863626137356362383430343330656330623933
66396634316634653537346362333161353963326465613066656361333133626431636232613333
64396431363265363262646561303530663630343231663062353639363261326338373936346164
62313737663936323065363234623032313831663263646365386538363635346662393838323366
62393935316334383739663665323936666466343738633862663135623339656133653262346462
32666362653337396631313932643639623432386366633239363662653863366530316565353162
65656638666630666634303961613730613665383436663234353536333633373264393062306632
32653462373736323130653464316233383461613037346234323638313730333936643863333363
34646462633235336332383535393333613266653562323866343437336336653761313862623339
63386432656434383931303036666436663737633133653266343937613964613764626331346164
36373566633661656134613462303061316433623333623962323730616438643331623362613932
30656433366162336333646132333339313133656435646336306637353265396239626366353735
3031363366643461613663643436336662383431623966616439
65633664633266336236373164373930656232376137326263363834343462363038633563356361
3437323964313539323466316435643937326436623237370a353331616530653562303361353233
39323837646538613263396461353361356332623362343630323632343036666661306639363936
6461623063626266610a343061313861643961316538373866663236623139386638363936313333
39633931623337353939376634383038656239626530363166663437653166356165313435383333
62393938623161663638383064663062323834613062386363393665363333323833653030333237
36316338346633633930643931313862376462303165616663666530333733646632343532313564
38396439323964363637396230326337323761643264633531653563613434326539333236373138
61663438353238623737343465313234313136656338373834306432363539363234636533316335
62643634356133333037373265636130356638666437343031303864383533343330383565323866
66376663393032306330653732376263653132636564363065613738616535656236663030333366
34653566633331613861636466613138353536396566626538383037653730353461633735646165
62373962313366653064363532303134623938393637623664323331313765383066326134653936
31653738383830363163366138396137623934363463373664363536613466386565346466643832
30333834353162373032393963316662323839376162333038363635613563343331363037313336
66303535636264646635666435336335356663376133663265363036666639663066313633343064
36653961333165626632313866393161396432366563313137343762373166643762316436656233
64636465313135356365363264326561303838386561353863353766623866636465633431396265
32333234353166613536383437653539316161373032326533396338646361336132643463393934
38616239333639616131386362373735313161306466386636326161373061653061643133356535
63396461376231323936643533616337656634333037366563306635373034633666373739323939
35333237623935346631326436653233643330656233643733373530316466323365663363623363
38383238613836633465316237356434323035393036386664383366623366353830633530613030
36303363346635633338636463386436653837306433636165623037613266366330333038363465
63346634343361396533663134323062396635623161633563613562383464623061393030636265
38656439613461393462646337353933333635323336303137373165626636666530323363313738
62356133366434623065653439633265393462363839383639303662613439346362633839356431
34383862373065316331643736386433363362313934346237393639666666313163353937343063
30353137643961303163613161313134343034383762363736623431613537336164653333323134
33356362366366363134333933383931626638656534323138643465303139356237373930303966
64373632646331356161643336333562613538633332353736636337613533373464663866346363
38633665663465653632383466353134646432663830383165663763323935626635653630373362
32656463306561363061626365373134393430326236646165643134323562626563633034363633
32343533376534366563393931356132366531353439656534643765653138666139656637653837
30656266343837383534643963646263373261326363316330656333633163346662306639343735
37333533343862373364396339366633343935633632336339643561363430653137366565386637
38326136353230636134313937636166383338366331636331633431313231613762383064616330
65643166303637643636376132353034653661343165333665633334326137623331616531626261
62333565653839353064343635636235316564353530313233303365636132656363653439643666
62336266303637306639306234303032373931383831306266346665663333303363626462656562
35613839386631663664646466666537313939383237616562313234613530363262303764353532
62373531346236396336386136336137623731306665383233376665373861376238346662323363
65633564663138623630323733396238653563313064326134383233373664326363323737326366
64356532303934306132383065343063343837313465336366623433376533306337383433393231
33343536303337313837666566386231396666383135396134363530323834623036323836613234
64363239323431636533393963356534643930396634633934326161383732656336383238333139
64666630396662633330373066323639396364616138633361323435643835646439393137353638
63633263383638633064326433343733366332363436653931393064336264383435353630373834
30313064636563636334633462393236636534666630326664346365663739336639306566343537
38376631623538613330326165636239653930366666343266636261326163666332616637663730
30663035333338316164333738613538366635323539356138333064656236646238303335663331
39613938373466356432396431626130353438643463376463313839653462316461373334363938
65613334306635346362623762336566626632323132383766383539666361383437386663623231
63343764333933623430656533373865666637313562303063386130616466303033666562626235
61323337363839393937663236353662363939643632373466643362386137333034383532633436
62326537643839626565343730336464643539313664616663373966353763636361373037326539
66303865323835343934663265343265343261306130306530613763313931313035363839346163
38653031383932326336616564383639643436656338653466663161383439383136316430363038
63393037343261396164636561653933346130323931383161663264356465376431386330646130
31656230646561663364386339633334353866663130393762653263353233303366396265633761
62366336643936373231626462343330383836653832303330343466313236336339383666623463
33303164646334623162396335376637643833663961323934336631643838636530366338313364
66616639636139353666663939663135353831663366383535663733323336323465306465616338
61313535633266636466616362626538393430393162353761353136393761643738393062613264
36346538633465636537613764643062353266326533343338363330336432323966646436386339
64643439353032636632656263383231333731663235623763373066383662636539613531623638
31343666386463623335346461653030616233633937313361663231623138316131666439326662
33313137393730373862316334666231336232303465386637343661373331323431623335353233
63376433666564383661303930353066653663326562326534383633336637306431323632626331
39373861303134646137646532653734616462626138313938613463383137663935346132333064
61613539326366346537313561343635303838643261303362363065313134613131633165313039
39663431316562643865346333613430393930303236623561373031346630313030613563663438
63376531393630373030313337616134386262393532383964396262666461613263333065613232
36633634346363373637306633663638366434313033356563373436626534316133663862343430
34303261376565316630623065343030616133613136333238303936343532306334306138373531
64643431353932343839323232663133343631623835633264386562326631646461333931636565
66633266626433343431623532656661616161386163313533396165333966613865316238626463
34613136616462343862336262616364616265616466356563343133363534376161326532626336
35666362343364336365643538643862646538396331623062313762663536363864613331376462
66303832363965376163363966313433346532303131383035663637323031373933636565393333
64643464656365643434613161313239623039333036623637353662626161376661336335636436
39353131383361336535313539653963383836663730643565373962343764343562653932656566
31613033353739323134303435396236616537623733363663363436393534616635323761333233
64393936626136626437623165393530623566383365353530613166343263323535383238343962
36323630313931336233653530623133336564326232663762313735303134633362363964393662
31303365313865343163616635356661353062386237316639366339373931623865376363613333
34653935643561336665663264643264303262633361396230633631346436643862313432666161
30626364623539633030366466393334313761383935373237306330393737306532363063363131
63663832316530666134613865663464303465356536383039313437626665653534353332393463
37373034353935303930623138616262616261613362613338613436316534373637316263396265
34653866646164333737383036326563646363653832626132616431346665623938313932366437
61323237613863653635366265646461343035333838643064323834346164366531346362326534
62383930646133656433663736383430333034333937373639353235616636656234633936613564
66656631643139393063326233393637306139373962636631333862386562366339323966343233
39343333653535386137373066363131363732333735313665313738306265353533636336333437
34363734393430646563373864633330363831623739333566373063323866313939303834306263
62383132386263343631613464623037343265366163393837353665306530636366626465636433
32383961366232346330306334333734663834366163336531373366353361613861396430356135
66383339376665336231616138343831626232623338656430653539336430636236333763666565
63613630636462346238333938306333633832346232386231663466643437633361663831363636
31623161363935323035316635383131636435626166376532343661666135383931626336646336
33316164376233343637306231323365313262653831353838373739323234623836666438356461
34386533346635613064363866636235616337623632653037653439656535626433626538626663
36643138396438633964353439636637373562373839326132653039663533626565393361643064
66613235313461613037393064313637656366626639313631643136363766366162333863323461
36623363393563346135666238623161616336633864333534643662306238663861643464313461
64393264396130373030323138653565356239333932356166366232383531356435623537353533
61313030343563636230316164633361396639373334393631326134656164643538656135636432
65353761393430316363343439353636383966316438356264303034616265626463323661343639
38333761343130613566383931336530326536323537326330656231653634303737303361633737
34303739633362616665373831643261643333313634663266306366653861653065313337643863
64353961633537616666643135613436666561333930396533346431636331316336633233633764
35643439613063343965636434353938333831356138653131373133343230393866313462633831
66376261656363383430373438353265393132323831346565353036356139636466346436646231
63623861633335313139333336663031666338626366333965333138363134623332373032383935
63633235303330383737373661623537663138613036386564356334333466386133353639326334
35646233333837346536343637633664626662333363643663633866363065663033376537346131
32393161306566663333353034393135646533356365313563383631613939663837363231333930
65633739633432616538613531646361333866616362373463303665646133313031383461373361
31333061626138626130353238336134663266353030326232646632663135346337306232646461
39653338613439343531656264323834376334366265653439303134353138666438316631346336
63343730336433336338323732623062363963383061333335643337363931663663613363636532
63313961386661336536313133316430656331343731623338393235313234376331393634336663
64393231343230346130386166343864643061643538373636383939333333613165343431313662
35386234633263356564613861653734356362643836653235373638623439316634653030333936
33333761653463363632373539343835323739636661636435343761346630316362313061333562
61636463353165653464626563363237393964386163326661653432313065373030653533306132
32363934386131346561343462336630303237626132323833303864396265616562396631653439
32376465393564616562346663306164313738353333663438653662333662393465613230396266
33626535663731323039346262373735383562613134346632353432333662653533333338653135
363439633236383364326138626433623730

View File

@ -1,151 +1,154 @@
$ANSIBLE_VAULT;1.1;AES256
64626138643139313263313864323066356664363962623734323365626630353537383535353134
3439653734373462656664633438653334316561633237640a366161323630326564353836663136
61396630633139396463386565323630346263353666393461616136386239333837303733326433
6134643533323037390a626533323033626533646630656636363565653565313330646430346635
63373137643965653439646234626631356262663234356461333137333365653036316630303362
61303635663961663332643663303863386166623239616636386639666139663931386665663133
61326466363835316264613532366533326236386338363761323330366163326238363661623138
64303937353230623134373965303663353133643065633433393365326464636533366136303433
62363866333462383031663237636262393262386466353161373130656565336335633937323435
35356665666231303430616261326365623934343636663935613937326236656264353832306334
31353737396662363533386365336331313664633837633432343261386536633064663831336231
37383139316465313936303662633062313936336362643961613032626233366639376132356362
37393264333133393032386334303461373666643061393132366135386462313133346136623130
65633265396333373534313237316537626539356438633133636633363466666261366338333266
63363132326663646334353937616364343236663935636663366234373734313132386466333862
64653134396462346633643831643031306363393738343561326661373436646162383465333530
30316163366462363133303165353162346535336162343537326637383764323761626465373639
39356665373065333732663637396465373334363831653337633032336231393466613033353938
32393038336435303065646239623630643939326235313232343661306430643562633266386539
36613261363064336636393137373030393764373538383638366535656564626663663061376637
33666636353132366365356337656132333165626535306433333532376336303434306336366638
32636634653662616432626434323264353331333632666663393265363230663161653764623334
65386564386239613832623134653166343862353336306535626363386132646432333737663439
33653332343364663966633434383361313861393464363139613734653336643133323738663134
35376236656361366266356463336463373664383931613233383735653231656564363736636134
38373263363531353236353865363934353531386234653634613739333139336435343331333930
64663066343631663162633264363666366236633433313436353462633536643464633532653663
63663036633332363036313963353039363737633939666534393466333938636638366439646637
63393166316535386632353934383436386536356437663134386261323261623537393430333264
38323739386265363138666161393534343766643539313038343335626466336539356330643531
32633066376536353137616532353363633833313132623236616235653961356636316231616465
66393662623939346530336532313466613431323132663130323032656138616465316532373933
31623537326263336263376361656233623461393534353263333236326138383661303363383439
64646332623931646536336262633866366235333433393961313037623630346538646366313261
64363030613164326661376561346261323364363136343238653631373839316635376663383963
33633633373565623437356366383630353065363465363565343066323761643932643336366237
37663833323262646536343538323063343565303234663731363332636639656436353665626262
61656536396366636239326662396438306464386531623334316231636166376332613563316361
34613232636361636638623731643234343665383331633364346132376635616633616432333135
36326133323563636539623539333664666336353434326266313637316630383864313530356438
66323036663635393363346563623564323734333565396433313062396433343139396233656361
36616438373537623734623061346665343832313032623738366663646335333239653533393334
62626431303939366234383739636262306637333835343765653532616234323562306239633039
61346338616137373138613138333338356536366561313739313530343065633634313632646239
61363235363136323531393063393634613866653832306436646335396633396363623266653838
63353331376131303132633936333333356632353761356639666562343033666165363734633330
36303138323036323136303636653461366531333763623365653535633061303864306638383737
31633734313936376530306232386463386366333937623935666438313438353831386666336565
31646236343162646531636337633265333038303963653862396264333563633831663862666639
61383631363133306337373230653438373838356164663330373932663866373765356336366363
66363364616561653066656335363230386238383761613737353364366134306461343738363038
61396434383438623039336666636564643135363138316436326435346430643932396635323665
35366163346161396635383838323137376139343262346634366330313135303865656461613862
33616138633634396366313862336434333338383336373431386636663438396163333062343133
39353632356435363466373766376464373035646234633537353538306538623835636230313565
62663263646166666437363833353533353666396665623434333338643337386339363431643131
66626435356632333362363861623863626462306136353664306131663538393964323934633139
34363763653630623866633939343932326232643130643138316662373530646638336235316565
64353262343830333365376237643562376536623331343630393136363966363662333765303338
62343065313437356361303232643166313162386234333732316339396364373839363732656438
37356236306665336261663930643165643233393931313531613166323031653933336536633038
36313133336536306263633464303034346439356439613633633964633939643463643462303834
63313566643934353938373133366538653264646530323039383162396561383437636161616539
65363432613031313439363537303039333262363736613364643062363366386462366235653938
63343834333932656534636331316430383532636437316134333837366430633231643634376639
36306336333032613161633463363164326439653039643263393331336435313135633266363263
34396639333331383861663735366562366138313363353134353439343062346639643130363266
33376632336537363836316134363561313435363830353661663237366331666239366363613439
64396239626236306439333130636330613365663334366437313361313464316337666465336666
36613632613338396233613864613736353766613264303264616361356538326466643938346164
31373132653861303830333834323833366238613666313230346264663631303138393762353965
32333031646163613362393466313134323135363235333236646666653265373765653332336330
65616236633166373465666437373661393665326535366631666132376238353664663034313636
30346533333736346133633964386339643437303233323034363164393732306262393962613663
64643863366465623139336431346561333863643535343233383036613362386531613936366366
65613164336233393136633161373264356464393665613633363739363261363837666134353866
62623666656634643537323263326534383233306635323062343337353732303530393735633366
35626536373732363430633865613335323763613236666362656135396234643765363935323533
33383264363334636235343334666333383263373561303162633739616362303534376237663635
32303766303765613737303166666437336464356337623562616266616265626636396564643238
39383532303864333133623532326236393861613563373262636464663731323661643936373732
64623563366135653964616132346461623561653564363434643739663531613239613534656465
30343438663332346664616435343737613162396636323832393462636662653730626462643866
36396461383335386230386138343132323365363939353436356264386164316536363662353963
62636134313832656365323465396364613634303566396537353866643066613561326165393961
35393439613637313636396331613964306632376465333237316566306634366638633136383630
35616336643165643635323930363631356235316365353634363332653435653466636364376231
31653133663265646661623363383637346665636634666261636639626164383134313535336132
39626534633730663935343439333635656139306538376166663865323330303639666433646231
39666332313338623232373038383237653465386638333866303235306262323036386633623034
32646430353033306163613866323761373563326134313763373462386133313665303630316531
65343261313238666561363632613339326234343435336631373134393439653565653639396538
63653438613032323732346236326632616264343963663936383962323064373162366362656331
33386165643834633065303563343164366437646465383766633561326661613333306338333464
32306631356634616635386339623731623763383661316134633237663634626537306534653635
32363932353666376231616533363135623539656235383731326136353664396165373034323033
33646237643863353430666335373434323836393435376138313162326162636466626533343461
35366436386637656430316630333635303161393632353064393636646266386437616232363638
34663365663461633162383966376263363163363261653634386161393433613261646130373165
62386132336439323533626332633931636635363563353961363035393038623862326636393665
61316139333635346637313137616135666137386133646531356631643435656637373435316166
64636464333664623138336133393065396261626163653131646364313761313065346433643962
63396130343764393062623032616361343966663435386564353531336136653037643337653863
39653063373264333437636561633834323330343930333137366538613932643731643462313532
38383337356535303265396635333763343631323166653830323564373135356565333466376230
61346537303238343161616138623538356232646333633964316263623736303432653236346239
65313335343839353461353537666236313035613734646639343435363564363461386539363664
34393734326566656366376562643936623434353636303766633538366238643938336137343464
35343865633534653036643363366363653337383863383039333838653161313831653363366363
63633962623033353531643533383964363962656136376638323136663662306136326662666331
30363836363237613039656562653065343237623731363430633465636366333536323062353839
39383162313739396566653634323632303133633562373437656530346138346531666366393261
62396138376431643662323366663937343438316133346639363666326231316564376330383833
62626533643439393264383761303765386165633266643463316230306531313736323837356261
34323263393664613438393638326437376136663839633265306637323936663863663262616332
35333330313564323565323064346162646437393332643630383862343366666538353265646264
32326132386534383436633061643836363964323638303961633063663733656365326131656634
65623837343465636438363038643433643537306165316366353565326233346238373566373863
33323534633261393036353031303134336333326436356233386230653339613034336231613934
31646231666437623333646663626534303363346461643066333433303436336238653730363837
61396233313830326238363935623836366138633536616531323563313065313534313139376165
33376630373564643136626561646364343162616666613932323362646233323366373930346638
37613664666461636463356466623364373030623135636433306563326466323563363738636432
34313139383963653630663364666136373232393335626134376337313862623636346465646433
32393630373663393135333534616335326435613463383666383130623662396165376638333730
37373730313134623831313164666338326363653233633832303234313730616638396136656164
30653334396635393065656638323432303531626239316431616331363638363638306132313565
34393361643466343837316233396162326535626162326130383461343665646665386634363134
32303666373663323135643364323832636561316637343861376232613831383332366135373436
66366134383664323638303330653634356364633234326463646132306330376434363966643539
31326530656466303366663231363439303666653937616439386536376333626234323730343939
62343635633136623061643636643862643462356631636337366663383439616139633666303066
34396332396533366461376265633465356336306461623263663239623937626163643465633537
33666138316463326336353563366562643337323265653436323963303264613863303339336133
32343266363236666431306362363838313364663038363939366233306431613239626632316538
34353833353338383830326636366231353363353963636564643936663835396266386536623335
34626661386338636234666364303635306430636465353065316536323931666235636637653161
66656230633738633363643239666165396662316664343338346565396135363131336139636163
61343935383466633431653539303164643035613863383362323938646137366232623431306336
31336536626430623863333436643933633432326335613737653634366162343762653436303364
35636635313433313662343538393165323134323334616233613764613566316438356135326631
33663333326365336236393738643335303031646631636464353436656131373139343731386238
38303165613331376135323933623332313562323066326261313535626662633035646436396136
35646334653033346364323238623765353664343630666132343533623931656565646565383938
35303466633639663839656134386331613563353764383332376636363863323037386335396232
63383438633363326138633334353466613936396339333565366262366536633838313763666666
39343935393064386361356336393135326435376335313039343662626161393431623365336138
33323031363135623338323733346537663236323266333938353236633434333863643133643735
35343062313433643866386230663865363034643435333638646632326563393032383339623962
3830383963313933636430313561643235613266336638643364
36626634323333663566653538636661373130633164383338373931656535383530393233633035
3137656239313138363032306238623835323432623035650a303732306234653365363530313161
34396536323333333530666233643462306563316438336333663331326638306636353933363830
6237363235343330380a343962646363333263643236336661383835326436666331353235373165
34666438303566326635356464623334613931303031316633313662366531616330376664656464
34316562373965636337366137613630323633623036316262633833386334343937313236613836
61393031336439326161336466363162653964633063313530386437386333356135653366613334
66663832643638666264363866343665323635313231336537616339373338623964366639346662
31383061333637303062616336363332346533393337303035383763323964343863663733353462
31313833316364616162343235316466303632386262333134353130646163633666613361306465
62396661636261323932363066656335643939343565353865396262353630306439376665633061
65303262616134663734663530366135666334393366616264323734326539326336643237623731
63323730653536653430363662363831373534626663353161343962626134663839376466636263
34353833656637333663663333653363373537336261323166346664336363313533303561663338
66386330613636306364666262326463373536643330363332333234383334303532386334633866
37373263356431626336313966373263386237333738616361393335663032313636636430666239
66353930666535333965323038646432656563613966303365646461313836366632636537623839
39666536356335656537613431653363393732666137343637336364636438316665353961636165
65336564356231313731363636386262646631316430333038383665383664323763363234633037
66376539363438313030663532313164393436323332643362376563356337383739393762396436
38633435393234636237313438626535303537383663313734326166636238643661623430396131
63323661663230633538376438343334653735373736666339303064323131656337636239383538
62663165306233373638393737366533643064326566373034633037386331353930316337356234
37623466323332346564316665346561326362353866383837363565633339666338616430663065
64326335343534666133356261316238316666393832363733313637373165636131343261383066
37666561333935323637326134376164393236376565366538626334616361393633336333613831
37663239303432653963393634326463386238373837663037326432383839383633383535643563
30313032333339613130613631643566333034616339303332656138333463626135633638383637
30613738623639383636316431383065383137663762333166313434643933633538623532353339
39343530393336623565653038633566353766666165373331383932623263613036633137306538
63653234636333346666356138383432383835653830663065623131343563333532346638363137
64323035346231376532616138303737663162343961623766383464346437383963623363636632
37613866373565393162623865666639616366333234323437643066653139376465313833656466
37616364656134323765373230316632326139333231393061303662376134646535626563396232
30663035383730633730616136616630653364323663633031666565393263636231333865383936
35646633373738626461613063356638353839313365313538663565386361336132313365373365
62363161383961623134323332656261633361666565353631646263316530663137623234666262
33653930636663613033373133396334613536356532616363623434626437306566323337323630
39313438623639346334626363346361613230616661643265343631666535313838313061333232
31616536663562616235323335343632616665663538303538353563383035633161336263663761
64643763333865633264636635383232393531383466626465383035666266393633346430646337
62356565633931333531373032356131633164636335623935393534616463376563386162333466
32623364353730613138353335626533623934333765653930313062653539376536626465323534
61366166396565643262636335666363356336313161326536353734346337303633616437633231
62376637383362363366303734303632346538613464666561376239613364306132316437636161
30346364333734336532333139636466626665623966633733383363373138306361646562663833
64306666666138303461666335653134393338656533323736383066646138393739643432343662
34323437643236386362653064363933303864613461613734303539623230623030376463306164
66376234333938303335323664353862393439336638636663613766663964636531643636333832
36613137646161343032303465643138633931376364353030653830653338393738373162633062
66373532393135303039613437616163383835626139323736343833316132643532343034333061
65393861303464353165343766346165643939326134313237376536326435353636356263323365
38313163623663313766623037653136643832366263363936333665303130613630333532333365
30623661333562346361613835346339313936353732643333363831373665373862386263383364
30643166613035633330383731663335323264656533373531363039623532356230306630633964
64373463336663393962393961323137633931616130346463393962363735343663343466336662
64323266373938316632396564646636313939313164396364313434303561396630393432666439
32616662366334363230393133383434636633633033623637613466393761313739356166353838
34333234633732653332333734383738333464356461373937346663303265316665393138636439
64333739613362613465303561356537323030663738633264363231383536353266356237353866
63373566626632636339656333376164643433663361386461316164316363616332323233323035
35616665663535383439666632326131656135636631393664346633653436353335363735306661
39663934383834393464343234316361626536393231633164613339616137393162353861396338
32333633623162663566373864323931386634373731313266336664666663386539373662623065
66343236336236306561383530326136366532633630663534323933383964653139643236346339
34653965326462383231306233326663663863646132323433396461613461363032636262353630
65613565396231323266323030313731623334303933343033353962396662663430646162616163
66326465653335313166626336386432323064656663336535633238393966376137623439363061
30633636653735316334313033633664373866613238393038373039343737316437336261383837
37613233333335626534623538393763636166323436386462643736626264346464333432353563
63613863663966666632323139396335393863323862633565646564623136666239393836633834
62343730663664313631376462376338366134313039396362363465653932353632663265666139
35633361613665336363336138346337353666383230383066323364383763306462393964383630
34373865623738383533313836393830633337373135366637616636303762323266373166623130
35396434373162303932636432323262626566653132663063383136653137623732373135336630
38663730353662316562393332366462303739383435363932393937653462383233336234663564
63376339626230313235346430656361656433666139343835343137363239613737343134633333
62383463386262343833366137663233323837623530663431396465363839333262653964353464
66666338373061353935323936333632343039393937323532333033343263353632656361306130
64383461663364373534626336373139663337303838336437633839363635303232653639316234
36333730363564656637333936333937613930313132396334353939303534306337633464636366
63643733643037363335663765363235383061616239353133633934383033363638616131343231
63336532346430646331613931346366336563663634633135616636383038366335376436313139
34656431633966316131393264653631643336663939316264633961343833356266316366656331
35666433353261663331643235383530623763613165613136643464313535626665643630646338
38636339636532646635363131623463656238373632333666303032303036343664343163336262
63313736633432626135313764363138643365333539643064643964373331653565356538313662
61343738656139343935366266333239396533613461656532313930326166373137303466333461
63363131346634613530313066343130383833376363386130326633396265623930393130633165
63653933346134373962303234326565343066616362336634303830646432343161633737363039
63643632313161386133396566613332386132643465626232666135366139663033356164653634
64633335303035393139306134373832333030343536313132633235326233616130623864656562
37323638343661613831386330366463383337303431373131656138633438346237623836643037
33396234643137323938353732393861303638653738303537303936333964386462303837643562
66613965323161343338386365353238376334356463343061646161663437373961336561303535
31343331623131623064373538363661653464633362616665313539633764393339323732663465
65383330663238633237396637663365336430363033343466366566623462646533316532653133
38343665393161386133356634323535383763383837313138633838316337316663346462626339
37386361616336353830666135353132653561323738373862633435383234656234666237313330
65336636666663643265633465663839326234623839656131633565383961363636346637363264
37616339363530633964383035383362666363656137336635383663336433383666376363393463
61666563346530333463633035653562353633386664383435353235306431623934333962623964
38353165303363623133623463643736323765316232336664363031643935363339613430623036
34346664663466366465646366633863613661633831616133356239613936626134373437643762
61356636666335333030646533363764343236333363373537326231393433623735363436656165
38316332366164393133303838363735306531336661343534316235313135666531353730343933
37343364663563303936373566633263383035336164356365343033363663343564323435346161
37643836386461663861386161623431613734643530376566366533313636646564363865366436
66613635636139393164623361326433326565386538313361633837383662363966323665333731
38383665653439346338613237613037646132663835613863623163613838383039303464373739
62643139663235656234646332643935353730333333346363626437353261616631366534386431
30383234346562396434303631363663396664393535666432323337626333343163656134376334
32633434303261653666626639313937376630373232666438383934363139343063316335353632
35653436366463626162383536653765363739313537363538626537623135336663613730343962
33646132396165356362313534393462393961353966306661313436373936363739366264346339
30633462663037386230653464303735623862626261313430363064316633323164376634666238
31393764353866646164363363323166656135376261323539353938623864383031666637363732
37326665333535316634663561646436373839316235313532383338306164303139393264666164
32363935613661346139303665666562643766386232366235643231343330366232663838383334
62366663653636663262616661376433383034313537386665333138626538623234373361646465
32326662363461663239646531376536643139646333663335386561616265393465643162613331
64343431646132653833376163386666313939316233633462316637626537343730653134626131
39666134663732303333376434326331366161663934376330666133613534346561646336383338
34396136646463366637373866656365636238366438316463666136616232663261653039383438
66666630633437316538646535636165626361633365393131633766653662663166343965623431
32646532333561393236363861343038363433373636663865613733623034326539666335623639
64336639366535356536376337646366326238356463616136333636326232616234616163323163
39616264326264346535303438333131653931336330613633623832653133313637623565623435
66663265393734633631343064663132386530656236663064363766316133653433393264353531
61363834343162383563326262363661323539396163323533363539356635373663306336666564
31333735303364356338613130306132666430616561626237386262643037626539623738323266
65343335346433353862623534663062346134303933393031306634383465633162663034313066
37363634316331326632626563646162386662653731303866653864396162336639643535613936
38373566663735653434323462646164653034643365376464656366323833366163313066306464
39623161373765393865316439663231396231633031653031626430663966366439356165386663
30363935636531663465376563343434323966393162393962633461633764303230336333393631
33313064333238633937613537346538653737393430653965616531373035633033363836343334
34666131356439653866613335653962623630303437306666643265633935666165613239393363
64376236393665323861393364643164336134346430666263326330343663323734363035323839
65343736313462663339633334323462363731333531386134623533393836653033646632386232
34333164316631313064323837366531636363643966306666633838336337333338383863343365
37633963653263373238646235613635376266666337646663396439333438353139613832323832
66336138656238373337363866363464336464643961646538373739653736623038346362626361
34616662306231633337333564303336303630373833356530346261326434393435373335383532
34663561376231353334326638633837353961666661663436663633336531663366303563613838
61316561346131623264396261643234313564393764633935333863643066373839613230343864
30636366663335663066313462396334346362666631383837366562633765356438396266653331
66303131343531303637373737343630623537393466643661336362623235393662333234396430
65653138336264323463656235643234623036343431376433326661636664346235386431313631
34366434343236393733316364623338386432623137306636356335336337313137306537356339
63346565633531306431363566363065386239386565363233636562363061376663653137636332
32356236623333303662303133346532636262666562393532346636396338336537393235613761
35363063356139616162613334636134613939316665373038363636626561313939