| line | stmt | bran | cond | sub | pod | time | code | 
| 1 | 1 |  |  | 1 |  | 73044 | use 5.012; | 
|  | 1 |  |  |  |  | 4 |  | 
| 2 | 1 |  |  | 1 |  | 5 | use strict; | 
|  | 1 |  |  |  |  | 2 |  | 
|  | 1 |  |  |  |  | 21 |  | 
| 3 | 1 |  |  | 1 |  | 5 | use warnings; | 
|  | 1 |  |  |  |  | 2 |  | 
|  | 1 |  |  |  |  | 60 |  | 
| 4 |  |  |  |  |  |  |  | 
| 5 |  |  |  |  |  |  | # Artificial stupidity is easier to develop than artificial intelligence. | 
| 6 |  |  |  |  |  |  |  | 
| 7 |  |  |  |  |  |  | package Acme::ConspiracyTheory::Random; | 
| 8 |  |  |  |  |  |  |  | 
| 9 |  |  |  |  |  |  | our $AUTHORITY = 'cpan:TOBYINK'; | 
| 10 |  |  |  |  |  |  | our $VERSION   = '0.014'; | 
| 11 |  |  |  |  |  |  |  | 
| 12 | 1 |  |  | 1 |  | 506 | use Exporter::Shiny qw( theory bad_punctuation ); | 
|  | 1 |  |  |  |  | 4394 |  | 
|  | 1 |  |  |  |  | 9 |  | 
| 13 | 1 |  |  | 1 |  | 72 | use List::Util 1.54 (); | 
|  | 1 |  |  |  |  | 21 |  | 
|  | 1 |  |  |  |  | 674 |  | 
| 14 |  |  |  |  |  |  |  | 
| 15 |  |  |  |  |  |  | sub _RANDOM_ { | 
| 16 | 265904 |  |  | 265904 |  | 860515 | my $code = List::Util::sample( 1, @_ ); | 
| 17 | 265904 | 100 |  |  |  | 1015914 | ref($code) eq 'CODE' ? goto($code) : $code; | 
| 18 |  |  |  |  |  |  | } | 
| 19 |  |  |  |  |  |  |  | 
| 20 |  |  |  |  |  |  | sub _MERGE_ { | 
| 21 | 159583 |  |  | 159583 |  | 405731 | my ( $redstring, %new ) = @_; | 
| 22 | 159583 |  |  |  |  | 688084 | %$redstring = ( %$redstring, %new ); | 
| 23 |  |  |  |  |  |  | } | 
| 24 |  |  |  |  |  |  |  | 
| 25 |  |  |  |  |  |  | sub _UCFIRST_ ($) { # Some sentences start with a non-word character like a quote mark | 
| 26 | 152017 |  |  | 152017 |  | 553597 | ( my $str = shift ) | 
| 27 | 152017 |  |  |  |  | 436230 | =~ s/ (\w) / uc($1) /xe; | 
| 28 | 152017 |  |  |  |  | 668287 | $str; | 
| 29 |  |  |  |  |  |  | } | 
| 30 |  |  |  |  |  |  |  | 
| 31 |  |  |  |  |  |  | sub celebrity { | 
| 32 | 3773 |  | 50 | 3773 | 0 | 10957 | my $redstring = shift // {}; | 
| 33 | 3773 |  |  |  |  | 54184 | my $celeb = _RANDOM_( | 
| 34 |  |  |  |  |  |  | { female => 0, name => 'Bill Gates' }, | 
| 35 |  |  |  |  |  |  | { female => 0, name => 'Jeff Bezos' }, | 
| 36 |  |  |  |  |  |  | { female => 1, name => 'Hillary Clinton' }, | 
| 37 |  |  |  |  |  |  | { female => 0, name => 'Donald Trump' }, | 
| 38 |  |  |  |  |  |  | { female => 0, name => 'Barack Obama' }, | 
| 39 |  |  |  |  |  |  | { female => 0, name => 'Bernie Sanders' }, | 
| 40 |  |  |  |  |  |  | { female => 0, name => 'Joe Biden' }, | 
| 41 |  |  |  |  |  |  | { female => 0, name => 'Bill Clinton' }, | 
| 42 |  |  |  |  |  |  | { female => 1, name => 'Queen Elizabeth II' }, | 
| 43 |  |  |  |  |  |  | { female => 0, name => 'Johnny Depp' }, | 
| 44 |  |  |  |  |  |  | { female => 0, name => 'Q' }, | 
| 45 |  |  |  |  |  |  | { female => 1, name => 'Madonna' }, | 
| 46 |  |  |  |  |  |  | { female => 0, name => 'Sir Paul McCartney' }, | 
| 47 |  |  |  |  |  |  | { female => 1, name => 'Lady Gaga' }, | 
| 48 |  |  |  |  |  |  | { female => 1, name => 'Margaret Thatcher' }, | 
| 49 |  |  |  |  |  |  | { female => 0, name => 'George Soros' }, | 
| 50 |  |  |  |  |  |  | { female => 1, name => 'Beyonce' }, | 
| 51 |  |  |  |  |  |  | { female => 1, name => 'Whitney Houston' }, | 
| 52 |  |  |  |  |  |  | { female => 0, name => 'Joe Rogan' }, | 
| 53 |  |  |  |  |  |  | ); | 
| 54 | 3773 |  |  |  |  | 22819 | _MERGE_( $redstring, celebrity => $celeb ); | 
| 55 | 3773 |  |  |  |  | 9758 | return $celeb->{name}; | 
| 56 |  |  |  |  |  |  | } | 
| 57 |  |  |  |  |  |  |  | 
| 58 |  |  |  |  |  |  | sub shady_group { | 
| 59 | 31792 |  | 50 | 31792 | 0 | 73079 | my $redstring = shift // {}; | 
| 60 |  |  |  |  |  |  |  | 
| 61 | 31792 |  |  |  |  | 49284 | my $xx; | 
| 62 |  |  |  |  |  |  | PICK: { | 
| 63 | 31792 |  |  |  |  | 49088 | $xx = _RANDOM_( | 
| 64 |  |  |  |  |  |  | { plural => 1, name => 'the Knights Templar', shortname => 'the Templars' }, | 
| 65 |  |  |  |  |  |  | { plural => 1, name => 'the Illuminati' }, | 
| 66 |  |  |  |  |  |  | { plural => 1, name => 'the Freemasons', shortname => 'the Masons' }, | 
| 67 |  |  |  |  |  |  | { plural => 0, name => 'the Ordo Templi Orientis' }, | 
| 68 |  |  |  |  |  |  | { plural => 1, name => 'the Cabalists' }, | 
| 69 |  |  |  |  |  |  | { plural => 1, name => 'the Followers of the Temple Of The Vampire', shortname => 'the Vampires' }, | 
| 70 |  |  |  |  |  |  | { plural => 0, splural => 1, name => 'the Secret Order of the Knights of the Round Table', shortname => 'the Knights' }, | 
| 71 |  |  |  |  |  |  | { plural => 1, name => 'the Cardinals of the Catholic Church', shortname => 'the Cardinals' }, | 
| 72 |  |  |  |  |  |  | { plural => 0, name => 'the Church of Satan', shortname => 'the Church' }, | 
| 73 |  |  |  |  |  |  | { plural => 1, name => 'the Gnostics' }, | 
| 74 |  |  |  |  |  |  | { plural => 1, name => 'the Elders of Zion', shortname => 'the Elders' }, | 
| 75 |  |  |  |  |  |  | { plural => 1, name => 'the Jesuits' }, | 
| 76 |  |  |  |  |  |  | { plural => 0, name => 'the Babylonian Brotherhood', shortname => 'the Brotherhood' }, | 
| 77 |  |  |  |  |  |  | { plural => 0, name => 'the Hermetic Order of the Golden Dawn', shortname => 'the Order' }, | 
| 78 |  |  |  |  |  |  | { plural => 0, name => 'Opus Dei' }, | 
| 79 |  |  |  |  |  |  | { plural => 0, name => 'the Priory of Sion', shortname => 'the Priory' }, | 
| 80 |  |  |  |  |  |  | { plural => 0, name => 'GameStop' }, | 
| 81 |  |  |  |  |  |  | { plural => 0, splural => 1, name => 'the British Royal Family', shortname => 'the Royals' }, | 
| 82 |  |  |  |  |  |  | { plural => 0, name => 'NASA' }, | 
| 83 |  |  |  |  |  |  | { plural => 1, name => 'the Zionists' }, | 
| 84 |  |  |  |  |  |  | { plural => 0, name => 'the Trump administration' }, | 
| 85 |  |  |  |  |  |  | { plural => 0, name => 'the Biden administration' }, | 
| 86 |  |  |  |  |  |  | { plural => 0, splural => 1, name => 'the Republican party', shortname => 'the Republicans' }, | 
| 87 |  |  |  |  |  |  | { plural => 0, splural => 1, name => 'the Democrat party', shortname => 'the Democrats' }, | 
| 88 |  |  |  |  |  |  | { plural => 0, name => 'the New World Order' }, | 
| 89 |  |  |  |  |  |  | { plural => 1, name => 'the Communists' }, | 
| 90 |  |  |  |  |  |  | { plural => 0, name => 'the Shadow Government' }, | 
| 91 |  |  |  |  |  |  | { plural => 0, name => 'the global financial elite' }, | 
| 92 |  |  |  |  |  |  | { plural => 0, name => 'the global scientific elite' }, | 
| 93 |  |  |  |  |  |  | { plural => 0, name => 'Big Pharma' }, | 
| 94 |  |  |  |  |  |  | { plural => 0, name => 'Big Tobacco' }, | 
| 95 |  |  |  |  |  |  | { plural => 1, splural => 1, name => 'the lizard people', shortname => 'the lizardmen' }, | 
| 96 |  |  |  |  |  |  | { plural => 1, name => 'the grey aliens', shortname => 'the aliens' }, | 
| 97 |  |  |  |  |  |  | { plural => 1, name => 'the big Hollywood studios', shortname => 'Hollywood' }, | 
| 98 |  |  |  |  |  |  | { plural => 0, name => 'the music industry' }, | 
| 99 |  |  |  |  |  |  | { plural => 1, name => 'shape-shifting aliens', shortname => 'the shape-shifters' }, | 
| 100 |  |  |  |  |  |  | { plural => 1, name => 'Satanists' }, | 
| 101 |  |  |  |  |  |  | { plural => 1, name => 'pagans' }, | 
| 102 |  |  |  |  |  |  | { plural => 1, name => 'atheists' }, | 
| 103 |  |  |  |  |  |  | { plural => 1, name => 'people who like pineapple on pizza', shortname => 'the pineapple-lovers' }, | 
| 104 |  |  |  |  |  |  | { plural => 0, name => 'the deep state' }, | 
| 105 |  |  |  |  |  |  | { plural => 1, name => 'the descendents of Jesus', shortname => 'the descendents' }, | 
| 106 |  |  |  |  |  |  | { plural => 1, name => 'Qanon' }, | 
| 107 |  |  |  |  |  |  | { plural => 0, name => 'Microsoft' }, | 
| 108 |  |  |  |  |  |  | { plural => 0, name => 'Twitter' }, | 
| 109 |  |  |  |  |  |  | { plural => 0, name => 'Facebook' }, | 
| 110 |  |  |  |  |  |  | { plural => 0, name => 'Google' }, | 
| 111 |  |  |  |  |  |  | { plural => 0, name => 'Monsanto' }, | 
| 112 |  |  |  |  |  |  | { plural => 0, name => 'the Wall Street establishment', shortname => 'Wall Street' }, | 
| 113 |  |  |  |  |  |  | { plural => 1, name => 'people at 10 Downing Street', shortname => "Downing Street" }, | 
| 114 |  |  |  |  |  |  | { plural => 0, name => 'Goldman Sachs' }, | 
| 115 |  |  |  |  |  |  | { plural => 0, name => 'Skull and Bones (Order 322)', shortname => 'the Order' }, | 
| 116 |  |  |  |  |  |  | { plural => 0, name => 'the London Stock Exchange', shortname => 'LSE' }, | 
| 117 |  |  |  |  |  |  | { plural => 0, name => 'the New York Stock Exchange', shortname => 'NYSE' }, | 
| 118 |  |  |  |  |  |  | { plural => 1, name => 'feminists' }, | 
| 119 |  |  |  |  |  |  | { plural => 1, name => 'Socialists' }, | 
| 120 |  |  |  |  |  |  | sub { | 
| 121 | 574 |  |  | 574 |  | 2750 | my $planet = _RANDOM_( | 
| 122 |  |  |  |  |  |  | ['Nibiru', 'the Nibiruans'], | 
| 123 |  |  |  |  |  |  | ['Venus', 'the Venutians'], | 
| 124 |  |  |  |  |  |  | ['Mars', 'the Martians'], | 
| 125 |  |  |  |  |  |  | ['Pluto', 'the Plutonians'], | 
| 126 |  |  |  |  |  |  | ['Andromeda', 'the Andromedans'], | 
| 127 |  |  |  |  |  |  | ['the moon', 'the moonlings'], | 
| 128 |  |  |  |  |  |  | ['the Counter-Earth', 'the anti-Earthlings'], | 
| 129 |  |  |  |  |  |  | ); | 
| 130 | 574 |  |  |  |  | 3364 | { plural => 1, name => "aliens from ".$planet->[0], shortname => $planet->[1] }; | 
| 131 |  |  |  |  |  |  | }, | 
| 132 | 31971 |  |  |  |  | 1199915 | ); | 
| 133 |  |  |  |  |  |  |  | 
| 134 | 1 |  |  | 1 |  | 8 | no warnings; | 
|  | 1 |  |  |  |  | 2 |  | 
|  | 1 |  |  |  |  | 13231 |  | 
| 135 |  |  |  |  |  |  | redo PICK | 
| 136 |  |  |  |  |  |  | if ( $redstring->{protagonists} and $redstring->{protagonists}{name} eq $xx->{name} ) | 
| 137 | 31971 | 100 | 100 |  |  | 556276 | || ( $redstring->{antagonists}  and $redstring->{antagonists}{name}  eq $xx->{name} ); | 
|  |  |  | 100 |  |  |  |  | 
|  |  |  | 100 |  |  |  |  | 
| 138 |  |  |  |  |  |  | }; | 
| 139 |  |  |  |  |  |  |  | 
| 140 | 31792 |  |  |  |  | 88614 | _MERGE_( $redstring, shady_group => $xx ); | 
| 141 | 31792 |  |  |  |  | 67737 | my $name = $xx->{name}; | 
| 142 | 31792 | 100 | 100 |  |  | 114838 | if ($name =~ /ists$/ && $name !~ /^the/) { | 
| 143 | 2184 |  |  |  |  | 6453 | $name = "the $name"; | 
| 144 |  |  |  |  |  |  | } | 
| 145 | 31792 |  |  |  |  | 73515 | return $name; | 
| 146 |  |  |  |  |  |  | } | 
| 147 |  |  |  |  |  |  |  | 
| 148 |  |  |  |  |  |  | sub real_animal { | 
| 149 | 1651 |  | 50 | 1651 | 0 | 4746 | my $redstring = shift // {}; | 
| 150 |  |  |  |  |  |  |  | 
| 151 | 1651 |  |  |  |  | 3715 | my $animal = _RANDOM_( | 
| 152 |  |  |  |  |  |  | 'cat', | 
| 153 |  |  |  |  |  |  | 'dog', | 
| 154 |  |  |  |  |  |  | 'horse', | 
| 155 |  |  |  |  |  |  | 'penguin', | 
| 156 |  |  |  |  |  |  | 'platypus', | 
| 157 |  |  |  |  |  |  | 'toucan', | 
| 158 |  |  |  |  |  |  | 'whale', | 
| 159 |  |  |  |  |  |  | 'zebra', | 
| 160 |  |  |  |  |  |  | 'frog', | 
| 161 |  |  |  |  |  |  | 'fish', | 
| 162 |  |  |  |  |  |  | ); | 
| 163 |  |  |  |  |  |  |  | 
| 164 | 1651 |  |  |  |  | 4599 | _MERGE_( $redstring, real_animal => $animal ); | 
| 165 | 1651 |  |  |  |  | 3850 | return $animal; | 
| 166 |  |  |  |  |  |  | } | 
| 167 |  |  |  |  |  |  |  | 
| 168 |  |  |  |  |  |  | sub fake_animal { | 
| 169 | 276 |  | 50 | 276 | 0 | 865 | my $redstring = shift // {}; | 
| 170 |  |  |  |  |  |  |  | 
| 171 | 276 |  |  |  |  | 793 | my $animal = _RANDOM_( | 
| 172 |  |  |  |  |  |  | 'unicorn', | 
| 173 |  |  |  |  |  |  | 'bigfoot', | 
| 174 |  |  |  |  |  |  | 'mermaid', | 
| 175 |  |  |  |  |  |  | 'werewolf', | 
| 176 |  |  |  |  |  |  | 'dragon', | 
| 177 |  |  |  |  |  |  | 'wyvern', | 
| 178 |  |  |  |  |  |  | 'yeti', | 
| 179 |  |  |  |  |  |  | 'Loch Ness monster', | 
| 180 |  |  |  |  |  |  | ); | 
| 181 |  |  |  |  |  |  |  | 
| 182 | 276 |  |  |  |  | 881 | _MERGE_( $redstring, fake_animal => $animal ); | 
| 183 | 276 |  |  |  |  | 700 | return $animal; | 
| 184 |  |  |  |  |  |  | } | 
| 185 |  |  |  |  |  |  |  | 
| 186 |  |  |  |  |  |  | sub objects { | 
| 187 | 499 |  | 50 | 499 | 0 | 1715 | my $redstring = shift // {}; | 
| 188 |  |  |  |  |  |  |  | 
| 189 | 499 |  |  |  |  | 1491 | my $objects = _RANDOM_( | 
| 190 |  |  |  |  |  |  | 'cars', | 
| 191 |  |  |  |  |  |  | 'TVs', | 
| 192 |  |  |  |  |  |  | 'smartphones', | 
| 193 |  |  |  |  |  |  | 'microwave ovens', | 
| 194 |  |  |  |  |  |  | 'trees', | 
| 195 |  |  |  |  |  |  | 'clothes', | 
| 196 |  |  |  |  |  |  | ); | 
| 197 |  |  |  |  |  |  |  | 
| 198 | 499 |  |  |  |  | 1520 | _MERGE_( $redstring, objects => $objects ); | 
| 199 | 499 |  |  |  |  | 1213 | return $objects; | 
| 200 |  |  |  |  |  |  | } | 
| 201 |  |  |  |  |  |  |  | 
| 202 |  |  |  |  |  |  | sub invention { | 
| 203 | 238 |  | 50 | 238 | 0 | 838 | my $redstring = shift // {}; | 
| 204 |  |  |  |  |  |  |  | 
| 205 | 238 |  |  |  |  | 1109 | my $invention = _RANDOM_( | 
| 206 |  |  |  |  |  |  | ['the internet', 0], | 
| 207 |  |  |  |  |  |  | ['cryptocurrencies', 1], | 
| 208 |  |  |  |  |  |  | ['smartphones', 1], | 
| 209 |  |  |  |  |  |  | ['bitcoin', 0], | 
| 210 |  |  |  |  |  |  | ); | 
| 211 |  |  |  |  |  |  |  | 
| 212 | 238 |  |  |  |  | 1122 | _MERGE_( $redstring, invention => $invention->[0], | 
| 213 |  |  |  |  |  |  | invention_plural => $invention->[1], ); | 
| 214 | 238 |  |  |  |  | 672 | return $invention->[0]; | 
| 215 |  |  |  |  |  |  | } | 
| 216 |  |  |  |  |  |  |  | 
| 217 |  |  |  |  |  |  | sub shady_project { | 
| 218 | 1508 |  | 50 | 1508 | 0 | 4034 | my $redstring = shift // {}; | 
| 219 |  |  |  |  |  |  |  | 
| 220 | 1508 |  |  |  |  | 3377 | my $x = _RANDOM_( | 
| 221 |  |  |  |  |  |  | 'Project Blue Beam', | 
| 222 |  |  |  |  |  |  | 'The Plan', | 
| 223 |  |  |  |  |  |  | 'the Global Warming Hoax', | 
| 224 |  |  |  |  |  |  | 'the New Chronology', | 
| 225 |  |  |  |  |  |  | 'the Great Replacement', | 
| 226 |  |  |  |  |  |  | 'the Great Reset', | 
| 227 |  |  |  |  |  |  | 'the LGBT Agenda', | 
| 228 |  |  |  |  |  |  | 'the Kalergi Plan', | 
| 229 |  |  |  |  |  |  | 'Eurabia', | 
| 230 |  |  |  |  |  |  | 'the moon-landing hoax', | 
| 231 |  |  |  |  |  |  | ); | 
| 232 |  |  |  |  |  |  |  | 
| 233 | 1508 |  |  |  |  | 4036 | _MERGE_( $redstring, shady_project => $x ); | 
| 234 | 1508 |  |  |  |  | 3283 | return $x; | 
| 235 |  |  |  |  |  |  | } | 
| 236 |  |  |  |  |  |  |  | 
| 237 |  |  |  |  |  |  | sub authority { | 
| 238 | 400 |  | 50 | 400 | 0 | 1082 | my $redstring = shift // {}; | 
| 239 |  |  |  |  |  |  |  | 
| 240 | 400 |  |  |  |  | 1004 | my $x = _RANDOM_( | 
| 241 |  |  |  |  |  |  | 'the Supreme Court', | 
| 242 |  |  |  |  |  |  | 'the United Nations', | 
| 243 |  |  |  |  |  |  | 'the FBI', | 
| 244 |  |  |  |  |  |  | 'the CIA', | 
| 245 |  |  |  |  |  |  | 'NATO', | 
| 246 |  |  |  |  |  |  | ); | 
| 247 |  |  |  |  |  |  |  | 
| 248 | 400 |  |  |  |  | 1085 | _MERGE_( $redstring, authority => $x ); | 
| 249 | 400 |  |  |  |  | 1006 | return $x; | 
| 250 |  |  |  |  |  |  | } | 
| 251 |  |  |  |  |  |  |  | 
| 252 |  |  |  |  |  |  | sub dark_lord { | 
| 253 | 1596 |  | 50 | 1596 | 0 | 4305 | my $redstring = shift // {}; | 
| 254 |  |  |  |  |  |  |  | 
| 255 | 1596 |  |  |  |  | 3920 | my $x = _RANDOM_( | 
| 256 |  |  |  |  |  |  | 'the dark lord', | 
| 257 |  |  |  |  |  |  | 'Beelzebub', | 
| 258 |  |  |  |  |  |  | 'Lord Vader', | 
| 259 |  |  |  |  |  |  | 'Lord Satan', | 
| 260 |  |  |  |  |  |  | 'Thanos', | 
| 261 |  |  |  |  |  |  | 'the devil', | 
| 262 |  |  |  |  |  |  | 'the evil one', | 
| 263 |  |  |  |  |  |  | 'the almighty', | 
| 264 |  |  |  |  |  |  | ); | 
| 265 |  |  |  |  |  |  |  | 
| 266 | 1596 |  |  |  |  | 4219 | _MERGE_( $redstring, dark_lord => $x ); | 
| 267 | 1596 |  |  |  |  | 4566 | return $x; | 
| 268 |  |  |  |  |  |  | } | 
| 269 |  |  |  |  |  |  |  | 
| 270 |  |  |  |  |  |  | sub disease { | 
| 271 | 542 |  | 50 | 542 | 0 | 1567 | my $redstring = shift // {}; | 
| 272 |  |  |  |  |  |  |  | 
| 273 | 542 |  |  |  |  | 1617 | my $disease = _RANDOM_( | 
| 274 |  |  |  |  |  |  | 'cancer', | 
| 275 |  |  |  |  |  |  | 'COVID-19', | 
| 276 |  |  |  |  |  |  | 'HIV', | 
| 277 |  |  |  |  |  |  | 'the common cold', | 
| 278 |  |  |  |  |  |  | 'diabetes', | 
| 279 |  |  |  |  |  |  | 'obesity', | 
| 280 |  |  |  |  |  |  | 'autism', | 
| 281 |  |  |  |  |  |  | 'Ebola', | 
| 282 |  |  |  |  |  |  | ); | 
| 283 |  |  |  |  |  |  |  | 
| 284 | 542 |  |  |  |  | 1527 | _MERGE_( $redstring, disease => $disease ); | 
| 285 | 542 |  |  |  |  | 1282 | return $disease; | 
| 286 |  |  |  |  |  |  | } | 
| 287 |  |  |  |  |  |  |  | 
| 288 |  |  |  |  |  |  | sub disease_cause { | 
| 289 | 274 |  | 50 | 274 | 0 | 845 | my $redstring = shift // {}; | 
| 290 |  |  |  |  |  |  |  | 
| 291 |  |  |  |  |  |  | my $cause = _RANDOM_( | 
| 292 |  |  |  |  |  |  | sub { | 
| 293 | 36 |  |  | 36 |  | 127 | my $food = food( $redstring ); | 
| 294 | 36 | 100 |  |  |  | 238 | ( $food =~ /wine/ ) ? "drinking $food" : "eating $food"; | 
| 295 |  |  |  |  |  |  | }, | 
| 296 |  |  |  |  |  |  | sub { | 
| 297 | 40 |  |  | 40 |  | 115 | chemicals( $redstring ); | 
| 298 |  |  |  |  |  |  | }, | 
| 299 | 274 |  |  |  |  | 1760 | 'non-vegan food', | 
| 300 |  |  |  |  |  |  | 'vegan food', | 
| 301 |  |  |  |  |  |  | 'socialism', | 
| 302 |  |  |  |  |  |  | 'electromagnetic radiation (WiFi!)', | 
| 303 |  |  |  |  |  |  | 'radon gas', | 
| 304 |  |  |  |  |  |  | ); | 
| 305 |  |  |  |  |  |  |  | 
| 306 | 274 |  |  |  |  | 1768 | _MERGE_( $redstring, disease_cause => $cause ); | 
| 307 | 274 |  |  |  |  | 660 | return $cause; | 
| 308 |  |  |  |  |  |  | } | 
| 309 |  |  |  |  |  |  |  | 
| 310 |  |  |  |  |  |  | sub chemicals { | 
| 311 | 1018 |  | 50 | 1018 | 0 | 2703 | my $redstring = shift // {}; | 
| 312 |  |  |  |  |  |  |  | 
| 313 | 1018 |  |  |  |  | 2780 | my $chemicals = _RANDOM_( | 
| 314 |  |  |  |  |  |  | 'oestrogen', | 
| 315 |  |  |  |  |  |  | 'testosterone', | 
| 316 |  |  |  |  |  |  | 'acid', | 
| 317 |  |  |  |  |  |  | 'birth-control', | 
| 318 |  |  |  |  |  |  | 'fertilizer', | 
| 319 |  |  |  |  |  |  | 'Diet Coke', | 
| 320 |  |  |  |  |  |  | 'heavy hydrogen', | 
| 321 |  |  |  |  |  |  | '5G', | 
| 322 |  |  |  |  |  |  | 'antimatter', | 
| 323 |  |  |  |  |  |  | 'dark matter', | 
| 324 |  |  |  |  |  |  | 'fluoride', | 
| 325 |  |  |  |  |  |  | ); | 
| 326 |  |  |  |  |  |  |  | 
| 327 | 1018 |  |  |  |  | 3018 | _MERGE_( $redstring, chemicals => $chemicals ); | 
| 328 | 1018 |  |  |  |  | 2415 | return $chemicals; | 
| 329 |  |  |  |  |  |  | } | 
| 330 |  |  |  |  |  |  |  | 
| 331 |  |  |  |  |  |  | sub food { | 
| 332 | 302 |  | 50 | 302 | 0 | 945 | my $redstring = shift // {}; | 
| 333 |  |  |  |  |  |  |  | 
| 334 | 302 |  |  |  |  | 904 | my $food = _RANDOM_( | 
| 335 |  |  |  |  |  |  | 'apples', | 
| 336 |  |  |  |  |  |  | 'Big Macs', | 
| 337 |  |  |  |  |  |  | 'KFC family buckets', | 
| 338 |  |  |  |  |  |  | 'most wines', | 
| 339 |  |  |  |  |  |  | 'Kraft instant mac and cheese boxes', | 
| 340 |  |  |  |  |  |  | 'bananas', | 
| 341 |  |  |  |  |  |  | ); | 
| 342 |  |  |  |  |  |  |  | 
| 343 | 302 |  |  |  |  | 883 | _MERGE_( $redstring, food => $food ); | 
| 344 | 302 |  |  |  |  | 762 | return $food; | 
| 345 |  |  |  |  |  |  | } | 
| 346 |  |  |  |  |  |  |  | 
| 347 |  |  |  |  |  |  | sub attribute { | 
| 348 | 268 |  | 50 | 268 | 0 | 714 | my $redstring = shift // {}; | 
| 349 |  |  |  |  |  |  |  | 
| 350 | 268 |  |  |  |  | 765 | my $attr = _RANDOM_( | 
| 351 |  |  |  |  |  |  | 'gay', | 
| 352 |  |  |  |  |  |  | 'insane', | 
| 353 |  |  |  |  |  |  | 'infertile', | 
| 354 |  |  |  |  |  |  | 'immobile', | 
| 355 |  |  |  |  |  |  | 'horny', | 
| 356 |  |  |  |  |  |  | 'female', | 
| 357 |  |  |  |  |  |  | 'fat', | 
| 358 |  |  |  |  |  |  | 'fluorescent', | 
| 359 |  |  |  |  |  |  | ); | 
| 360 |  |  |  |  |  |  |  | 
| 361 | 268 |  |  |  |  | 779 | _MERGE_( $redstring, attribute => $attr ); | 
| 362 | 268 |  |  |  |  | 664 | return $attr; | 
| 363 |  |  |  |  |  |  | } | 
| 364 |  |  |  |  |  |  |  | 
| 365 |  |  |  |  |  |  | sub artifact { | 
| 366 | 238 |  | 50 | 238 | 0 | 703 | my $redstring = shift // {}; | 
| 367 |  |  |  |  |  |  |  | 
| 368 | 238 |  |  |  |  | 770 | my $artifact = _RANDOM_( | 
| 369 |  |  |  |  |  |  | 'the holy grail', | 
| 370 |  |  |  |  |  |  | 'the golden fleece', | 
| 371 |  |  |  |  |  |  | 'Excalibur', | 
| 372 |  |  |  |  |  |  | 'the ark of the covenant', | 
| 373 |  |  |  |  |  |  | "Jesus's foreskin", | 
| 374 |  |  |  |  |  |  | 'the Holy Prepuce', | 
| 375 |  |  |  |  |  |  | 'the Book of the Dead', | 
| 376 |  |  |  |  |  |  | 'the Necronomicon', | 
| 377 |  |  |  |  |  |  | "the Philosopher's Stone", | 
| 378 |  |  |  |  |  |  | "a fragment of the true cross", | 
| 379 |  |  |  |  |  |  | "the seal of Solomon", | 
| 380 |  |  |  |  |  |  | ); | 
| 381 |  |  |  |  |  |  |  | 
| 382 | 238 |  |  |  |  | 865 | _MERGE_( $redstring, artifact => $artifact ); | 
| 383 | 238 |  |  |  |  | 583 | return $artifact; | 
| 384 |  |  |  |  |  |  | } | 
| 385 |  |  |  |  |  |  |  | 
| 386 |  |  |  |  |  |  | sub bad_place { | 
| 387 | 863 |  | 50 | 863 | 0 | 2599 | my $redstring = shift // {}; | 
| 388 |  |  |  |  |  |  |  | 
| 389 |  |  |  |  |  |  | my $bad_place = _RANDOM_( | 
| 390 |  |  |  |  |  |  | 'a secret Antarctic base', | 
| 391 |  |  |  |  |  |  | 'Area 51', | 
| 392 |  |  |  |  |  |  | 'Langley, Virginia', | 
| 393 |  |  |  |  |  |  | 'Guantanamo Bay Detention Camp', | 
| 394 |  |  |  |  |  |  | 'Windsor Castle', | 
| 395 |  |  |  |  |  |  | 'The Pentagon', | 
| 396 |  |  |  |  |  |  | 'Denver International Airport', | 
| 397 |  |  |  |  |  |  | 'the basement of the Vatican', | 
| 398 | 84 |  |  | 84 |  | 246 | sub { myth_place( $redstring ) }, | 
| 399 |  |  |  |  |  |  | sub { | 
| 400 | 73 |  |  | 73 |  | 196 | my $p = random_place( $redstring ); | 
| 401 | 73 |  |  |  |  | 241 | "a series of tunnels underneath $p"; | 
| 402 |  |  |  |  |  |  | }, | 
| 403 |  |  |  |  |  |  | sub { | 
| 404 | 70 |  |  | 70 |  | 187 | my $p = random_place( $redstring ); | 
| 405 | 70 |  |  |  |  | 248 | "a secret base in $p"; | 
| 406 |  |  |  |  |  |  | }, | 
| 407 | 863 |  |  |  |  | 5756 | 'a facility inside the hollow Earth', | 
| 408 |  |  |  |  |  |  | ); | 
| 409 |  |  |  |  |  |  |  | 
| 410 | 863 |  |  |  |  | 5552 | _MERGE_( $redstring, bad_place => $bad_place ); | 
| 411 | 863 |  |  |  |  | 2025 | return $bad_place; | 
| 412 |  |  |  |  |  |  | } | 
| 413 |  |  |  |  |  |  |  | 
| 414 |  |  |  |  |  |  | sub random_place { | 
| 415 | 6096 |  | 50 | 6096 | 0 | 15606 | my $redstring = shift // {}; | 
| 416 |  |  |  |  |  |  |  | 
| 417 | 6096 |  |  |  |  | 17293 | my $random_place = _RANDOM_( | 
| 418 |  |  |  |  |  |  | 'the USA', | 
| 419 |  |  |  |  |  |  | 'the UK', | 
| 420 |  |  |  |  |  |  | 'France', | 
| 421 |  |  |  |  |  |  | 'Italy', | 
| 422 |  |  |  |  |  |  | 'Germany', | 
| 423 |  |  |  |  |  |  | 'Spain', | 
| 424 |  |  |  |  |  |  | 'Egypt', | 
| 425 |  |  |  |  |  |  | 'Israel', | 
| 426 |  |  |  |  |  |  | 'Lebanon', | 
| 427 |  |  |  |  |  |  | 'Syria', | 
| 428 |  |  |  |  |  |  | 'Japan', | 
| 429 |  |  |  |  |  |  | 'China', | 
| 430 |  |  |  |  |  |  | 'Brazil', | 
| 431 |  |  |  |  |  |  | 'Argentina', | 
| 432 |  |  |  |  |  |  | 'Chile', | 
| 433 |  |  |  |  |  |  | 'Tunisia', | 
| 434 |  |  |  |  |  |  | 'Antarctica', | 
| 435 |  |  |  |  |  |  | 'Norway', | 
| 436 |  |  |  |  |  |  | 'Australia', | 
| 437 |  |  |  |  |  |  | 'New Zealand', | 
| 438 |  |  |  |  |  |  | ); | 
| 439 |  |  |  |  |  |  |  | 
| 440 | 6096 |  |  |  |  | 15964 | _MERGE_( $redstring, random_place => $random_place ); | 
| 441 | 6096 |  |  |  |  | 13425 | return $random_place; | 
| 442 |  |  |  |  |  |  | } | 
| 443 |  |  |  |  |  |  |  | 
| 444 |  |  |  |  |  |  | sub myth_place { | 
| 445 | 558 |  | 50 | 558 | 0 | 1820 | my $redstring = shift // {}; | 
| 446 |  |  |  |  |  |  |  | 
| 447 | 558 |  |  |  |  | 1445 | my $place = _RANDOM_( | 
| 448 |  |  |  |  |  |  | 'the Garden of Eden', | 
| 449 |  |  |  |  |  |  | 'the lost city of Atlantis', | 
| 450 |  |  |  |  |  |  | 'the final resting place of Noah\'s Ark', | 
| 451 |  |  |  |  |  |  | 'the umbilicus mundi', | 
| 452 |  |  |  |  |  |  | 'Camelot', | 
| 453 |  |  |  |  |  |  | "Lucifer's crypt", | 
| 454 |  |  |  |  |  |  | "Jesus's grave", | 
| 455 |  |  |  |  |  |  | "Jesus's true birthplace", | 
| 456 |  |  |  |  |  |  | 'the entrance to the hollow Earth', | 
| 457 |  |  |  |  |  |  | 'the REAL Stonehenge', | 
| 458 |  |  |  |  |  |  | ); | 
| 459 |  |  |  |  |  |  |  | 
| 460 | 558 |  |  |  |  | 1750 | _MERGE_( $redstring, myth_place => $place ); | 
| 461 | 558 |  |  |  |  | 1405 | return $place; | 
| 462 |  |  |  |  |  |  | } | 
| 463 |  |  |  |  |  |  |  | 
| 464 |  |  |  |  |  |  | sub cryptids { | 
| 465 | 516 |  | 50 | 516 | 0 | 1503 | my $redstring = shift // {}; | 
| 466 |  |  |  |  |  |  |  | 
| 467 | 516 |  |  |  |  | 1399 | my $cryptids = _RANDOM_( | 
| 468 |  |  |  |  |  |  | 'vampires', | 
| 469 |  |  |  |  |  |  | 'ghosts', | 
| 470 |  |  |  |  |  |  | 'werewolves', | 
| 471 |  |  |  |  |  |  | 'demons', | 
| 472 |  |  |  |  |  |  | 'angels', | 
| 473 |  |  |  |  |  |  | 'skinwalkers', | 
| 474 |  |  |  |  |  |  | 'elves', | 
| 475 |  |  |  |  |  |  | 'goblins', | 
| 476 |  |  |  |  |  |  | 'mermaids', | 
| 477 |  |  |  |  |  |  | ); | 
| 478 |  |  |  |  |  |  |  | 
| 479 | 516 |  |  |  |  | 1583 | _MERGE_( $redstring, cryptids => $cryptids ); | 
| 480 | 516 |  |  |  |  | 1296 | return $cryptids; | 
| 481 |  |  |  |  |  |  | } | 
| 482 |  |  |  |  |  |  |  | 
| 483 |  |  |  |  |  |  | sub fiction { | 
| 484 | 3000 |  | 100 | 3000 | 0 | 8822 | my $redstring = shift // {}; | 
| 485 |  |  |  |  |  |  |  | 
| 486 | 3000 |  |  |  |  | 27730 | my $fiction = _RANDOM_( | 
| 487 |  |  |  |  |  |  | { title => 'Harry Potter', author => 'J K Rowling' }, | 
| 488 |  |  |  |  |  |  | { title => 'Tintin', author => 'Herge' }, | 
| 489 |  |  |  |  |  |  | { title => 'Star Wars', author => 'George Lucas' }, | 
| 490 |  |  |  |  |  |  | { title => 'Avengers: Age of Ultron', author => 'Kevin Feige' }, | 
| 491 |  |  |  |  |  |  | { title => 'The Book of Mormon', author => 'Joseph Smith' }, | 
| 492 |  |  |  |  |  |  | { title => 'Lord of the Rings', author => 'J R R Tolkien' }, | 
| 493 |  |  |  |  |  |  | { title => 'The Chronicles of Narnia', author => 'C S Lewis' }, | 
| 494 |  |  |  |  |  |  | { title => 'Game of Thrones', author => 'George R R Martin' }, | 
| 495 |  |  |  |  |  |  | { title => 'Spider-Man', author => 'Stan Lee' }, | 
| 496 |  |  |  |  |  |  | ); | 
| 497 |  |  |  |  |  |  |  | 
| 498 | 3000 |  |  |  |  | 13919 | _MERGE_( $redstring, fiction => $fiction ); | 
| 499 | 3000 |  |  |  |  | 10122 | return $fiction->{title}; | 
| 500 |  |  |  |  |  |  | } | 
| 501 |  |  |  |  |  |  |  | 
| 502 |  |  |  |  |  |  | sub precious_resource { | 
| 503 | 3410 |  | 50 | 3410 | 0 | 8661 | my $redstring = shift // {}; | 
| 504 |  |  |  |  |  |  |  | 
| 505 | 3410 |  |  |  |  | 8900 | my $resource = _RANDOM_( | 
| 506 |  |  |  |  |  |  | 'pineapple', | 
| 507 |  |  |  |  |  |  | 'oil', | 
| 508 |  |  |  |  |  |  | 'coal', | 
| 509 |  |  |  |  |  |  | 'uranium', | 
| 510 |  |  |  |  |  |  | 'holy water', | 
| 511 |  |  |  |  |  |  | 'diamond', | 
| 512 |  |  |  |  |  |  | 'blood', | 
| 513 |  |  |  |  |  |  | 'gold', | 
| 514 |  |  |  |  |  |  | 'silver', | 
| 515 |  |  |  |  |  |  | 'neutron star material', | 
| 516 |  |  |  |  |  |  | 'Belle Delphine bath water', | 
| 517 |  |  |  |  |  |  | 'crystals', | 
| 518 |  |  |  |  |  |  | ); | 
| 519 |  |  |  |  |  |  |  | 
| 520 | 3410 |  |  |  |  | 8730 | _MERGE_( $redstring, precious_resource => $resource ); | 
| 521 | 3410 |  |  |  |  | 8421 | return $resource; | 
| 522 |  |  |  |  |  |  | } | 
| 523 |  |  |  |  |  |  |  | 
| 524 |  |  |  |  |  |  | sub precious_resource_with_quantity { | 
| 525 | 2922 |  | 50 | 2922 | 0 | 7445 | my $redstring = shift // {}; | 
| 526 | 2922 |  |  |  |  | 7381 | my $resource = precious_resource( $redstring ); | 
| 527 | 2922 |  |  |  |  | 6945 | my $quantity = _RANDOM_( | 
| 528 |  |  |  |  |  |  | 'a warehouse full', | 
| 529 |  |  |  |  |  |  | 'a lot', | 
| 530 |  |  |  |  |  |  | 'unknown quantities', | 
| 531 |  |  |  |  |  |  | 'vast amounts', | 
| 532 |  |  |  |  |  |  | 'unimaginable quantities', | 
| 533 |  |  |  |  |  |  | 'unspeakable quantities', | 
| 534 |  |  |  |  |  |  | '5.3 metric pounds', | 
| 535 |  |  |  |  |  |  | '6.9 Imperial litres', | 
| 536 |  |  |  |  |  |  | '666 tonnes', | 
| 537 |  |  |  |  |  |  | ); | 
| 538 | 2922 |  |  |  |  | 8981 | "$quantity of $resource"; | 
| 539 |  |  |  |  |  |  | } | 
| 540 |  |  |  |  |  |  |  | 
| 541 |  |  |  |  |  |  | sub mind_control_device { | 
| 542 | 502 |  | 50 | 502 | 0 | 1601 | my $redstring = shift // {}; | 
| 543 |  |  |  |  |  |  |  | 
| 544 | 502 |  |  |  |  | 4620 | my @mc = ( | 
| 545 |  |  |  |  |  |  | ['chemtrails', 1], | 
| 546 |  |  |  |  |  |  | ['mind control drugs in the water', 1], | 
| 547 |  |  |  |  |  |  | ['5G', 0], | 
| 548 |  |  |  |  |  |  | ['WiFi', 0], | 
| 549 |  |  |  |  |  |  | ['microchips implanted at birth', 1], | 
| 550 |  |  |  |  |  |  | ['vaccines', 1], | 
| 551 |  |  |  |  |  |  | ['childhood indoctrination', 0], | 
| 552 |  |  |  |  |  |  | ['neurolinguistic programming', 0], | 
| 553 |  |  |  |  |  |  | ['video games', 1], | 
| 554 |  |  |  |  |  |  | ['mass media', 1], | 
| 555 |  |  |  |  |  |  | ['space lasers', 1], | 
| 556 |  |  |  |  |  |  | ['hypnotism', 0], | 
| 557 |  |  |  |  |  |  | ); | 
| 558 |  |  |  |  |  |  |  | 
| 559 | 502 |  |  |  |  | 1319 | my $mc = _RANDOM_(@mc); | 
| 560 |  |  |  |  |  |  |  | 
| 561 | 502 |  |  |  |  | 1724 | _MERGE_( $redstring, mind_control_device => $mc->[0] ); | 
| 562 | 502 |  |  |  |  | 1610 | _MERGE_( $redstring, mind_control_device_plural => $mc->[1] ); | 
| 563 | 502 |  |  |  |  | 2126 | return $mc->[0]; | 
| 564 |  |  |  |  |  |  | } | 
| 565 |  |  |  |  |  |  |  | 
| 566 |  |  |  |  |  |  | sub future_time { | 
| 567 | 971 |  | 50 | 971 | 0 | 2831 | my $redstring = shift // {}; | 
| 568 |  |  |  |  |  |  |  | 
| 569 | 971 |  |  |  |  | 2429 | my $time = _RANDOM_( | 
| 570 |  |  |  |  |  |  | 'in 2030', | 
| 571 |  |  |  |  |  |  | 'by the end of the century', | 
| 572 |  |  |  |  |  |  | 'in 2666', | 
| 573 |  |  |  |  |  |  | 'when Queen Elizabeth II dies', | 
| 574 |  |  |  |  |  |  | 'when the ice caps melt', | 
| 575 |  |  |  |  |  |  | 'next Christmas', | 
| 576 |  |  |  |  |  |  | ); | 
| 577 |  |  |  |  |  |  |  | 
| 578 | 971 |  |  |  |  | 3264 | _MERGE_( $redstring, future_time => $time ); | 
| 579 | 971 |  |  |  |  | 2354 | return $time; | 
| 580 |  |  |  |  |  |  | } | 
| 581 |  |  |  |  |  |  |  | 
| 582 |  |  |  |  |  |  | sub splural { | 
| 583 | 119326 |  |  | 119326 | 0 | 178137 | my $a = shift; | 
| 584 | 119326 | 100 |  |  |  | 222056 | if (defined $a->{splural}) { | 
| 585 | 10461 |  |  |  |  | 23796 | return $a->{splural}; | 
| 586 |  |  |  |  |  |  | } | 
| 587 | 108865 |  |  |  |  | 215542 | return $a->{plural}; | 
| 588 |  |  |  |  |  |  | } | 
| 589 |  |  |  |  |  |  |  | 
| 590 |  |  |  |  |  |  | sub a_long_time { | 
| 591 | 2556 |  | 100 | 2556 | 0 | 7220 | my $redstring = shift // {}; | 
| 592 |  |  |  |  |  |  |  | 
| 593 | 2556 |  |  |  |  | 5058 | my @extras = (); | 
| 594 | 2556 |  |  |  |  | 5689 | for my $actor ( qw/ protagonists antagonists / ) { | 
| 595 |  |  |  |  |  |  | push @extras, sub { | 
| 596 | 355 | 100 |  | 355 |  | 1127 | my $have = splural( $redstring->{$actor} ) ? 'have' : 'has'; | 
| 597 | 355 |  | 66 |  |  | 2074 | "for as long as " . ($redstring->{$actor}{shortname}//$redstring->{$actor}{name}) . " $have existed"; | 
| 598 | 5112 | 100 |  |  |  | 21079 | } if $redstring->{$actor}{name}; | 
| 599 |  |  |  |  |  |  | } | 
| 600 |  |  |  |  |  |  |  | 
| 601 | 2556 |  |  |  |  | 6221 | my $time = _RANDOM_( | 
| 602 |  |  |  |  |  |  | 'since 1492', | 
| 603 |  |  |  |  |  |  | 'since 1666', | 
| 604 |  |  |  |  |  |  | 'since 1066', | 
| 605 |  |  |  |  |  |  | 'since the time of Christ', | 
| 606 |  |  |  |  |  |  | 'since time immemorial', | 
| 607 |  |  |  |  |  |  | 'since the dawn of time', | 
| 608 |  |  |  |  |  |  | 'for hundreds of years', | 
| 609 |  |  |  |  |  |  | 'for millennia', | 
| 610 |  |  |  |  |  |  | @extras, | 
| 611 |  |  |  |  |  |  | ); | 
| 612 |  |  |  |  |  |  |  | 
| 613 | 2556 |  |  |  |  | 7642 | _MERGE_( $redstring, a_long_time => $time ); | 
| 614 | 2556 |  |  |  |  | 12157 | return $time; | 
| 615 |  |  |  |  |  |  | } | 
| 616 |  |  |  |  |  |  |  | 
| 617 |  |  |  |  |  |  | sub misinformation { | 
| 618 | 1521 |  | 50 | 1521 | 0 | 4161 | my $redstring = shift // {}; | 
| 619 |  |  |  |  |  |  |  | 
| 620 |  |  |  |  |  |  | my $info = _RANDOM_( | 
| 621 |  |  |  |  |  |  | 'the Earth is round', | 
| 622 |  |  |  |  |  |  | 'the Earth goes around the sun', | 
| 623 |  |  |  |  |  |  | 'humans are animals', | 
| 624 |  |  |  |  |  |  | 'birds are dinosaurs', | 
| 625 |  |  |  |  |  |  | sub { | 
| 626 | 92 |  |  | 92 |  | 431 | $redstring->{topic} = { name => 'the moon', plural => 0 }; | 
| 627 | 92 |  |  |  |  | 213 | 'men have walked on the moon'; | 
| 628 |  |  |  |  |  |  | }, | 
| 629 |  |  |  |  |  |  | sub { | 
| 630 | 82 |  |  | 82 |  | 282 | $redstring->{topic} = { name => 'electricity', plural => 0 }; | 
| 631 | 82 |  |  |  |  | 185 | 'electricity exists'; | 
| 632 |  |  |  |  |  |  | }, | 
| 633 |  |  |  |  |  |  | sub { | 
| 634 | 84 |  |  | 84 |  | 336 | $redstring->{topic} = { name => 'magnetism', plural => 0 }; | 
| 635 | 84 |  |  |  |  | 201 | 'magnetism is real'; | 
| 636 |  |  |  |  |  |  | }, | 
| 637 |  |  |  |  |  |  | sub { | 
| 638 | 86 |  |  | 86 |  | 326 | $redstring->{topic} = { name => 'gravity', plural => 0 }; | 
| 639 | 86 |  |  |  |  | 226 | 'gravity is real'; | 
| 640 |  |  |  |  |  |  | }, | 
| 641 |  |  |  |  |  |  | sub { | 
| 642 | 93 |  |  | 93 |  | 368 | $redstring->{topic} = { name => 'outer space', plural => 0 }; | 
| 643 | 93 |  |  |  |  | 213 | 'space is real'; | 
| 644 |  |  |  |  |  |  | }, | 
| 645 |  |  |  |  |  |  | sub { | 
| 646 | 87 |  |  | 87 |  | 284 | $redstring->{topic} = { name => 'viruses', plural => 1 }; | 
| 647 | 87 |  |  |  |  | 190 | 'viruses are real'; | 
| 648 |  |  |  |  |  |  | }, | 
| 649 |  |  |  |  |  |  | sub { | 
| 650 | 98 |  |  | 98 |  | 346 | $redstring->{topic} = { name => 'vaccines', plural => 1 }; | 
| 651 | 98 |  |  |  |  | 215 | 'vaccines are safe'; | 
| 652 |  |  |  |  |  |  | }, | 
| 653 |  |  |  |  |  |  | sub { | 
| 654 | 89 |  |  | 89 |  | 244 | my $animal = real_animal( $redstring ); | 
| 655 | 89 |  |  |  |  | 310 | "the $animal is real"; | 
| 656 |  |  |  |  |  |  | }, | 
| 657 |  |  |  |  |  |  | sub { | 
| 658 | 89 |  |  | 89 |  | 302 | my $place = random_place( $redstring ); | 
| 659 | 89 |  |  |  |  | 297 | "$place is real"; | 
| 660 |  |  |  |  |  |  | }, | 
| 661 |  |  |  |  |  |  | sub { | 
| 662 | 94 |  |  | 94 |  | 340 | $redstring->{topic} = { name => 'carbon dating', plural => 0 }; | 
| 663 | 94 |  |  |  |  | 247 | 'the Earth is 4.5 billion years old'; | 
| 664 |  |  |  |  |  |  | }, | 
| 665 |  |  |  |  |  |  | sub { | 
| 666 | 93 |  |  | 93 |  | 341 | $redstring->{topic} = { name => 'radiocarbon dating', plural => 0 }; | 
| 667 | 93 |  |  |  |  | 219 | 'the universe is 14 billion years old'; | 
| 668 |  |  |  |  |  |  | }, | 
| 669 |  |  |  |  |  |  | sub { | 
| 670 | 101 |  |  | 101 |  | 401 | $redstring->{topic} = { name => 'pigeons', plural => 1 }; | 
| 671 | 101 |  |  |  |  | 246 | 'dinosaurs are real'; | 
| 672 |  |  |  |  |  |  | }, | 
| 673 |  |  |  |  |  |  | sub { | 
| 674 | 80 |  |  | 80 |  | 314 | $redstring->{topic} = { name => 'surveillance drones', plural => 1 }; | 
| 675 | 80 |  |  |  |  | 177 | 'birds are real'; | 
| 676 |  |  |  |  |  |  | }, | 
| 677 | 1521 |  |  |  |  | 21990 | ); | 
| 678 |  |  |  |  |  |  |  | 
| 679 | 1521 |  |  |  |  | 18226 | _MERGE_( $redstring, misinformation => $info ); | 
| 680 | 1521 |  |  |  |  | 3695 | return $info; | 
| 681 |  |  |  |  |  |  | } | 
| 682 |  |  |  |  |  |  |  | 
| 683 |  |  |  |  |  |  | sub victim { | 
| 684 | 2911 |  | 50 | 2911 | 0 | 7542 | my $redstring = shift // {}; | 
| 685 |  |  |  |  |  |  |  | 
| 686 | 2911 |  |  |  |  | 7323 | my $victim = _RANDOM_( | 
| 687 |  |  |  |  |  |  | 'Elvis Presley', | 
| 688 |  |  |  |  |  |  | 'JFK', | 
| 689 |  |  |  |  |  |  | 'Hitler', | 
| 690 |  |  |  |  |  |  | 'Robin Williams', | 
| 691 |  |  |  |  |  |  | 'Martin Luther King Jr', | 
| 692 |  |  |  |  |  |  | 'Abraham Lincoln', | 
| 693 |  |  |  |  |  |  | 'King Charles I', | 
| 694 |  |  |  |  |  |  | 'Marilyn Monroe', | 
| 695 |  |  |  |  |  |  | 'Tupac Shakur', | 
| 696 |  |  |  |  |  |  | 'Princess Di', | 
| 697 |  |  |  |  |  |  | 'Jeff Buckley', | 
| 698 |  |  |  |  |  |  | 'Andy Kaufman', | 
| 699 |  |  |  |  |  |  | 'Jim Morrison', | 
| 700 |  |  |  |  |  |  | 'Brandon Lee', | 
| 701 |  |  |  |  |  |  | 'Lee Harvey Oswald', | 
| 702 |  |  |  |  |  |  | 'Archduke Franz Ferdinand', | 
| 703 |  |  |  |  |  |  | 'the original Avril Lavigne', | 
| 704 |  |  |  |  |  |  | 'Malcolm X', | 
| 705 |  |  |  |  |  |  | 'John Lennon', | 
| 706 |  |  |  |  |  |  | 'Michael Jackson', | 
| 707 |  |  |  |  |  |  | ); | 
| 708 |  |  |  |  |  |  |  | 
| 709 | 2911 |  |  |  |  | 7561 | _MERGE_( $redstring, victim => $victim ); | 
| 710 | 2911 |  |  |  |  | 7033 | return $victim; | 
| 711 |  |  |  |  |  |  | } | 
| 712 |  |  |  |  |  |  |  | 
| 713 |  |  |  |  |  |  | sub physicist {  # and chemists | 
| 714 | 1474 |  | 50 | 1474 | 0 | 3998 | my $redstring = shift // {}; | 
| 715 |  |  |  |  |  |  |  | 
| 716 | 1474 |  |  |  |  | 3594 | my $x = _RANDOM_( | 
| 717 |  |  |  |  |  |  | 'Nikola Tesla', | 
| 718 |  |  |  |  |  |  | 'Benjamin Franklin', | 
| 719 |  |  |  |  |  |  | 'Albert Einstein', | 
| 720 |  |  |  |  |  |  | 'Isaac Newton', | 
| 721 |  |  |  |  |  |  | 'Stephen Hawking', | 
| 722 |  |  |  |  |  |  | 'Henry Cavendish', | 
| 723 |  |  |  |  |  |  | ); | 
| 724 |  |  |  |  |  |  |  | 
| 725 | 1474 |  |  |  |  | 4283 | _MERGE_( $redstring, physicist => $x ); | 
| 726 | 1474 |  |  |  |  | 3314 | return $x; | 
| 727 |  |  |  |  |  |  | } | 
| 728 |  |  |  |  |  |  |  | 
| 729 |  |  |  |  |  |  | sub biologist {  # and medics | 
| 730 | 1547 |  | 50 | 1547 | 0 | 3785 | my $redstring = shift // {}; | 
| 731 |  |  |  |  |  |  |  | 
| 732 | 1547 |  |  |  |  | 3621 | my $x = _RANDOM_( | 
| 733 |  |  |  |  |  |  | 'Charles Darwin', | 
| 734 |  |  |  |  |  |  | 'Edward Jenner', | 
| 735 |  |  |  |  |  |  | 'Robert Koch', | 
| 736 |  |  |  |  |  |  | 'Carl Linneaus', | 
| 737 |  |  |  |  |  |  | 'Alexander Fleming', | 
| 738 |  |  |  |  |  |  | ); | 
| 739 |  |  |  |  |  |  |  | 
| 740 | 1547 |  |  |  |  | 4379 | _MERGE_( $redstring, biologist => $x ); | 
| 741 | 1547 |  |  |  |  | 3601 | return $x; | 
| 742 |  |  |  |  |  |  | } | 
| 743 |  |  |  |  |  |  |  | 
| 744 |  |  |  |  |  |  | sub website { | 
| 745 | 5553 |  | 100 | 5553 | 0 | 19140 | my $redstring = shift // {}; | 
| 746 |  |  |  |  |  |  |  | 
| 747 | 5553 |  |  |  |  | 13752 | my $x = _RANDOM_( | 
| 748 |  |  |  |  |  |  | 'Tumblr', | 
| 749 |  |  |  |  |  |  | 'Pinterest', | 
| 750 |  |  |  |  |  |  | 'Youtube', | 
| 751 |  |  |  |  |  |  | 'Facebook', | 
| 752 |  |  |  |  |  |  | 'Wikipedia', | 
| 753 |  |  |  |  |  |  | 'Twitter', | 
| 754 |  |  |  |  |  |  | 'Instagram', | 
| 755 |  |  |  |  |  |  | 'Geocities', | 
| 756 |  |  |  |  |  |  | 'Parler', | 
| 757 |  |  |  |  |  |  | ); | 
| 758 |  |  |  |  |  |  |  | 
| 759 | 5553 |  |  |  |  | 14357 | _MERGE_( $redstring, website => $x ); | 
| 760 | 5553 |  |  |  |  | 29968 | return $x; | 
| 761 |  |  |  |  |  |  | } | 
| 762 |  |  |  |  |  |  |  | 
| 763 |  |  |  |  |  |  | sub fatuous { | 
| 764 | 2721 |  | 50 | 2721 | 0 | 11627 | my $redstring = shift // {}; | 
| 765 |  |  |  |  |  |  |  | 
| 766 | 2721 |  |  |  |  | 7039 | my $x = _RANDOM_( | 
| 767 |  |  |  |  |  |  | "We all know what's going on here.", | 
| 768 |  |  |  |  |  |  | "It's plain and simple common sense.", | 
| 769 |  |  |  |  |  |  | 'Most people are in denial.', | 
| 770 |  |  |  |  |  |  | "Isn't it obvious?", | 
| 771 |  |  |  |  |  |  | "Wake up, sheeple!", | 
| 772 |  |  |  |  |  |  | "It's obvious if you connect the dots.", | 
| 773 |  |  |  |  |  |  | "They leave clues to mock us.", | 
| 774 |  |  |  |  |  |  | "It's not funny!", | 
| 775 |  |  |  |  |  |  | "There are too many coincidences to ignore.", | 
| 776 |  |  |  |  |  |  | ); | 
| 777 |  |  |  |  |  |  |  | 
| 778 | 2721 |  |  |  |  | 7295 | _MERGE_( $redstring, clone => $x ); | 
| 779 | 2721 |  |  |  |  | 9340 | return $x; | 
| 780 |  |  |  |  |  |  | } | 
| 781 |  |  |  |  |  |  |  | 
| 782 |  |  |  |  |  |  | sub clone { | 
| 783 | 605 |  | 50 | 605 | 0 | 1835 | my $redstring = shift // {}; | 
| 784 |  |  |  |  |  |  |  | 
| 785 | 605 |  |  |  |  | 1521 | my $x = _RANDOM_( | 
| 786 |  |  |  |  |  |  | 'an alien', | 
| 787 |  |  |  |  |  |  | 'an avatar', | 
| 788 |  |  |  |  |  |  | 'a CGI replica', | 
| 789 |  |  |  |  |  |  | 'a clone', | 
| 790 |  |  |  |  |  |  | 'a cyborg', | 
| 791 |  |  |  |  |  |  | 'a hologram', | 
| 792 |  |  |  |  |  |  | 'a look-alike', | 
| 793 |  |  |  |  |  |  | 'a robot', | 
| 794 |  |  |  |  |  |  | 'a shapeshifter', | 
| 795 |  |  |  |  |  |  | ); | 
| 796 |  |  |  |  |  |  |  | 
| 797 | 605 |  |  |  |  | 1821 | _MERGE_( $redstring, clone => $x ); | 
| 798 | 605 |  |  |  |  | 1478 | return $x; | 
| 799 |  |  |  |  |  |  | } | 
| 800 |  |  |  |  |  |  |  | 
| 801 |  |  |  |  |  |  | sub lies { | 
| 802 | 27618 |  | 50 | 27618 | 0 | 84834 | my $redstring = shift // {}; | 
| 803 |  |  |  |  |  |  |  | 
| 804 | 27618 |  |  |  |  | 55688 | my $x = _RANDOM_( | 
| 805 |  |  |  |  |  |  | 'obvious lies', | 
| 806 |  |  |  |  |  |  | 'a big coverup', | 
| 807 |  |  |  |  |  |  | 'a fairy tale', | 
| 808 |  |  |  |  |  |  | 'disinformation', | 
| 809 |  |  |  |  |  |  | ); | 
| 810 |  |  |  |  |  |  |  | 
| 811 | 27618 |  |  |  |  | 69892 | _MERGE_( $redstring, lies => $x ); | 
| 812 | 27618 |  |  |  |  | 71551 | return $x; | 
| 813 |  |  |  |  |  |  | } | 
| 814 |  |  |  |  |  |  |  | 
| 815 |  |  |  |  |  |  | sub evidence { | 
| 816 | 21370 |  | 50 | 21370 | 0 | 54215 | my $redstring = shift // {}; | 
| 817 |  |  |  |  |  |  |  | 
| 818 |  |  |  |  |  |  | my @x = ( | 
| 819 |  |  |  |  |  |  | "there's a video about it on YouTube", | 
| 820 | 1816 |  |  | 1816 |  | 4320 | sub { 'there was something about it on ' . website() }, | 
| 821 |  |  |  |  |  |  | "the voices told me", | 
| 822 |  |  |  |  |  |  | "I had a dream", | 
| 823 | 1930 |  |  | 1930 |  | 4896 | sub { website() . ' is censoring me' }, | 
| 824 | 1800 |  |  | 1800 |  | 4095 | sub { website() . ' was down this morning' }, | 
| 825 | 21370 |  |  |  |  | 111164 | ); | 
| 826 |  |  |  |  |  |  |  | 
| 827 | 21370 | 100 |  |  |  | 59923 | if ( my $c = $redstring->{disease_cause} ) { | 
| 828 | 264 |  |  |  |  | 781 | push @x, ( | 
| 829 |  |  |  |  |  |  | "$c is addictive", | 
| 830 |  |  |  |  |  |  | ); | 
| 831 |  |  |  |  |  |  | } | 
| 832 |  |  |  |  |  |  |  | 
| 833 | 21370 | 100 |  |  |  | 47190 | if ( my $m = $redstring->{misinformation} ) { | 
| 834 | 1521 |  |  |  |  | 6596 | push @x, ( | 
| 835 |  |  |  |  |  |  | "they indoctrinate people about '$m' at schools and if it were the truth they wouldn't need to", | 
| 836 |  |  |  |  |  |  | "'$m' gets pushed down our throats by mass media", | 
| 837 |  |  |  |  |  |  | "'$m' is a false-flag operation", | 
| 838 |  |  |  |  |  |  | ); | 
| 839 |  |  |  |  |  |  | } | 
| 840 |  |  |  |  |  |  |  | 
| 841 | 21370 | 100 |  |  |  | 45985 | if ( my $auth = $redstring->{authority} ) { | 
| 842 | 400 |  |  |  |  | 1795 | push @x, ( | 
| 843 |  |  |  |  |  |  | "$auth are the obvious people to go to", | 
| 844 |  |  |  |  |  |  | "$auth are the only ones with the power to stop them", | 
| 845 |  |  |  |  |  |  | "$auth are able to save us", | 
| 846 |  |  |  |  |  |  | ); | 
| 847 |  |  |  |  |  |  | } | 
| 848 |  |  |  |  |  |  |  | 
| 849 | 21370 | 100 |  |  |  | 42673 | if ( my $p = $redstring->{myth_place} ) { | 
| 850 | 521 |  |  |  |  | 2541 | push @x, ( | 
| 851 |  |  |  |  |  |  | "there are clues about $p in the Bible", | 
| 852 |  |  |  |  |  |  | "there are clues about $p in the Voynich manuscript", | 
| 853 |  |  |  |  |  |  | "$p is on some old maps", | 
| 854 |  |  |  |  |  |  | "$p is on Google Maps", | 
| 855 |  |  |  |  |  |  | ); | 
| 856 |  |  |  |  |  |  | } | 
| 857 |  |  |  |  |  |  |  | 
| 858 | 21370 | 100 |  |  |  | 43696 | if ( my $art = $redstring->{artifact} ) { | 
| 859 | 228 |  |  |  |  | 1095 | push @x, ( | 
| 860 |  |  |  |  |  |  | "$art isn't in any museum", | 
| 861 |  |  |  |  |  |  | "$art must be somewhere", | 
| 862 |  |  |  |  |  |  | "$art is out there", | 
| 863 |  |  |  |  |  |  | "$art can be found with GPS", | 
| 864 |  |  |  |  |  |  | ); | 
| 865 |  |  |  |  |  |  | } | 
| 866 |  |  |  |  |  |  |  | 
| 867 | 21370 | 100 |  |  |  | 44008 | if ( my $proj = $redstring->{shady_project} ) { | 
| 868 | 1508 |  |  |  |  | 5824 | push @x, ( | 
| 869 |  |  |  |  |  |  | "everybody knows $proj is happening soon", | 
| 870 |  |  |  |  |  |  | "$proj is well-funded", | 
| 871 |  |  |  |  |  |  | "$proj is an open secret", | 
| 872 |  |  |  |  |  |  | "there is so much evidence for $proj", | 
| 873 |  |  |  |  |  |  | ); | 
| 874 |  |  |  |  |  |  | } | 
| 875 |  |  |  |  |  |  |  | 
| 876 | 21370 | 100 |  |  |  | 48679 | if ( my $dl = $redstring->{dark_lord} ) { | 
| 877 | 1476 |  |  |  |  | 6425 | push @x, ( | 
| 878 |  |  |  |  |  |  | "$dl is known to be growing in power", | 
| 879 |  |  |  |  |  |  | "$dl has never seemed more powerful", | 
| 880 |  |  |  |  |  |  | "$dl needs to be getting power from somewhere", | 
| 881 |  |  |  |  |  |  | "$dl told me", | 
| 882 |  |  |  |  |  |  | "I have seen signs from $dl", | 
| 883 |  |  |  |  |  |  | ); | 
| 884 |  |  |  |  |  |  | } | 
| 885 |  |  |  |  |  |  |  | 
| 886 | 21370 | 100 | 100 |  |  | 102968 | if ( my $v = $redstring->{victim} // $redstring->{physicist} // $redstring->{biologist} ) { | 
|  |  |  | 100 |  |  |  |  | 
| 887 |  |  |  |  |  |  | push @x, ( | 
| 888 |  |  |  |  |  |  | "$v died too young", | 
| 889 |  |  |  |  |  |  | "$v sent a letter containing the truth before dying", | 
| 890 |  |  |  |  |  |  | sub { | 
| 891 | 353 |  |  | 353 |  | 932 | my $clone = clone( $redstring ); | 
| 892 | 353 |  |  |  |  | 1907 | "when they did an autopsy on $v it turned out it was $clone", | 
| 893 |  |  |  |  |  |  | }, | 
| 894 |  |  |  |  |  |  | "they never did an autopsy on $v", | 
| 895 |  |  |  |  |  |  | "$v wrote a will", | 
| 896 |  |  |  |  |  |  | sub { | 
| 897 | 366 |  |  | 366 |  | 998 | my $g = shady_group( $redstring ); | 
| 898 | 366 |  |  |  |  | 2057 | "$v was secretly one of $g"; | 
| 899 |  |  |  |  |  |  | }, | 
| 900 |  |  |  |  |  |  | sub { | 
| 901 | 354 |  |  | 354 |  | 898 | my $animal = real_animal( $redstring ); | 
| 902 | 354 |  |  |  |  | 1995 | "when they did an autopsy on $v it turned out they were secretly a $animal in a human suit"; | 
| 903 |  |  |  |  |  |  | }, | 
| 904 | 5701 |  |  |  |  | 42717 | ); | 
| 905 |  |  |  |  |  |  | } | 
| 906 |  |  |  |  |  |  |  | 
| 907 | 21370 | 100 | 100 |  |  | 76230 | if ( my $v = $redstring->{physicist} // $redstring->{biologist} ) { | 
| 908 | 3021 |  |  |  |  | 9286 | push @x, ( | 
| 909 |  |  |  |  |  |  | "$v isn't mentioned in Aristotle's writing", | 
| 910 |  |  |  |  |  |  | "$v hasn't given a lecture in months", | 
| 911 |  |  |  |  |  |  | "$v isn't taken seriously by TRUE SCIENTISTS", | 
| 912 |  |  |  |  |  |  | ); | 
| 913 |  |  |  |  |  |  | } | 
| 914 |  |  |  |  |  |  |  | 
| 915 | 21370 | 100 |  |  |  | 47469 | if ( my $c = $redstring->{celebrity} ) { | 
| 916 | 3750 | 100 |  |  |  | 9132 | if ( $c->{female} ) { | 
| 917 | 1373 |  |  |  |  | 3305 | push @x, ( | 
| 918 |  |  |  |  |  |  | "you can't trust women", | 
| 919 |  |  |  |  |  |  | "she said so on her Twitter", | 
| 920 |  |  |  |  |  |  | ); | 
| 921 |  |  |  |  |  |  | } | 
| 922 |  |  |  |  |  |  | else { | 
| 923 | 2377 |  |  |  |  | 5700 | push @x, ( | 
| 924 |  |  |  |  |  |  | "you can't trust men", | 
| 925 |  |  |  |  |  |  | "he said so on his Twitter", | 
| 926 |  |  |  |  |  |  | ); | 
| 927 |  |  |  |  |  |  | } | 
| 928 |  |  |  |  |  |  | } | 
| 929 |  |  |  |  |  |  |  | 
| 930 | 21370 | 100 |  |  |  | 46296 | if ( my $f = $redstring->{fiction} ) { | 
| 931 |  |  |  |  |  |  |  | 
| 932 |  |  |  |  |  |  | push @x, ( | 
| 933 |  |  |  |  |  |  | $f->{title} . " has secret messages encoded in it with numerology", | 
| 934 |  |  |  |  |  |  | $f->{title} . " is satanic", | 
| 935 |  |  |  |  |  |  | sub { | 
| 936 | 223 |  |  | 223 |  | 603 | my $g = shady_group( $redstring ); | 
| 937 | 223 | 100 |  |  |  | 644 | my $has = splural( $redstring->{shady_group} ) ? 'have' : 'has'; | 
| 938 | 223 |  |  |  |  | 1412 | $f->{author} . " $has ties to $g"; | 
| 939 |  |  |  |  |  |  | }, | 
| 940 |  |  |  |  |  |  | sub { | 
| 941 | 189 |  |  | 189 |  | 660 | my $b = bad_place( $redstring ); | 
| 942 | 189 |  |  |  |  | 1086 | $f->{author} . " got taken to $b for questioning"; | 
| 943 |  |  |  |  |  |  | }, | 
| 944 | 1968 |  |  |  |  | 11911 | ); | 
| 945 |  |  |  |  |  |  |  | 
| 946 | 1968 | 100 |  |  |  | 6209 | if ( my $p = $redstring->{random_place} ) { | 
| 947 |  |  |  |  |  |  | push @x, ( | 
| 948 |  |  |  |  |  |  | $f->{author} . " had a secret home in $p", | 
| 949 | 339 |  |  |  |  | 1484 | $f->{author} . " was secretly born in $p", | 
| 950 |  |  |  |  |  |  | ); | 
| 951 |  |  |  |  |  |  | } | 
| 952 |  |  |  |  |  |  | } | 
| 953 |  |  |  |  |  |  |  | 
| 954 | 21370 | 100 | 100 |  |  | 73205 | if ( my $animal = $redstring->{real_animal} // $redstring->{fake_animal} ) { | 
| 955 |  |  |  |  |  |  | push @x, ( | 
| 956 |  |  |  |  |  |  | "the $animal wasn't mentioned in the Bible", | 
| 957 |  |  |  |  |  |  | "the $animal was mentioned in the Satanic Verses", | 
| 958 |  |  |  |  |  |  | "the $animal looks kind of weird", | 
| 959 |  |  |  |  |  |  | "nobody has ever seen a $animal in real life", | 
| 960 |  |  |  |  |  |  | "the $animal obviously isn't native to this planet", | 
| 961 | 120 |  |  | 120 |  | 233 | sub { "${ \ shady_group($redstring) } sacrifice $animal${\'s'} to ${ \ dark_lord($redstring) }" }, | 
|  | 120 |  |  |  |  | 332 |  | 
|  | 120 |  |  |  |  | 302 |  | 
|  | 120 |  |  |  |  | 388 |  | 
| 962 | 1752 |  |  |  |  | 13948 | "the $animal looks bigger in real life", | 
| 963 |  |  |  |  |  |  | "the $animal makes a funny noise", | 
| 964 |  |  |  |  |  |  | "Alex Jones did a podcast about the $animal", | 
| 965 |  |  |  |  |  |  | ); | 
| 966 |  |  |  |  |  |  | } | 
| 967 |  |  |  |  |  |  |  | 
| 968 | 21370 | 100 |  |  |  | 43704 | if ( my $mc = $redstring->{mind_control_device} ) { | 
| 969 | 484 |  |  |  |  | 1627 | my $time = a_long_time(); | 
| 970 | 484 |  |  |  |  | 1095 | my $mcp = $redstring->{mind_control_device_plural}; | 
| 971 | 484 |  |  |  |  | 898 | my $is = 'is'; | 
| 972 | 484 |  |  |  |  | 964 | my $has = 'has'; | 
| 973 | 484 |  |  |  |  | 1038 | my $was = 'was'; | 
| 974 | 484 | 100 |  |  |  | 1223 | if ($mcp) { | 
| 975 | 270 |  |  |  |  | 505 | $is = 'are'; | 
| 976 | 270 |  |  |  |  | 562 | $has = 'have'; | 
| 977 | 270 |  |  |  |  | 568 | $was = 'were'; | 
| 978 |  |  |  |  |  |  | } | 
| 979 |  |  |  |  |  |  | push @x, ( | 
| 980 |  |  |  |  |  |  | "everybody knows $mc $is real", | 
| 981 | 33 |  |  | 33 |  | 112 | sub { "$mc $has been researched by ${ \ shady_group($redstring) } $time" }, | 
|  | 33 |  |  |  |  | 90 |  | 
| 982 | 38 |  |  | 38 |  | 127 | sub { "$mc $was used to conceal ${ \ shady_group($redstring) } $time" }, | 
|  | 38 |  |  |  |  | 99 |  | 
| 983 | 58 |  |  | 58 |  | 229 | sub { "$mc $was used to infiltrate ${ \ shady_group($redstring) }" }, | 
|  | 58 |  |  |  |  | 143 |  | 
| 984 | 484 |  |  |  |  | 4048 | ); | 
| 985 |  |  |  |  |  |  | } | 
| 986 |  |  |  |  |  |  |  | 
| 987 | 21370 | 100 |  |  |  | 43397 | if ( my $ft = $redstring->{future_time} ) { | 
| 988 | 933 |  |  |  |  | 3244 | push @x, ( | 
| 989 |  |  |  |  |  |  | "some of the few people still alive $ft time-travelled back to tell us", | 
| 990 | 933 |  |  |  |  | 2362 | "the people still alive $ft sent us hidden messages in ${ \ fiction() }", | 
| 991 |  |  |  |  |  |  | "it will all become clear $ft", | 
| 992 |  |  |  |  |  |  | ); | 
| 993 |  |  |  |  |  |  | } | 
| 994 |  |  |  |  |  |  |  | 
| 995 | 21370 | 100 |  |  |  | 44821 | if ( my $d = $redstring->{disease} ) { | 
| 996 | 524 |  |  |  |  | 2880 | push @x, ( | 
| 997 |  |  |  |  |  |  | "patients with $d keep disappearing from hospitals", | 
| 998 |  |  |  |  |  |  | "patients with $d are being silenced by the government", | 
| 999 |  |  |  |  |  |  | "doctors working on $d are being killed", | 
| 1000 |  |  |  |  |  |  | "$d probably isn't even a real disease", | 
| 1001 |  |  |  |  |  |  | "nobody has ever died of $d", | 
| 1002 |  |  |  |  |  |  | ); | 
| 1003 |  |  |  |  |  |  | } | 
| 1004 |  |  |  |  |  |  |  | 
| 1005 | 21370 | 100 |  |  |  | 48014 | if ( my $f = $redstring->{food} ) { | 
| 1006 | 291 |  |  |  |  | 1356 | push @x, ( | 
| 1007 |  |  |  |  |  |  | "$f don't taste like they used to", | 
| 1008 |  |  |  |  |  |  | "$f smell funny", | 
| 1009 |  |  |  |  |  |  | "$f make me feel sick", | 
| 1010 |  |  |  |  |  |  | "I don't like $f", | 
| 1011 |  |  |  |  |  |  | ); | 
| 1012 |  |  |  |  |  |  | } | 
| 1013 |  |  |  |  |  |  |  | 
| 1014 | 21370 | 100 |  |  |  | 46363 | if ( my $chem = $redstring->{chemicals} ) { | 
| 1015 | 978 |  |  |  |  | 3946 | push @x, ( | 
| 1016 |  |  |  |  |  |  | "$chem isn't on the periodic table", | 
| 1017 |  |  |  |  |  |  | "$chem isn't real", | 
| 1018 |  |  |  |  |  |  | "$chem isn't natural", | 
| 1019 |  |  |  |  |  |  | "you'd have to be stupid to think $chem is real", | 
| 1020 |  |  |  |  |  |  | ); | 
| 1021 |  |  |  |  |  |  | } | 
| 1022 |  |  |  |  |  |  |  | 
| 1023 | 21370 | 100 |  |  |  | 45932 | if ( my $r = $redstring->{precious_resource} ) { | 
| 1024 | 3212 |  |  |  |  | 6671 | my ( $bad, $are, $r_are ); | 
| 1025 | 3212 | 100 |  |  |  | 10013 | $redstring->{shady_group}{name} or shady_group( $redstring ); | 
| 1026 | 3212 |  |  |  |  | 7569 | foreach ( qw/ antagonist protagonist shady_group / ) { | 
| 1027 | 9636 | 100 |  |  |  | 24819 | if ( $redstring->{$_}{name} ) { | 
| 1028 | 3212 |  |  |  |  | 6270 | $bad = $redstring->{$_}{name}; | 
| 1029 | 3212 | 100 |  |  |  | 8598 | $are = $redstring->{$_}{plural} ? 'are' : 'is'; | 
| 1030 | 3212 | 100 |  |  |  | 11608 | $r_are = ($r =~ /s$/) ? 'are' : 'is'; | 
| 1031 |  |  |  |  |  |  | } | 
| 1032 |  |  |  |  |  |  | } | 
| 1033 | 3212 |  |  |  |  | 23804 | push @x, ( | 
| 1034 |  |  |  |  |  |  | "the Wikipedia entry for $r keeps getting edited by $bad", | 
| 1035 |  |  |  |  |  |  | "$bad keeps buying $r secretly on the stock market", | 
| 1036 |  |  |  |  |  |  | "the global supply of $r is at an all time low", | 
| 1037 |  |  |  |  |  |  | "have you ever seen $r for real with your own eyes", | 
| 1038 |  |  |  |  |  |  | "$r $r_are so damn expensive", | 
| 1039 |  |  |  |  |  |  | "$r $r_are really rare", | 
| 1040 |  |  |  |  |  |  | "Alex Jones says $bad $are linked to $r", | 
| 1041 |  |  |  |  |  |  | ); | 
| 1042 |  |  |  |  |  |  | } | 
| 1043 |  |  |  |  |  |  |  | 
| 1044 | 21370 | 100 |  |  |  | 51564 | if ( my $topic = $redstring->{topic} ) { | 
| 1045 | 6865 |  |  |  |  | 12882 | my $topicname = $topic->{name}; | 
| 1046 | 6865 | 100 |  |  |  | 16673 | my $have      = $topic->{plural} ? 'have' : 'has'; | 
| 1047 | 6865 |  |  |  |  | 36813 | push @x, ( | 
| 1048 |  |  |  |  |  |  | "there's hidden clues in the Wikipedia page about $topicname", | 
| 1049 |  |  |  |  |  |  | "THEY let it slip during an edit war in a Wikipedia page about $topicname", | 
| 1050 |  |  |  |  |  |  | "Bible numerology has clues about $topicname", | 
| 1051 |  |  |  |  |  |  | "the Voynich manuscript has clues about $topicname", | 
| 1052 |  |  |  |  |  |  | "$topicname $have always been suspicious", | 
| 1053 |  |  |  |  |  |  | "$topicname $have connections to THEM", | 
| 1054 |  |  |  |  |  |  | "nobody really understands $topicname", | 
| 1055 |  |  |  |  |  |  | "all my posts about $topicname keep getting taken down by Tumblr", | 
| 1056 |  |  |  |  |  |  | ); | 
| 1057 |  |  |  |  |  |  | } | 
| 1058 |  |  |  |  |  |  |  | 
| 1059 | 21370 | 100 | 100 |  |  | 70967 | if ( my $p = $redstring->{random_place} // $redstring->{bad_place} ) { | 
| 1060 |  |  |  |  |  |  | my $bad = $redstring->{antagonist}{name} | 
| 1061 |  |  |  |  |  |  | // $redstring->{protagonist}{name} | 
| 1062 |  |  |  |  |  |  | // $redstring->{shady_group}{name} | 
| 1063 | 6336 |  | 66 |  |  | 41521 | // shady_group( $redstring ); | 
|  |  |  | 66 |  |  |  |  | 
|  |  |  | 66 |  |  |  |  | 
| 1064 | 6336 |  |  |  |  | 25017 | push @x, ( | 
| 1065 |  |  |  |  |  |  | "the Wikipedia entry for $p keeps getting edited by $bad", | 
| 1066 |  |  |  |  |  |  | # This has singular/plural problems - how to solve? | 
| 1067 |  |  |  |  |  |  | "$bad has ties to $p", | 
| 1068 |  |  |  |  |  |  | "$p probably isn't a real place anyway", | 
| 1069 |  |  |  |  |  |  | ); | 
| 1070 |  |  |  |  |  |  | } | 
| 1071 |  |  |  |  |  |  |  | 
| 1072 | 21370 |  |  |  |  | 44421 | for my $actor ( qw/ protagonists antagonists / ) { | 
| 1073 | 42740 | 100 |  |  |  | 110609 | next unless $redstring->{$actor}{name}; | 
| 1074 |  |  |  |  |  |  |  | 
| 1075 | 27618 |  | 66 |  |  | 77138 | my $name   = $redstring->{$actor}{shortname} // $redstring->{$actor}{name}; | 
| 1076 | 27618 | 100 |  |  |  | 61731 | my $have   = splural( $redstring->{$actor} ) ? 'have' : 'has'; | 
| 1077 | 27618 | 100 |  |  |  | 56215 | my $are    = splural( $redstring->{$actor} ) ? 'are'  : 'is'; | 
| 1078 | 27618 | 100 |  |  |  | 55833 | my $s      = splural( $redstring->{$actor} ) ? ''     : 's'; | 
| 1079 | 27618 | 100 |  |  |  | 54714 | my $ies    = splural( $redstring->{$actor} ) ? 'y'    : 'ies'; | 
| 1080 |  |  |  |  |  |  |  | 
| 1081 | 27618 |  |  |  |  | 105445 | ( my $fbname = $name ) =~ s/^the //i; | 
| 1082 | 27618 |  |  |  |  | 60097 | $fbname = _UCFIRST_ $fbname; | 
| 1083 |  |  |  |  |  |  |  | 
| 1084 | 27618 |  |  |  |  | 58471 | my $lies = lies(); | 
| 1085 |  |  |  |  |  |  |  | 
| 1086 | 27618 |  |  |  |  | 192489 | push @x, ( | 
| 1087 |  |  |  |  |  |  | "$name $have included it in their manifesto", | 
| 1088 |  |  |  |  |  |  | "$name $have been strangely quiet about it", | 
| 1089 |  |  |  |  |  |  | "$name $are always untrustworthy", | 
| 1090 |  |  |  |  |  |  | "$name $are controlling everything", | 
| 1091 |  |  |  |  |  |  | "if you Google for $name there's loads of info", | 
| 1092 |  |  |  |  |  |  | "the '$fbname Truth' Facebook page says so", | 
| 1093 |  |  |  |  |  |  | "the '$fbname Exposed' website says so", | 
| 1094 |  |  |  |  |  |  | "$name even admit$s it", | 
| 1095 |  |  |  |  |  |  | "$name den$ies it but that is $lies", | 
| 1096 |  |  |  |  |  |  | ); | 
| 1097 |  |  |  |  |  |  |  | 
| 1098 | 27618 | 100 | 100 |  |  | 103305 | if ( my $animal = $redstring->{real_animal} // $redstring->{fake_animal} ) { | 
| 1099 | 1778 |  |  |  |  | 5116 | push @x, "$name $have a picture of the $animal on their Wikipedia entry"; | 
| 1100 |  |  |  |  |  |  | } | 
| 1101 |  |  |  |  |  |  |  | 
| 1102 | 27618 | 100 |  |  |  | 57596 | if ( my $place  = $redstring->{random_place} ) { | 
| 1103 | 6002 |  |  |  |  | 15065 | push @x, "$name $have a secret base in $place"; | 
| 1104 |  |  |  |  |  |  | } | 
| 1105 |  |  |  |  |  |  |  | 
| 1106 | 27618 | 100 |  |  |  | 74499 | if ( my $topic = $redstring->{topic} ) { | 
| 1107 | 8674 |  |  |  |  | 16109 | my $topicname = $topic->{name}; | 
| 1108 | 8674 |  |  |  |  | 16191 | push @x, ( | 
| 1109 | 8674 | 100 |  |  |  | 59463 | "$name ${( $redstring->{$actor}{plural} ? \'keep' : \'keeps' )} editing the Wikipedia page about $topicname", | 
| 1110 |  |  |  |  |  |  | "$name $are known to have ties to $topicname", | 
| 1111 |  |  |  |  |  |  | "'$name' is almost an anagram of '$topicname'", | 
| 1112 |  |  |  |  |  |  | "'$name' is the Hebrew word for '$topicname'", | 
| 1113 |  |  |  |  |  |  | "'$name' is an anagram of '$topicname' (if you spell it wrong)", | 
| 1114 |  |  |  |  |  |  | ); | 
| 1115 |  |  |  |  |  |  | } | 
| 1116 |  |  |  |  |  |  | } | 
| 1117 |  |  |  |  |  |  |  | 
| 1118 | 21370 |  |  |  |  | 47192 | my @evidences = List::Util::uniq( map { _RANDOM_(@x) } 1..2 ); | 
|  | 42740 |  |  |  |  | 92386 |  | 
| 1119 |  |  |  |  |  |  |  | 
| 1120 | 21370 | 100 |  |  |  | 66422 | if ( @evidences == 2 ) { | 
|  |  | 50 |  |  |  |  |  | 
| 1121 | 20667 |  |  |  |  | 46136 | my ( $e1, $e2 ) = @evidences; | 
| 1122 |  |  |  |  |  |  | return _RANDOM_( | 
| 1123 |  |  |  |  |  |  | "You can tell this is the truth because $e1, and $e2.", | 
| 1124 |  |  |  |  |  |  | ( ( "I know because $e1, and $e2." ) x 6 ), | 
| 1125 |  |  |  |  |  |  | "You just need to connect the dots. " . _UCFIRST_( "$e1 and $e2." ), | 
| 1126 |  |  |  |  |  |  | "I used to be asleep like you, but then I saw the clues. " . _UCFIRST_( "$e1, and $e2. WAKE UP!" ), | 
| 1127 |  |  |  |  |  |  | "THEY HIDE THE TRUTH IN PLAIN SIGHT. " . _UCFIRST_( "$e1, and $e2." ), | 
| 1128 |  |  |  |  |  |  | "You won't believe how deep the rabbit hole goes. " . _UCFIRST_( "$e1, and $e2." ), | 
| 1129 | 1346 |  |  | 1346 |  | 4996 | sub { _UCFIRST_("$e1, and $e2. " . fatuous()) }, | 
| 1130 |  |  |  |  |  |  | sub { | 
| 1131 | 1375 |  |  | 1375 |  | 3979 | my $e3 = uc _RANDOM_(@x); | 
| 1132 | 1375 |  |  |  |  | 3630 | my $fatuous = fatuous(); | 
| 1133 | 1375 |  |  |  |  | 6268 | _UCFIRST_( "$e1, and $e2. $fatuous $e3!" ); | 
| 1134 |  |  |  |  |  |  | }, | 
| 1135 |  |  |  |  |  |  | sub { | 
| 1136 | 1326 |  |  | 1326 |  | 3840 | my $e3 = uc _RANDOM_(@x); | 
| 1137 | 1326 |  |  |  |  | 6103 | _UCFIRST_( "$e1, and $e2. They leave clues to mock us! $e3! MOCK! MOCK!" ); | 
| 1138 |  |  |  |  |  |  | }, | 
| 1139 |  |  |  |  |  |  | sub { | 
| 1140 | 1369 |  |  | 1369 |  | 2888 | my $t = {}; | 
| 1141 | 1369 |  |  |  |  | 4243 | theory($t); | 
| 1142 | 1369 |  |  |  |  | 7014 | _UCFIRST_( "$e1, and $e2. Isn't it obvious? Also: " . $t->{base_theory} ); | 
| 1143 |  |  |  |  |  |  | }, | 
| 1144 | 20667 |  |  |  |  | 98317 | ); | 
| 1145 |  |  |  |  |  |  | } | 
| 1146 |  |  |  |  |  |  | elsif ( @evidences == 1 ) { | 
| 1147 | 703 |  |  |  |  | 1772 | my ( $e1 ) = @evidences; | 
| 1148 | 703 |  |  |  |  | 2838 | return _RANDOM_( | 
| 1149 |  |  |  |  |  |  | "You can tell the truth because $e1.", | 
| 1150 |  |  |  |  |  |  | _UCFIRST_("$e1 and that reveals the truth."), | 
| 1151 |  |  |  |  |  |  | "The truth is obvious if you're not a sheep, $e1.", | 
| 1152 |  |  |  |  |  |  | ); | 
| 1153 |  |  |  |  |  |  | } | 
| 1154 |  |  |  |  |  |  |  | 
| 1155 | 0 |  |  |  |  | 0 | return _RANDOM_( | 
| 1156 |  |  |  |  |  |  | 'The truth is plain to see.', | 
| 1157 |  |  |  |  |  |  | "You're blind if you can't see the truth.", | 
| 1158 |  |  |  |  |  |  | "The truth is obvious if you're not a sheep.", | 
| 1159 |  |  |  |  |  |  | ); | 
| 1160 |  |  |  |  |  |  | } | 
| 1161 |  |  |  |  |  |  |  | 
| 1162 |  |  |  |  |  |  | sub hidden_truth { | 
| 1163 | 9544 |  | 100 | 9544 | 0 | 23489 | my $redstring = shift // {}; | 
| 1164 |  |  |  |  |  |  |  | 
| 1165 |  |  |  |  |  |  | my $truth = _RANDOM_( | 
| 1166 |  |  |  |  |  |  | sub { # wrap classics in a sub so they don't come up too often | 
| 1167 |  |  |  |  |  |  | _RANDOM_( | 
| 1168 |  |  |  |  |  |  | sub { | 
| 1169 | 12 |  |  |  |  | 55 | $redstring->{topic} = { name => 'geology', plural => 0 }; | 
| 1170 | 12 |  |  |  |  | 35 | 'the Earth is flat'; | 
| 1171 |  |  |  |  |  |  | }, | 
| 1172 |  |  |  |  |  |  | sub { | 
| 1173 | 10 |  |  |  |  | 60 | $redstring->{topic} = { name => 'Inner Space (1987)', plural => 0 }; | 
| 1174 | 10 |  |  |  |  | 29 | 'space is fake'; | 
| 1175 |  |  |  |  |  |  | }, | 
| 1176 |  |  |  |  |  |  | sub { | 
| 1177 | 4 |  |  |  |  | 18 | $redstring->{topic} = { name => 'theology', plural => 0 }; | 
| 1178 | 4 |  |  |  |  | 11 | 'God is real'; | 
| 1179 |  |  |  |  |  |  | }, | 
| 1180 |  |  |  |  |  |  | sub { | 
| 1181 | 5 |  |  |  |  | 24 | $redstring->{topic} = { name => 'Buddhism', plural => 0 }; | 
| 1182 | 5 |  |  |  |  | 12 | 'reincarnation is true'; | 
| 1183 |  |  |  |  |  |  | }, | 
| 1184 |  |  |  |  |  |  | sub { | 
| 1185 | 6 |  |  |  |  | 26 | $redstring->{topic} = { name => 'germs', plural => 1 }; | 
| 1186 | 6 |  |  |  |  | 15 | "germs aren't real"; | 
| 1187 |  |  |  |  |  |  | }, | 
| 1188 |  |  |  |  |  |  | sub { | 
| 1189 | 9 |  |  |  |  | 42 | $redstring->{topic} = { name => 'viruses', plural => 1 }; | 
| 1190 | 9 |  |  |  |  | 25 | "viruses aren't real"; | 
| 1191 |  |  |  |  |  |  | }, | 
| 1192 |  |  |  |  |  |  | sub { | 
| 1193 | 12 |  |  |  |  | 59 | $redstring->{topic} = { name => 'MKUltra', plural => 0 }; | 
| 1194 | 12 |  |  |  |  | 33 | "MKUltra is still happening"; | 
| 1195 |  |  |  |  |  |  | }, | 
| 1196 |  |  |  |  |  |  | sub { | 
| 1197 | 4 |  |  |  |  | 16 | shady_group( $redstring ); | 
| 1198 | 4 |  | 33 |  |  | 30 | $redstring->{antagonist} //= $redstring->{shady_group}; | 
| 1199 | 4 |  |  |  |  | 15 | $redstring->{topic} = { name => 'avalanches', plural => 1 }; | 
| 1200 | 4 |  |  |  |  | 17 | $redstring->{antagonist}{name} . " was responsible for the Dyatlov Pass incident"; | 
| 1201 |  |  |  |  |  |  | }, | 
| 1202 |  |  |  |  |  |  | sub { | 
| 1203 | 14 |  |  |  |  | 72 | $redstring->{topic} = { name => 'Jeffrey Epstein', plural => 0 }; | 
| 1204 | 14 |  |  |  |  | 38 | "Epstein didn't kill himself"; | 
| 1205 |  |  |  |  |  |  | }, | 
| 1206 |  |  |  |  |  |  | sub { | 
| 1207 | 13 |  |  |  |  | 58 | $redstring->{topic} = { name => "Sgt Pepper's Lonely Hearts Club Band", plural => 0 }; | 
| 1208 | 13 |  |  |  |  | 35 | "Paul McCartney died in a car crash in 1966"; | 
| 1209 |  |  |  |  |  |  | }, | 
| 1210 |  |  |  |  |  |  | sub { | 
| 1211 | 5 |  |  |  |  | 28 | $redstring->{topic} = { name => 'Stonehenge', plural => 0 }; | 
| 1212 | 5 |  | 100 |  |  | 28 | $redstring->{random_place} //= 'Somerset'; | 
| 1213 | 5 |  |  |  |  | 13 | "the aliens built Stonehenge"; | 
| 1214 |  |  |  |  |  |  | }, | 
| 1215 |  |  |  |  |  |  | sub { | 
| 1216 | 13 |  |  |  |  | 66 | $redstring->{topic} = { name => 'the Sphinx', plural => 0 }; | 
| 1217 | 13 |  | 100 |  |  | 72 | $redstring->{random_place} //= 'Egypt'; | 
| 1218 | 13 |  |  |  |  | 31 | "the aliens built the Pyramids"; | 
| 1219 |  |  |  |  |  |  | }, | 
| 1220 |  |  |  |  |  |  | sub { | 
| 1221 | 8 |  |  |  |  | 47 | $redstring->{topic} = { name => 'Loch Ness', plural => 0 }; | 
| 1222 | 8 |  | 100 |  |  | 43 | $redstring->{random_place} //= 'Scotland'; | 
| 1223 | 8 |  |  |  |  | 23 | "the Loch Ness monster is real"; | 
| 1224 |  |  |  |  |  |  | }, | 
| 1225 |  |  |  |  |  |  | sub { | 
| 1226 | 5 |  |  |  |  | 23 | $redstring->{topic} = { name => 'grain farming', plural => 0 }; | 
| 1227 | 5 |  | 100 |  |  | 28 | $redstring->{random_place} //= 'Alabama'; | 
| 1228 | 5 |  |  |  |  | 13 | "crop circles are caused by aliens"; | 
| 1229 |  |  |  |  |  |  | }, | 
| 1230 |  |  |  |  |  |  | sub { | 
| 1231 | 2 |  |  |  |  | 8 | $redstring->{topic} = { name => 'kidnapping', plural => 0 }; | 
| 1232 | 2 |  | 50 |  |  | 14 | $redstring->{random_place} //= 'Alabama'; | 
| 1233 | 2 |  |  |  |  | 6 | "aliens abduct people for probing"; | 
| 1234 |  |  |  |  |  |  | }, | 
| 1235 |  |  |  |  |  |  | sub { | 
| 1236 | 12 |  |  |  |  | 64 | $redstring->{topic} = { name => 'CERN', plural => 0 }; | 
| 1237 | 12 |  | 100 |  |  | 69 | $redstring->{random_place} //= 'Switzerland'; | 
| 1238 | 12 |  |  |  |  | 29 | "the large hadron collider will destroy the planet"; | 
| 1239 |  |  |  |  |  |  | }, | 
| 1240 |  |  |  |  |  |  | sub { | 
| 1241 | 5 |  |  |  |  | 46 | $redstring->{topic} = { name => 'steal beams', plural => 1 }; | 
| 1242 | 5 |  | 100 |  |  | 32 | $redstring->{random_place} //= 'New York'; | 
| 1243 | 5 |  |  |  |  | 13 | "9/11 was an inside job"; | 
| 1244 |  |  |  |  |  |  | }, | 
| 1245 |  |  |  |  |  |  | sub { | 
| 1246 | 11 |  |  |  |  | 36 | my $badevent = _RANDOM_( | 
| 1247 |  |  |  |  |  |  | 'Columbine', | 
| 1248 |  |  |  |  |  |  | 'Sandy Hook', | 
| 1249 |  |  |  |  |  |  | 'the Boston Marathon Bombing', | 
| 1250 |  |  |  |  |  |  | 'Malaysia Airlines Flight 370', | 
| 1251 |  |  |  |  |  |  | 'the JFK assassination', | 
| 1252 |  |  |  |  |  |  | 'Project Monarch', | 
| 1253 |  |  |  |  |  |  | 'the 1993 WTC bombing', | 
| 1254 |  |  |  |  |  |  | 'the 2017 hurricane season (Project Geostorm)', | 
| 1255 |  |  |  |  |  |  | 'Deepwater Horizon', | 
| 1256 |  |  |  |  |  |  | ); | 
| 1257 | 11 |  |  |  |  | 49 | $redstring->{topic} = { name => 'false flag operations', plural => 1 }; | 
| 1258 | 11 |  |  |  |  | 52 | "$badevent was orchestrated by the US government"; | 
| 1259 |  |  |  |  |  |  | }, | 
| 1260 |  |  |  |  |  |  | sub { | 
| 1261 | 7 |  |  |  |  | 34 | $redstring->{topic} = { name => 'glaciers', plural => 1 }; | 
| 1262 | 7 |  | 50 |  |  | 41 | $redstring->{random_place} //= 'Greenland'; | 
| 1263 | 7 |  |  |  |  | 18 | "global warming is a hoax"; | 
| 1264 |  |  |  |  |  |  | }, | 
| 1265 |  |  |  |  |  |  | sub { | 
| 1266 | 2 |  |  |  |  | 10 | $redstring->{topic} = { name => 'geology', plural => 0 }; | 
| 1267 | 2 |  |  |  |  | 6 | 'the US government knows exactly when Yellowstone will erupt'; | 
| 1268 |  |  |  |  |  |  | }, | 
| 1269 |  |  |  |  |  |  | sub { | 
| 1270 | 8 |  |  |  |  | 37 | $redstring->{topic} = { name => 'cloud seeding', plural => 0 }; | 
| 1271 | 8 |  |  |  |  | 22 | "the government controls the weather"; | 
| 1272 |  |  |  |  |  |  | }, | 
| 1273 |  |  |  |  |  |  | sub { | 
| 1274 | 14 |  |  |  |  | 68 | $redstring->{topic} = { name => 'Snapple', plural => 0 }; | 
| 1275 | 14 |  |  |  |  | 43 | "Snapple is owned by the KKK"; | 
| 1276 |  |  |  |  |  |  | }, | 
| 1277 |  |  |  |  |  |  | sub { | 
| 1278 | 11 |  |  |  |  | 47 | my $disease = disease( $redstring ); | 
| 1279 | 11 |  |  |  |  | 57 | $redstring->{topic} = { name => 'biological warfare', plural => 0 }; | 
| 1280 | 11 |  |  |  |  | 51 | "$disease was developed as a bioweapon"; | 
| 1281 |  |  |  |  |  |  | }, | 
| 1282 |  |  |  |  |  |  | sub { | 
| 1283 | 10 |  |  |  |  | 66 | $redstring->{topic} = { name => 'gas chambers', plural => 1 }; | 
| 1284 | 10 |  | 50 |  |  | 76 | $redstring->{random_place} //= 'Germany'; | 
| 1285 | 10 |  |  |  |  | 29 | "the holocaust never happened"; | 
| 1286 |  |  |  |  |  |  | }, | 
| 1287 |  |  |  |  |  |  | sub { | 
| 1288 | 5 |  |  |  |  | 20 | $redstring->{topic} = { name => 'fascism', plural => 0 }; | 
| 1289 | 5 |  | 100 |  |  | 29 | $redstring->{random_place} //= 'Australia'; | 
| 1290 | 5 |  |  |  |  | 15 | "Antifa International have been starting wildfires"; | 
| 1291 |  |  |  |  |  |  | }, | 
| 1292 |  |  |  |  |  |  | sub { | 
| 1293 | 7 |  |  |  |  | 51 | $redstring->{topic} = { name => 'phantom time', plural => 0 }; | 
| 1294 | 7 |  |  |  |  | 22 | "the years between 614 and 911 never happened"; | 
| 1295 |  |  |  |  |  |  | }, | 
| 1296 |  |  |  |  |  |  | sub { | 
| 1297 | 11 |  |  |  |  | 59 | $redstring->{topic} = { name => 'Nazis', plural => 1 }; | 
| 1298 | 11 |  |  |  |  | 33 | "there is a Nazi base on the moon"; | 
| 1299 |  |  |  |  |  |  | }, | 
| 1300 |  |  |  |  |  |  | sub { | 
| 1301 | 8 |  |  |  |  | 50 | $redstring->{topic} = { name => 'Nazis', plural => 1 }; | 
| 1302 | 8 |  |  |  |  | 25 | "there is a Nazi base in Antarctica"; | 
| 1303 |  |  |  |  |  |  | }, | 
| 1304 |  |  |  |  |  |  | sub { | 
| 1305 | 9 |  |  |  |  | 86 | $redstring->{topic} = { name => 'wrestling', plural => 0 }; | 
| 1306 | 9 |  |  |  |  | 24 | "all professional sports are scripted"; | 
| 1307 |  |  |  |  |  |  | }, | 
| 1308 |  |  |  |  |  |  | sub { | 
| 1309 | 7 |  |  |  |  | 24 | my $website = website( $redstring ); | 
| 1310 |  |  |  |  |  |  | my $spies   = _RANDOM_( | 
| 1311 |  |  |  |  |  |  | 'spies', | 
| 1312 |  |  |  |  |  |  | 'the CIA', | 
| 1313 |  |  |  |  |  |  | 'GCHQ', | 
| 1314 |  |  |  |  |  |  | 'the NSA', | 
| 1315 |  |  |  |  |  |  | 'the Kremlin', | 
| 1316 |  |  |  |  |  |  | 'Ipsos MORI', | 
| 1317 |  |  |  |  |  |  | sub { | 
| 1318 | 1 |  |  |  |  | 3 | my $g = shady_group( $redstring ); | 
| 1319 | 1 | 50 |  |  |  | 6 | $redstring->{shady_group}{plural} ? $g : "spies from $g"; | 
| 1320 |  |  |  |  |  |  | } | 
| 1321 | 7 |  |  |  |  | 44 | ); | 
| 1322 | 7 |  |  |  |  | 47 | $redstring->{topic} = { name => 'biscuits', plural => 1 }; | 
| 1323 | 7 |  |  |  |  | 31 | "$spies are using cookies to see everything you look at on $website"; | 
| 1324 |  |  |  |  |  |  | }, | 
| 1325 | 249 |  |  | 249 |  | 10161 | ); | 
| 1326 |  |  |  |  |  |  | }, | 
| 1327 |  |  |  |  |  |  | sub { | 
| 1328 | 246 |  |  | 246 |  | 1174 | $redstring->{topic} = { name => 'the Mandela effect', plural => 0 }; | 
| 1329 | 246 |  |  |  |  | 711 | _RANDOM_( | 
| 1330 |  |  |  |  |  |  | 'Looney Tunes used to be Looney Toons', | 
| 1331 |  |  |  |  |  |  | 'the Berenstain Bears used to be spelled Berenstein', | 
| 1332 |  |  |  |  |  |  | 'Curious George used to have a tail', | 
| 1333 |  |  |  |  |  |  | 'Febreze used to have another E in it', | 
| 1334 |  |  |  |  |  |  | 'Froot Loops used to be Fruit Loops', | 
| 1335 |  |  |  |  |  |  | 'the Monopoly man is supposed to have a monocle', | 
| 1336 |  |  |  |  |  |  | 'Kitkat used to have a hyphen', | 
| 1337 |  |  |  |  |  |  | 'the Mona Lisa used to smile more', | 
| 1338 |  |  |  |  |  |  | 'C-3PO never used to have a silver leg', | 
| 1339 |  |  |  |  |  |  | 'Darth Vader said Luke I Am Your Father', | 
| 1340 |  |  |  |  |  |  | 'We Are the Champions used to say "of the world" at the end', | 
| 1341 |  |  |  |  |  |  | 'the USA used to have 52 states', | 
| 1342 |  |  |  |  |  |  | ); | 
| 1343 |  |  |  |  |  |  | }, | 
| 1344 |  |  |  |  |  |  | sub { | 
| 1345 | 242 |  |  | 242 |  | 1039 | $redstring->{topic} = { name => 'the crusades', plural => 1 }; | 
| 1346 | 242 |  |  |  |  | 608 | my $subst = _RANDOM_( | 
| 1347 |  |  |  |  |  |  | 'TikTok', | 
| 1348 |  |  |  |  |  |  | 'Twitter', | 
| 1349 |  |  |  |  |  |  | 'the world wars', | 
| 1350 |  |  |  |  |  |  | 'intergalactic warfare', | 
| 1351 |  |  |  |  |  |  | 'the white genocide', | 
| 1352 |  |  |  |  |  |  | 'colonization', | 
| 1353 |  |  |  |  |  |  | 'robot wars', | 
| 1354 |  |  |  |  |  |  | ); | 
| 1355 | 242 |  |  |  |  | 807 | "the crusades never stopped, they were just replaced with $subst"; | 
| 1356 |  |  |  |  |  |  | }, | 
| 1357 |  |  |  |  |  |  | sub { | 
| 1358 | 230 |  |  | 230 |  | 717 | my $cryptids = cryptids( $redstring ); | 
| 1359 | 230 |  |  |  |  | 742 | "$cryptids are real"; | 
| 1360 |  |  |  |  |  |  | }, | 
| 1361 |  |  |  |  |  |  | sub { | 
| 1362 | 274 |  |  | 274 |  | 896 | my $cause   = disease_cause( $redstring ); | 
| 1363 | 274 |  |  |  |  | 758 | my $disease = disease( $redstring ); | 
| 1364 | 274 |  |  |  |  | 986 | $redstring->{topic} = { name => 'western medicine', plural => 0 }; | 
| 1365 | 274 |  |  |  |  | 893 | "$cause causes $disease"; | 
| 1366 |  |  |  |  |  |  | }, | 
| 1367 |  |  |  |  |  |  | sub { | 
| 1368 | 286 |  |  | 286 |  | 947 | my $cryptids = cryptids( $redstring ); | 
| 1369 | 286 |  |  |  |  | 668 | my $group    = shady_group( $redstring ); | 
| 1370 | 286 |  |  |  |  | 1201 | "$group are $cryptids"; | 
| 1371 |  |  |  |  |  |  | }, | 
| 1372 |  |  |  |  |  |  | sub { | 
| 1373 | 252 |  |  | 252 |  | 855 | my $objects = objects( $redstring ); | 
| 1374 | 252 |  |  |  |  | 822 | "$objects are sentient"; | 
| 1375 |  |  |  |  |  |  | }, | 
| 1376 |  |  |  |  |  |  | sub { | 
| 1377 | 266 |  |  | 266 |  | 759 | my $celebrity = celebrity( $redstring ); | 
| 1378 | 266 |  |  |  |  | 798 | my $long_time = a_long_time( $redstring ); | 
| 1379 | 266 |  |  |  |  | 1140 | "$celebrity has been drinking the blood of infants $long_time to stay looking young"; | 
| 1380 |  |  |  |  |  |  | }, | 
| 1381 |  |  |  |  |  |  | sub { | 
| 1382 | 250 |  |  | 250 |  | 751 | my $celebrity = celebrity( $redstring ); | 
| 1383 | 250 |  |  |  |  | 873 | $redstring->{topic} = { name => 'cross-dressing', plural => 0 }; | 
| 1384 | 250 |  |  |  |  | 733 | $redstring->{celebrity}{female} = ! $redstring->{celebrity}{female}; | 
| 1385 | 250 |  |  |  |  | 794 | "$celebrity is transsexual"; | 
| 1386 |  |  |  |  |  |  | }, | 
| 1387 |  |  |  |  |  |  | sub { | 
| 1388 | 256 |  |  | 256 |  | 780 | my $celebrity = celebrity( $redstring ); | 
| 1389 |  |  |  |  |  |  | my $consequence = _RANDOM_( | 
| 1390 |  |  |  |  |  |  | sub { | 
| 1391 | 86 |  |  |  |  | 303 | $redstring->{topic} = { name => 'robotics', plural => 0 }; | 
| 1392 | 86 |  |  |  |  | 214 | 'replaced by a robot'; | 
| 1393 |  |  |  |  |  |  | }, | 
| 1394 |  |  |  |  |  |  | sub { | 
| 1395 | 70 |  |  |  |  | 284 | $redstring->{topic} = { name => 'impersonation', plural => 0 }; | 
| 1396 | 70 |  |  |  |  | 167 | 'replaced by a look-alike'; | 
| 1397 |  |  |  |  |  |  | }, | 
| 1398 |  |  |  |  |  |  | sub { | 
| 1399 | 100 |  |  |  |  | 455 | $redstring->{topic} = { name => 'blackmail', plural => 0 }; | 
| 1400 | 100 |  |  |  |  | 231 | 'blackmailed into silence'; | 
| 1401 |  |  |  |  |  |  | }, | 
| 1402 | 256 |  |  |  |  | 1684 | ); | 
| 1403 | 256 |  |  |  |  | 1804 | "$celebrity has been $consequence"; | 
| 1404 |  |  |  |  |  |  | }, | 
| 1405 |  |  |  |  |  |  | sub { | 
| 1406 | 247 |  |  | 247 |  | 905 | my $objects = objects( $redstring ); | 
| 1407 | 247 |  |  |  |  | 636 | my $group   = shady_group( $redstring ); | 
| 1408 | 247 |  |  |  |  | 1091 | "$objects were invented by $group"; | 
| 1409 |  |  |  |  |  |  | }, | 
| 1410 |  |  |  |  |  |  | sub { | 
| 1411 | 231 |  |  | 231 |  | 731 | my $resource = precious_resource( $redstring ); | 
| 1412 | 231 |  |  |  |  | 830 | "$resource is a source of free energy"; | 
| 1413 |  |  |  |  |  |  | }, | 
| 1414 |  |  |  |  |  |  | sub { | 
| 1415 | 256 |  |  | 256 |  | 784 | my $mythplace  = myth_place( $redstring ); | 
| 1416 | 256 |  |  |  |  | 605 | my $place      = random_place( $redstring ); | 
| 1417 | 256 |  |  |  |  | 950 | "$mythplace is in $place"; | 
| 1418 |  |  |  |  |  |  | }, | 
| 1419 |  |  |  |  |  |  | sub { | 
| 1420 | 218 |  |  | 218 |  | 635 | my $victim     = victim( $redstring ); | 
| 1421 | 218 |  |  |  |  | 649 | my $mythplace  = myth_place( $redstring ); | 
| 1422 | 218 |  |  |  |  | 950 | "$victim discovered $mythplace and was killed to keep it a secret"; | 
| 1423 |  |  |  |  |  |  | }, | 
| 1424 |  |  |  |  |  |  | sub { | 
| 1425 | 257 |  |  | 257 |  | 852 | my $resource = precious_resource( $redstring ); | 
| 1426 | 257 |  |  |  |  | 1002 | my $disease  = disease( $redstring ); | 
| 1427 | 257 |  |  |  |  | 981 | "$resource can cure $disease"; | 
| 1428 |  |  |  |  |  |  | }, | 
| 1429 |  |  |  |  |  |  | sub { | 
| 1430 | 261 |  |  | 261 |  | 850 | my $animal = real_animal( $redstring ); | 
| 1431 | 261 |  |  |  |  | 704 | my $group  = shady_group( $redstring ); | 
| 1432 | 261 |  |  |  |  | 1095 | "the $animal is a fake animal, engineered by $group"; | 
| 1433 |  |  |  |  |  |  | }, | 
| 1434 |  |  |  |  |  |  | sub { | 
| 1435 | 268 |  |  | 268 |  | 925 | my $chemicals = chemicals( $redstring ); | 
| 1436 | 268 |  |  |  |  | 707 | my $animal    = real_animal( $redstring ); | 
| 1437 | 268 | 100 |  |  |  | 807 | my $s         = ($animal ne 'fish') ? 's' : ''; | 
| 1438 | 268 |  |  |  |  | 843 | my $attribute = attribute( $redstring ); | 
| 1439 | 268 |  |  |  |  | 1135 | "the $chemicals in the water is turning the $animal$s $attribute"; | 
| 1440 |  |  |  |  |  |  | }, | 
| 1441 |  |  |  |  |  |  | sub { | 
| 1442 | 266 |  |  | 266 |  | 985 | my $chemicals = chemicals( $redstring ); | 
| 1443 | 266 |  |  |  |  | 824 | my $food      = food( $redstring ); | 
| 1444 | 266 |  |  |  |  | 915 | "$food are full of $chemicals"; | 
| 1445 |  |  |  |  |  |  | }, | 
| 1446 |  |  |  |  |  |  | sub { | 
| 1447 | 270 |  |  | 270 |  | 782 | my $animal = real_animal( $redstring ); | 
| 1448 | 270 |  |  |  |  | 959 | "the $animal originally comes from another planet"; | 
| 1449 |  |  |  |  |  |  | }, | 
| 1450 |  |  |  |  |  |  | sub { | 
| 1451 | 276 |  |  | 276 |  | 829 | my $animal = real_animal( $redstring ); | 
| 1452 | 276 |  |  |  |  | 682 | my $group  = shady_group( $redstring ); | 
| 1453 | 276 |  |  |  |  | 768 | my $stupid = _RANDOM_( | 
| 1454 |  |  |  |  |  |  | 'people in costumes', | 
| 1455 |  |  |  |  |  |  | 'animatronics', | 
| 1456 |  |  |  |  |  |  | 'CGI', | 
| 1457 |  |  |  |  |  |  | 'highly coordinated swarms of bees', | 
| 1458 |  |  |  |  |  |  | 'holograms', | 
| 1459 |  |  |  |  |  |  | 'a mirage', | 
| 1460 |  |  |  |  |  |  | ); | 
| 1461 | 276 |  |  |  |  | 1121 | "the $animal is a fake animal and is just $stupid"; | 
| 1462 |  |  |  |  |  |  | }, | 
| 1463 |  |  |  |  |  |  | sub { | 
| 1464 | 276 |  |  | 276 |  | 725 | my $animal = fake_animal( $redstring ); | 
| 1465 | 276 |  |  |  |  | 999 | "the $animal is a real animal"; | 
| 1466 |  |  |  |  |  |  | }, | 
| 1467 |  |  |  |  |  |  | sub { | 
| 1468 | 243 |  |  | 243 |  | 700 | my $time = future_time( $redstring ); | 
| 1469 | 243 |  |  |  |  | 869 | "the world will end $time"; | 
| 1470 |  |  |  |  |  |  | }, | 
| 1471 |  |  |  |  |  |  | sub { | 
| 1472 | 238 |  |  | 238 |  | 827 | my $time = future_time( $redstring ); | 
| 1473 | 238 |  |  |  |  | 777 | $redstring->{topic} = { name => 'comets', plural => 1 }; | 
| 1474 | 238 |  |  |  |  | 832 | "the comet will hit us $time"; | 
| 1475 |  |  |  |  |  |  | }, | 
| 1476 |  |  |  |  |  |  | sub { | 
| 1477 | 248 |  |  | 248 |  | 633 | my $place = random_place( $redstring ); | 
| 1478 | 248 |  |  |  |  | 854 | $redstring->{topic} = { name => 'flooding', plural => 1 }; | 
| 1479 | 248 |  |  |  |  | 789 | "$place was destroyed by floods"; | 
| 1480 |  |  |  |  |  |  | }, | 
| 1481 |  |  |  |  |  |  | sub { | 
| 1482 | 235 |  |  | 235 |  | 695 | my $place = random_place( $redstring ); | 
| 1483 | 235 |  | 66 |  |  | 1026 | my $group = $redstring->{shady_group}{name} // shady_group( $redstring ); | 
| 1484 | 235 |  |  |  |  | 853 | $redstring->{topic} = { name => 'coup d\'etats', plural => 1 }; | 
| 1485 | 235 |  |  |  |  | 861 | "$place is ruled by $group"; | 
| 1486 |  |  |  |  |  |  | }, | 
| 1487 |  |  |  |  |  |  | sub { | 
| 1488 | 237 |  |  | 237 |  | 795 | my $time = future_time( $redstring ); | 
| 1489 | 237 |  |  |  |  | 850 | $redstring->{topic} = { name => 'zombies', plural => 1 }; | 
| 1490 | 237 |  |  |  |  | 788 | "the zombie apocalypse will start $time"; | 
| 1491 |  |  |  |  |  |  | }, | 
| 1492 |  |  |  |  |  |  | sub { | 
| 1493 | 253 |  |  | 253 |  | 910 | my $time = future_time( $redstring ); | 
| 1494 | 253 |  |  |  |  | 939 | $redstring->{topic} = { name => 'Jesus', plural => 0 }; | 
| 1495 | 253 |  |  |  |  | 954 | "Jesus will return $time"; | 
| 1496 |  |  |  |  |  |  | }, | 
| 1497 |  |  |  |  |  |  | sub { | 
| 1498 | 245 |  |  | 245 |  | 812 | my $mc    = mind_control_device( $redstring ); | 
| 1499 | 245 |  | 66 |  |  | 998 | my $group = $redstring->{shady_group}{name} // shady_group( $redstring ); | 
| 1500 | 245 |  |  |  |  | 1123 | "THEY ($group) are using $mc"; | 
| 1501 |  |  |  |  |  |  | }, | 
| 1502 |  |  |  |  |  |  | sub { | 
| 1503 | 268 |  |  | 268 |  | 748 | my $victim = victim( $redstring ); | 
| 1504 | 268 |  |  |  |  | 766 | my $place  = bad_place( $redstring ); | 
| 1505 | 268 |  |  |  |  | 986 | "$victim is alive and kept at $place"; | 
| 1506 |  |  |  |  |  |  | }, | 
| 1507 |  |  |  |  |  |  | sub { | 
| 1508 | 238 |  |  | 238 |  | 831 | my $artifact = artifact( $redstring ); | 
| 1509 | 238 |  |  |  |  | 595 | my $p = random_place( $redstring ); | 
| 1510 | 238 |  |  |  |  | 832 | "$artifact is in $p"; | 
| 1511 |  |  |  |  |  |  | }, | 
| 1512 |  |  |  |  |  |  | sub { | 
| 1513 | 247 |  |  | 247 |  | 684 | my $victim = victim( $redstring ); | 
| 1514 | 247 |  |  |  |  | 857 | $redstring->{topic} = { name => 'the antichrist', plural => 0 }; | 
| 1515 | 247 |  |  |  |  | 864 | "$victim was the antichrist"; | 
| 1516 |  |  |  |  |  |  | }, | 
| 1517 |  |  |  |  |  |  | sub { | 
| 1518 | 228 |  |  | 228 |  | 692 | my $victim = victim( $redstring ); | 
| 1519 | 228 |  |  |  |  | 786 | "$victim was a time-traveller"; | 
| 1520 |  |  |  |  |  |  | }, | 
| 1521 |  |  |  |  |  |  | sub { | 
| 1522 | 249 |  |  | 249 |  | 765 | my $victim = victim( $redstring ); | 
| 1523 | 249 |  |  |  |  | 855 | "$victim was an inter-dimensional being"; | 
| 1524 |  |  |  |  |  |  | }, | 
| 1525 |  |  |  |  |  |  | sub { | 
| 1526 | 228 |  |  | 228 |  | 792 | my $chem = chemicals( $redstring ); | 
| 1527 | 228 |  |  |  |  | 512 | my $stupid = _RANDOM_( | 
| 1528 |  |  |  |  |  |  | 'water mixed with food-colouring', | 
| 1529 |  |  |  |  |  |  | 'water that they put in the microwave', | 
| 1530 |  |  |  |  |  |  | 'water that came from a goat\'s insides', | 
| 1531 |  |  |  |  |  |  | 'water that they used magic on', | 
| 1532 |  |  |  |  |  |  | 'made of fairy dust', | 
| 1533 |  |  |  |  |  |  | 'melted potato starch', | 
| 1534 |  |  |  |  |  |  | ); | 
| 1535 | 228 |  |  |  |  | 824 | "$chem is really just $stupid"; | 
| 1536 |  |  |  |  |  |  | }, | 
| 1537 |  |  |  |  |  |  | sub { | 
| 1538 | 255 |  |  | 255 |  | 879 | my $fiction = fiction( $redstring ); | 
| 1539 | 255 |  |  |  |  | 854 | "$fiction is historically accurate"; | 
| 1540 |  |  |  |  |  |  | }, | 
| 1541 |  |  |  |  |  |  | sub { | 
| 1542 | 257 |  |  | 257 |  | 729 | my $fiction = fiction( $redstring ); | 
| 1543 | 257 |  | 66 |  |  | 998 | my $victim = $redstring->{victim} // victim( $redstring ); | 
| 1544 | 257 |  |  |  |  | 971 | "$fiction was really written by $victim"; | 
| 1545 |  |  |  |  |  |  | }, | 
| 1546 |  |  |  |  |  |  | sub { | 
| 1547 | 260 |  |  | 260 |  | 797 | my $p = random_place( $redstring ); | 
| 1548 | 260 |  |  |  |  | 631 | my $extinct = _RANDOM_( | 
| 1549 |  |  |  |  |  |  | 'dinosaur', | 
| 1550 |  |  |  |  |  |  | 'mammoth', | 
| 1551 |  |  |  |  |  |  | 'sabre-tooth tiger', | 
| 1552 |  |  |  |  |  |  | 'Tasmanian tiger', | 
| 1553 |  |  |  |  |  |  | 'pterodactyl', | 
| 1554 |  |  |  |  |  |  | ); | 
| 1555 | 260 |  | 66 |  |  | 1391 | $redstring->{real_animal} //= $extinct; | 
| 1556 | 260 |  |  |  |  | 1048 | "the $extinct is not extinct and there is a colony in $p"; | 
| 1557 |  |  |  |  |  |  | }, | 
| 1558 |  |  |  |  |  |  | sub { | 
| 1559 | 238 |  |  | 238 |  | 829 | my $group   = shady_group( $redstring ); | 
| 1560 | 238 |  |  |  |  | 835 | my $invention = invention( $redstring ); | 
| 1561 | 238 | 100 |  |  |  | 792 | my $are = $redstring->{shady_group}{plural} ? 'are' : 'is'; | 
| 1562 | 238 | 100 |  |  |  | 633 | my $was = $redstring->{invention_plural} ? 'were' : 'was'; | 
| 1563 | 238 |  |  |  |  | 519 | my $invented = _RANDOM_( | 
| 1564 |  |  |  |  |  |  | 'invented', | 
| 1565 |  |  |  |  |  |  | 'cooked up', | 
| 1566 |  |  |  |  |  |  | 'fabricated', | 
| 1567 |  |  |  |  |  |  | ); | 
| 1568 | 238 |  |  |  |  | 1455 | _RANDOM_( | 
| 1569 |  |  |  |  |  |  | "$group $are behind $invention", | 
| 1570 |  |  |  |  |  |  | "$group $invented $invention", | 
| 1571 |  |  |  |  |  |  | "$invention $was $invented by $group", | 
| 1572 |  |  |  |  |  |  | ); | 
| 1573 |  |  |  |  |  |  | }, | 
| 1574 | 9544 |  |  |  |  | 354012 | ); | 
| 1575 |  |  |  |  |  |  |  | 
| 1576 | 9544 |  |  |  |  | 372975 | _MERGE_( $redstring, hidden_truth => $truth ); | 
| 1577 | 9544 |  |  |  |  | 24695 | return $truth; | 
| 1578 |  |  |  |  |  |  | } | 
| 1579 |  |  |  |  |  |  |  | 
| 1580 |  |  |  |  |  |  | sub theory { | 
| 1581 | 21370 |  | 100 | 21370 | 0 | 115554 | my $redstring = shift // {}; | 
| 1582 |  |  |  |  |  |  |  | 
| 1583 |  |  |  |  |  |  | my $theory = _RANDOM_( | 
| 1584 |  |  |  |  |  |  | sub { | 
| 1585 | 1521 |  |  | 1521 |  | 4362 | my $group = shady_group( $redstring ); | 
| 1586 | 1521 |  |  |  |  | 3428 | $redstring->{protagonists} = $redstring->{shady_group}; | 
| 1587 | 1521 | 100 |  |  |  | 4214 | my $is = $redstring->{protagonists}->{plural} ? 'are' : 'is'; | 
| 1588 |  |  |  |  |  |  |  | 
| 1589 | 1521 |  |  |  |  | 4137 | my $misinfo = misinformation( $redstring ); | 
| 1590 |  |  |  |  |  |  |  | 
| 1591 | 1521 |  |  |  |  | 3704 | my $truth = hidden_truth( $redstring ); | 
| 1592 |  |  |  |  |  |  |  | 
| 1593 | 1521 |  |  |  |  | 8215 | my $exclaim = _RANDOM_( | 
| 1594 |  |  |  |  |  |  | '', '', '', '', '', '', | 
| 1595 |  |  |  |  |  |  | " But the truth shall not be buried!", | 
| 1596 |  |  |  |  |  |  | " Don't let yourself be deceived!", | 
| 1597 |  |  |  |  |  |  | " Take the red pill!", | 
| 1598 |  |  |  |  |  |  | " Believing $misinfo is taking the blue pill!", | 
| 1599 |  |  |  |  |  |  | " Take the red pill - $truth!", | 
| 1600 |  |  |  |  |  |  | " Believing $misinfo is for blue-pilled sheeple!", | 
| 1601 |  |  |  |  |  |  | " Open your mind!", | 
| 1602 |  |  |  |  |  |  | ); | 
| 1603 |  |  |  |  |  |  |  | 
| 1604 | 1521 |  |  |  |  | 7878 | _UCFIRST_ "$group $is spreading the lie that $misinfo to distract the public from the truth that $truth.$exclaim"; | 
| 1605 |  |  |  |  |  |  | }, | 
| 1606 |  |  |  |  |  |  | sub { | 
| 1607 | 1533 |  |  | 1533 |  | 3747 | my $protagonists = shady_group( $redstring ); | 
| 1608 | 1533 |  |  |  |  | 3407 | $redstring->{protagonists} = $redstring->{shady_group}; | 
| 1609 |  |  |  |  |  |  |  | 
| 1610 | 1533 |  |  |  |  | 3403 | my $antagonists = shady_group( $redstring ); | 
| 1611 | 1533 |  |  |  |  | 3178 | $redstring->{antagonists} = $redstring->{shady_group}; | 
| 1612 |  |  |  |  |  |  |  | 
| 1613 | 1533 |  |  |  |  | 3722 | my $time = a_long_time( $redstring ); | 
| 1614 |  |  |  |  |  |  |  | 
| 1615 |  |  |  |  |  |  | my $war_reason = _RANDOM_( | 
| 1616 |  |  |  |  |  |  | 'Nobody knows why', | 
| 1617 |  |  |  |  |  |  | 'The reasons for this have been long forgotten', | 
| 1618 |  |  |  |  |  |  | sub { | 
| 1619 |  |  |  |  |  |  | my $consequence = _RANDOM_( | 
| 1620 |  |  |  |  |  |  | 'disappears', | 
| 1621 |  |  |  |  |  |  | 'is assassinated', | 
| 1622 |  |  |  |  |  |  | sub { | 
| 1623 | 84 |  |  |  |  | 283 | my $badplace = bad_place( $redstring ); | 
| 1624 | 84 |  |  |  |  | 308 | "is taken away to $badplace"; | 
| 1625 |  |  |  |  |  |  | }, | 
| 1626 |  |  |  |  |  |  | sub { | 
| 1627 | 76 |  |  |  |  | 259 | my $badplace = bad_place( $redstring ); | 
| 1628 | 76 |  |  |  |  | 260 | "has their mind wiped at $badplace"; | 
| 1629 |  |  |  |  |  |  | }, | 
| 1630 | 375 |  |  |  |  | 1896 | 'is given a blue pill', | 
| 1631 |  |  |  |  |  |  | ); | 
| 1632 | 375 |  |  |  |  | 1888 | "Everybody who finds out why $consequence"; | 
| 1633 |  |  |  |  |  |  | }, | 
| 1634 |  |  |  |  |  |  | sub { | 
| 1635 | 388 |  |  |  |  | 1080 | my $truth = hidden_truth(); | 
| 1636 | 388 |  | 66 |  |  | 1804 | my $pro   = $redstring->{protagonists}{shortname} // $protagonists; | 
| 1637 | 388 |  | 66 |  |  | 1347 | my $ant   = $redstring->{antagonists}{shortname} // $antagonists; | 
| 1638 | 388 | 100 |  |  |  | 1126 | my $want = splural( $redstring->{protagonists} ) ? 'want' : 'wants'; | 
| 1639 | 388 |  |  |  |  | 2294 | _UCFIRST_ "$pro $want to expose the truth that $truth and $ant will do whatever they can to stop them"; | 
| 1640 |  |  |  |  |  |  | }, | 
| 1641 | 1533 |  |  |  |  | 8111 | ); | 
| 1642 |  |  |  |  |  |  |  | 
| 1643 | 1533 |  |  |  |  | 13875 | _UCFIRST_ "$protagonists and $antagonists have been in a secret war with each other $time. $war_reason." | 
| 1644 |  |  |  |  |  |  | }, | 
| 1645 |  |  |  |  |  |  | sub { | 
| 1646 | 1482 |  |  | 1482 |  | 3918 | my $group = shady_group( $redstring ); | 
| 1647 | 1482 |  |  |  |  | 3471 | $redstring->{protagonists} = $redstring->{shady_group}; | 
| 1648 |  |  |  |  |  |  |  | 
| 1649 | 1482 |  |  |  |  | 3896 | my $victim = victim( $redstring ); | 
| 1650 |  |  |  |  |  |  |  | 
| 1651 | 1482 |  |  |  |  | 3648 | my $truth = hidden_truth( $redstring ); | 
| 1652 |  |  |  |  |  |  |  | 
| 1653 |  |  |  |  |  |  | my $explanation = _UCFIRST_ _RANDOM_( | 
| 1654 |  |  |  |  |  |  | sub { | 
| 1655 | 262 |  |  |  |  | 670 | my $group2 = shady_group( $redstring ); | 
| 1656 | 262 |  |  |  |  | 604 | $redstring->{antagonists} = $redstring->{shady_group}; | 
| 1657 |  |  |  |  |  |  |  | 
| 1658 | 262 |  |  |  |  | 971 | "$victim learnt the truth from $group2"; | 
| 1659 |  |  |  |  |  |  | }, | 
| 1660 | 1482 |  |  |  |  | 11764 | "Nobody knows how $victim found out", | 
| 1661 |  |  |  |  |  |  | "$victim found out because they were the source of all knowledge", | 
| 1662 |  |  |  |  |  |  | "$victim found out using time travel", | 
| 1663 |  |  |  |  |  |  | "$victim found out using mind reading", | 
| 1664 |  |  |  |  |  |  | "$victim took the red pill", | 
| 1665 |  |  |  |  |  |  | ); | 
| 1666 |  |  |  |  |  |  |  | 
| 1667 | 1482 |  |  |  |  | 9917 | _UCFIRST_ "$group killed $victim to hide the truth that $truth. $explanation."; | 
| 1668 |  |  |  |  |  |  | }, | 
| 1669 |  |  |  |  |  |  | sub { | 
| 1670 | 1539 |  |  | 1539 |  | 4013 | my $truth = hidden_truth( $redstring ); | 
| 1671 |  |  |  |  |  |  |  | 
| 1672 |  |  |  |  |  |  | my $sheeple = _RANDOM_( | 
| 1673 |  |  |  |  |  |  | 'people are sheeple', | 
| 1674 |  |  |  |  |  |  | 'they refuse to see the truth', | 
| 1675 |  |  |  |  |  |  | 'the mass media refuse to report it', | 
| 1676 |  |  |  |  |  |  | sub { | 
| 1677 | 257 |  |  |  |  | 693 | my $group = shady_group( $redstring ); | 
| 1678 | 257 |  |  |  |  | 646 | $redstring->{protagonists} = $redstring->{shady_group}; | 
| 1679 | 257 | 100 |  |  |  | 867 | my $is = $redstring->{protagonists}->{plural} ? 'are' : 'is'; | 
| 1680 | 257 |  |  |  |  | 812 | my $mc = mind_control_device( $redstring ); | 
| 1681 | 257 |  |  |  |  | 1117 | "$group $is controlling people's minds with $mc"; | 
| 1682 |  |  |  |  |  |  | }, | 
| 1683 |  |  |  |  |  |  | sub { | 
| 1684 | 273 |  |  |  |  | 772 | my $group = shady_group( $redstring ); | 
| 1685 | 273 |  |  |  |  | 738 | $redstring->{protagonists} = $redstring->{shady_group}; | 
| 1686 | 273 | 100 |  |  |  | 832 | my $have = $redstring->{protagonists}->{plural} ? 'have' : 'has'; | 
| 1687 | 273 |  |  |  |  | 756 | my $long_time = a_long_time( $redstring ); | 
| 1688 | 273 |  |  |  |  | 1081 | "$group $have been hiding it $long_time"; | 
| 1689 |  |  |  |  |  |  | }, | 
| 1690 |  |  |  |  |  |  | sub { | 
| 1691 | 242 |  |  |  |  | 680 | my $group = shady_group( $redstring ); | 
| 1692 | 242 |  |  |  |  | 644 | $redstring->{protagonists} = $redstring->{shady_group}; | 
| 1693 | 242 | 100 |  |  |  | 829 | my $is = $redstring->{protagonists}->{plural} ? 'are' : 'is'; | 
| 1694 | 242 |  |  |  |  | 667 | my $medium = _RANDOM_( | 
| 1695 |  |  |  |  |  |  | 'the Internet', | 
| 1696 |  |  |  |  |  |  | 'Twitter', | 
| 1697 |  |  |  |  |  |  | 'Facebook', | 
| 1698 |  |  |  |  |  |  | 'Instagram', | 
| 1699 |  |  |  |  |  |  | 'the mass media', | 
| 1700 |  |  |  |  |  |  | 'the TV news', | 
| 1701 |  |  |  |  |  |  | 'Tiktok', | 
| 1702 |  |  |  |  |  |  | 'both Tiktok and Instagram', | 
| 1703 |  |  |  |  |  |  | ); | 
| 1704 | 242 |  |  |  |  | 1025 | "$group $is censoring $medium"; | 
| 1705 |  |  |  |  |  |  | }, | 
| 1706 | 1539 |  |  |  |  | 10650 | ); | 
| 1707 |  |  |  |  |  |  |  | 
| 1708 | 1539 |  |  |  |  | 17645 | _UCFIRST_ _RANDOM_( | 
| 1709 |  |  |  |  |  |  | "$truth but nobody knows because $sheeple.", | 
| 1710 |  |  |  |  |  |  | "$truth but nobody believes me because $sheeple.", | 
| 1711 |  |  |  |  |  |  | "$truth but everybody ignores it because $sheeple.", | 
| 1712 |  |  |  |  |  |  | "$truth but people are blind because $sheeple.", | 
| 1713 |  |  |  |  |  |  | ); | 
| 1714 |  |  |  |  |  |  | }, | 
| 1715 |  |  |  |  |  |  | sub { | 
| 1716 | 1555 |  |  | 1555 |  | 4218 | my $fiction = fiction( $redstring ); | 
| 1717 | 1555 |  |  |  |  | 4032 | my $truth = hidden_truth( $redstring ); | 
| 1718 |  |  |  |  |  |  |  | 
| 1719 |  |  |  |  |  |  | _UCFIRST_ _RANDOM_( | 
| 1720 |  |  |  |  |  |  | "$fiction has a hidden message that $truth.", | 
| 1721 |  |  |  |  |  |  | "$fiction is just an allegory which shows that $truth.", | 
| 1722 |  |  |  |  |  |  | sub { | 
| 1723 | 499 |  |  |  |  | 1341 | my $group = shady_group( $redstring ); | 
| 1724 | 499 |  | 66 |  |  | 2725 | $redstring->{protagonists} //= $redstring->{shady_group}; | 
| 1725 | 499 |  |  |  |  | 2439 | "$fiction was analysed with a computer by $group and it revealed $truth.", | 
| 1726 |  |  |  |  |  |  | }, | 
| 1727 | 1555 |  |  |  |  | 11016 | ); | 
| 1728 |  |  |  |  |  |  | }, | 
| 1729 |  |  |  |  |  |  | sub { | 
| 1730 | 1476 |  |  | 1476 |  | 4055 | my $group = shady_group( $redstring ); | 
| 1731 | 1476 |  |  |  |  | 3307 | $redstring->{protagonists} = $redstring->{shady_group}; | 
| 1732 | 1476 | 100 |  |  |  | 3708 | my $are = $redstring->{protagonists}->{plural} ? 'are' : 'is'; | 
| 1733 |  |  |  |  |  |  |  | 
| 1734 | 1476 |  |  |  |  | 3603 | my $place    = random_place( $redstring ); | 
| 1735 | 1476 |  |  |  |  | 3587 | my $darklord = dark_lord( $redstring ); | 
| 1736 |  |  |  |  |  |  |  | 
| 1737 |  |  |  |  |  |  | my $getting_kids = _RANDOM_( | 
| 1738 |  |  |  |  |  |  | 'abducting orphan children', | 
| 1739 |  |  |  |  |  |  | 'buying child slaves', | 
| 1740 |  |  |  |  |  |  | 'cloning babies', | 
| 1741 |  |  |  |  |  |  | 'growing babies in test tubes', | 
| 1742 |  |  |  |  |  |  | 'breeding babies', | 
| 1743 |  |  |  |  |  |  | 'buying kids from poor families', | 
| 1744 |  |  |  |  |  |  | 'stealing babies', | 
| 1745 |  |  |  |  |  |  | sub { | 
| 1746 | 169 |  | 50 |  |  | 1237 | $redstring->{topic} //= { name => 'adoption', plural => 0 }; | 
| 1747 | 169 |  |  |  |  | 382 | 'adopting babies'; | 
| 1748 |  |  |  |  |  |  | }, | 
| 1749 |  |  |  |  |  |  | sub { | 
| 1750 | 154 |  | 50 |  |  | 1078 | $redstring->{topic} //= { name => 'adoption', plural => 0 }; | 
| 1751 | 154 |  |  |  |  | 355 | 'adopting kids'; | 
| 1752 |  |  |  |  |  |  | }, | 
| 1753 | 1476 |  |  |  |  | 6652 | ); | 
| 1754 |  |  |  |  |  |  |  | 
| 1755 | 1476 |  |  |  |  | 6628 | my $sacrifice = _RANDOM_( | 
| 1756 |  |  |  |  |  |  | 'sacrifice them', | 
| 1757 |  |  |  |  |  |  | 'ritually sacrifice them', | 
| 1758 |  |  |  |  |  |  | 'offer them', | 
| 1759 |  |  |  |  |  |  | 'offer them as a blood sacrifice', | 
| 1760 |  |  |  |  |  |  | 'offer them as brides', | 
| 1761 |  |  |  |  |  |  | 'offer them as sex slaves', | 
| 1762 |  |  |  |  |  |  | 'feed them', | 
| 1763 |  |  |  |  |  |  | 'sell them', | 
| 1764 |  |  |  |  |  |  | 'mass sacrifice them', | 
| 1765 |  |  |  |  |  |  | ); | 
| 1766 |  |  |  |  |  |  |  | 
| 1767 | 1476 |  |  |  |  | 8019 | _UCFIRST_ "$group $are $getting_kids in $place to $sacrifice to $darklord."; | 
| 1768 |  |  |  |  |  |  | }, | 
| 1769 |  |  |  |  |  |  | sub { | 
| 1770 | 1583 |  |  | 1583 |  | 4322 | my $group = shady_group( $redstring ); | 
| 1771 | 1583 |  |  |  |  | 3822 | $redstring->{protagonists} = $redstring->{shady_group}; | 
| 1772 | 1583 | 100 |  |  |  | 4423 | my $have = $redstring->{protagonists}->{plural} ? 'have' : 'has'; | 
| 1773 | 1583 | 100 |  |  |  | 4091 | my $are  = $redstring->{protagonists}->{plural} ? 'are'  : 'is'; | 
| 1774 |  |  |  |  |  |  |  | 
| 1775 | 1583 |  |  |  |  | 4009 | my $resource = precious_resource_with_quantity( $redstring ); | 
| 1776 |  |  |  |  |  |  |  | 
| 1777 | 1583 |  |  |  |  | 10558 | _UCFIRST_ _RANDOM_( | 
| 1778 |  |  |  |  |  |  | "$group $have $resource.", | 
| 1779 |  |  |  |  |  |  | "$group $are trying to obtain $resource.", | 
| 1780 |  |  |  |  |  |  | "$group $are in possession of $resource.", | 
| 1781 |  |  |  |  |  |  | "$group $have taken a delivery of $resource.", | 
| 1782 |  |  |  |  |  |  | ); | 
| 1783 |  |  |  |  |  |  | }, | 
| 1784 |  |  |  |  |  |  | sub { | 
| 1785 | 1508 |  |  | 1508 |  | 4263 | my $group = shady_group( $redstring ); | 
| 1786 | 1508 |  |  |  |  | 3490 | $redstring->{protagonists} = $redstring->{shady_group}; | 
| 1787 | 1508 | 100 |  |  |  | 4009 | my $are  = $redstring->{protagonists}->{plural} ? 'are'  : 'is'; | 
| 1788 |  |  |  |  |  |  |  | 
| 1789 | 1508 |  |  |  |  | 3808 | my $project = shady_project( $redstring ); | 
| 1790 |  |  |  |  |  |  |  | 
| 1791 |  |  |  |  |  |  | _UCFIRST_ _RANDOM_( | 
| 1792 |  |  |  |  |  |  | "$group $are running $project.", | 
| 1793 |  |  |  |  |  |  | "$group $are in charge of $project.", | 
| 1794 |  |  |  |  |  |  | "$group $are working against $project.", | 
| 1795 |  |  |  |  |  |  | sub { | 
| 1796 | 400 |  |  |  |  | 1083 | my $auth = authority( $redstring ); | 
| 1797 | 400 |  |  |  |  | 1973 | "$group $are investigating $project. They will soon have enough evidence to go to $auth.", | 
| 1798 |  |  |  |  |  |  | }, | 
| 1799 | 1508 |  |  |  |  | 11604 | ); | 
| 1800 |  |  |  |  |  |  | }, | 
| 1801 |  |  |  |  |  |  | sub { | 
| 1802 | 1474 |  |  | 1474 |  | 4063 | my $group = shady_group( $redstring ); | 
| 1803 | 1474 |  |  |  |  | 3516 | $redstring->{protagonists} = $redstring->{shady_group}; | 
| 1804 |  |  |  |  |  |  |  | 
| 1805 | 1474 |  |  |  |  | 3576 | my $physicist = physicist( $redstring ); | 
| 1806 |  |  |  |  |  |  |  | 
| 1807 |  |  |  |  |  |  | my $fact = _RANDOM_( | 
| 1808 |  |  |  |  |  |  | sub { | 
| 1809 | 82 |  |  |  |  | 284 | $redstring->{topic} = { name => 'bathroom scales', plural => 1 }; | 
| 1810 | 82 |  |  |  |  | 186 | 'electrons have more mass than protons'; | 
| 1811 |  |  |  |  |  |  | }, | 
| 1812 |  |  |  |  |  |  | sub { | 
| 1813 | 107 |  |  |  |  | 409 | $redstring->{topic} = { name => 'weighing scales', plural => 1 }; | 
| 1814 | 107 |  |  |  |  | 255 | "protons don't have mass"; | 
| 1815 |  |  |  |  |  |  | }, | 
| 1816 |  |  |  |  |  |  | sub { | 
| 1817 | 95 |  |  |  |  | 273 | my $things = _RANDOM_( 'electrons', 'protons' ); | 
| 1818 | 95 |  |  |  |  | 377 | $redstring->{topic} = { name => $things, plural => 1 }; | 
| 1819 | 95 |  |  |  |  | 345 | "$things are not real particles, they are just the terminal lines of a dielectric pulse"; | 
| 1820 |  |  |  |  |  |  | }, | 
| 1821 |  |  |  |  |  |  | sub { | 
| 1822 | 88 |  |  |  |  | 367 | $redstring->{topic} = { name => 'water', plural => 0 }; | 
| 1823 | 88 |  |  |  |  | 225 | 'water is its own element'; | 
| 1824 |  |  |  |  |  |  | }, | 
| 1825 |  |  |  |  |  |  | sub { | 
| 1826 | 106 |  |  |  |  | 414 | $redstring->{topic} = { name => 'geocentrism', plural => 0 }; | 
| 1827 | 106 |  |  |  |  | 264 | 'the sun goes round the Earth'; | 
| 1828 |  |  |  |  |  |  | }, | 
| 1829 |  |  |  |  |  |  | sub { | 
| 1830 | 100 |  |  |  |  | 375 | $redstring->{topic} = { name => 'the moon', plural => 0 }; | 
| 1831 | 100 |  |  |  |  | 254 | 'the moon is a hologram'; | 
| 1832 |  |  |  |  |  |  | }, | 
| 1833 |  |  |  |  |  |  | sub { | 
| 1834 | 104 |  |  |  |  | 402 | $redstring->{topic} = { name => 'camembert', plural => 0 }; | 
| 1835 | 104 |  |  |  |  | 239 | 'the moon is made of cheese'; | 
| 1836 |  |  |  |  |  |  | }, | 
| 1837 |  |  |  |  |  |  | sub { | 
| 1838 | 109 |  |  |  |  | 408 | $redstring->{topic} = { name => 'the man in the moon', plural => 0 }; | 
| 1839 | 109 |  |  |  |  | 257 | 'the man in the moon is a real man'; | 
| 1840 |  |  |  |  |  |  | }, | 
| 1841 |  |  |  |  |  |  | sub { | 
| 1842 | 82 |  |  |  |  | 295 | my $chem = chemicals( $redstring ); | 
| 1843 | 82 |  |  |  |  | 290 | $redstring->{topic} = { name => 'the periodic table', plural => 0 }; | 
| 1844 | 82 |  |  |  |  | 327 | "element 119 is $chem"; | 
| 1845 |  |  |  |  |  |  | }, | 
| 1846 |  |  |  |  |  |  | sub { | 
| 1847 | 94 |  |  |  |  | 316 | $redstring->{topic} = { name => 'air', plural => 0 }; | 
| 1848 | 94 |  |  |  |  | 235 | "air isn't real"; | 
| 1849 |  |  |  |  |  |  | }, | 
| 1850 |  |  |  |  |  |  | sub { | 
| 1851 | 101 |  |  |  |  | 345 | $redstring->{topic} = { name => 'vacuum cleaners', plural => 0 }; | 
| 1852 | 101 |  |  |  |  | 270 | "space isn't a vacuum because then it would suck all the air"; | 
| 1853 |  |  |  |  |  |  | }, | 
| 1854 |  |  |  |  |  |  | sub { | 
| 1855 | 95 |  |  |  |  | 319 | $redstring->{topic} = { name => 'the firmament', plural => 0 }; | 
| 1856 | 95 |  |  |  |  | 212 | "there is a dome over the flat Earth"; | 
| 1857 |  |  |  |  |  |  | }, | 
| 1858 |  |  |  |  |  |  | sub { | 
| 1859 | 117 |  |  |  |  | 422 | $redstring->{topic} = { name => 'Satan', plural => 0 }; | 
| 1860 | 117 |  |  |  |  | 266 | 'the axis of evil in the cosmic microwave background was put there by Satan'; | 
| 1861 |  |  |  |  |  |  | }, | 
| 1862 |  |  |  |  |  |  | sub { | 
| 1863 | 98 |  |  |  |  | 428 | $redstring->{topic} = { name => 'the zodiac', plural => 0 }; | 
| 1864 | 98 |  |  |  |  | 252 | 'astrology has been scientifically verified'; | 
| 1865 |  |  |  |  |  |  | }, | 
| 1866 |  |  |  |  |  |  | sub { | 
| 1867 | 96 |  |  |  |  | 329 | $redstring->{topic} = { name => 'the year of the dragon', plural => 0 }; | 
| 1868 | 96 |  |  |  |  | 216 | 'the Chinese zodiac can predict the future'; | 
| 1869 |  |  |  |  |  |  | }, | 
| 1870 | 1474 |  |  |  |  | 20268 | ); | 
| 1871 |  |  |  |  |  |  |  | 
| 1872 | 1474 |  |  |  |  | 24412 | my $solution = _UCFIRST_ _RANDOM_( | 
| 1873 |  |  |  |  |  |  | "They paid $group to kill him.", | 
| 1874 |  |  |  |  |  |  | "$group helped cover up the truth.", | 
| 1875 |  |  |  |  |  |  | "$group threatened to kill him to keep him quiet.", | 
| 1876 |  |  |  |  |  |  | "He was a member of $group so they knew he would keep quiet.", | 
| 1877 |  |  |  |  |  |  | "$group arranged a convenient \"accident\".", | 
| 1878 |  |  |  |  |  |  | ); | 
| 1879 |  |  |  |  |  |  |  | 
| 1880 | 1474 |  |  |  |  | 4052 | my $destruction = _RANDOM_( | 
| 1881 |  |  |  |  |  |  | "all of modern physics", | 
| 1882 |  |  |  |  |  |  | 'our understanding of the universe', | 
| 1883 |  |  |  |  |  |  | "the Big Bang 'theory'", | 
| 1884 |  |  |  |  |  |  | "Einstein's theory of relativity", | 
| 1885 |  |  |  |  |  |  | ); | 
| 1886 |  |  |  |  |  |  |  | 
| 1887 | 1474 |  |  |  |  | 7112 | _UCFIRST_ "$physicist discovered that $fact but the scientific establishment is suppressing it because it would destroy $destruction. $solution"; | 
| 1888 |  |  |  |  |  |  | }, | 
| 1889 |  |  |  |  |  |  | sub { | 
| 1890 | 1547 |  |  | 1547 |  | 3965 | my $group = shady_group( $redstring ); | 
| 1891 | 1547 |  |  |  |  | 4123 | $redstring->{protagonists} = $redstring->{shady_group}; | 
| 1892 |  |  |  |  |  |  |  | 
| 1893 | 1547 |  |  |  |  | 3960 | my $biologist = biologist( $redstring ); | 
| 1894 |  |  |  |  |  |  |  | 
| 1895 |  |  |  |  |  |  | my $fact = _RANDOM_( | 
| 1896 |  |  |  |  |  |  | sub { | 
| 1897 | 144 |  |  |  |  | 526 | $redstring->{topic} = { name => 'pandas', plural => 1 }; | 
| 1898 | 144 |  |  |  |  | 371 | 'pandas are really just fat raccoons'; | 
| 1899 |  |  |  |  |  |  | }, | 
| 1900 |  |  |  |  |  |  | sub { | 
| 1901 | 162 |  |  |  |  | 579 | $redstring->{topic} = { name => 'spaghetti', plural => 1 }; | 
| 1902 | 162 |  |  |  |  | 468 | "spaghetti is a type of worm"; | 
| 1903 |  |  |  |  |  |  | }, | 
| 1904 |  |  |  |  |  |  | sub { | 
| 1905 | 132 |  | 50 |  |  | 896 | $redstring->{celebrity} //= { name => 'Louis Armstrong', female => 0 }; | 
| 1906 | 132 |  |  |  |  | 452 | $redstring->{topic} = { name => 'snakes', plural => 1 }; | 
| 1907 | 132 |  |  |  |  | 284 | "snakes like jazz music"; | 
| 1908 |  |  |  |  |  |  | }, | 
| 1909 |  |  |  |  |  |  | sub { | 
| 1910 | 145 |  | 50 |  |  | 946 | $redstring->{real_place} //= 'Antarctica'; | 
| 1911 | 145 |  |  |  |  | 415 | $redstring->{topic} = { name => 'penguins', plural => 1 }; | 
| 1912 | 145 |  |  |  |  | 321 | "penguins can fly but they get nervous when people are watching"; | 
| 1913 |  |  |  |  |  |  | }, | 
| 1914 |  |  |  |  |  |  | sub { | 
| 1915 | 153 |  |  |  |  | 567 | $redstring->{topic} = { name => 'DNA', plural => 0 }; | 
| 1916 | 153 |  |  |  |  | 353 | "the 10 commandments are encoded in human DNA"; | 
| 1917 |  |  |  |  |  |  | }, | 
| 1918 |  |  |  |  |  |  | sub { | 
| 1919 | 137 |  |  |  |  | 476 | $redstring->{topic} = { name => 'essential oils', plural => 1 }; | 
| 1920 | 137 |  |  |  |  | 329 | "essential oils cure all diseases"; | 
| 1921 |  |  |  |  |  |  | }, | 
| 1922 |  |  |  |  |  |  | sub { | 
| 1923 | 116 |  |  |  |  | 414 | $redstring->{topic} = { name => 'vaccines', plural => 1 }; | 
| 1924 | 116 |  |  |  |  | 263 | "essential oils cure autism"; | 
| 1925 |  |  |  |  |  |  | }, | 
| 1926 |  |  |  |  |  |  | sub { | 
| 1927 | 141 |  |  |  |  | 651 | $redstring->{topic} = { name => 'anger management', plural => 0 }; | 
| 1928 | 141 |  |  |  |  | 332 | "wasps are just angry bees"; | 
| 1929 |  |  |  |  |  |  | }, | 
| 1930 |  |  |  |  |  |  | sub { | 
| 1931 | 150 |  |  |  |  | 484 | $redstring->{topic} = { name => 'oncology', plural => 0 }; | 
| 1932 | 150 |  |  |  |  | 358 | "windmills cause cancer"; | 
| 1933 |  |  |  |  |  |  | }, | 
| 1934 |  |  |  |  |  |  | sub { | 
| 1935 | 134 |  |  |  |  | 420 | my $chem = chemicals( $redstring ); | 
| 1936 | 134 |  |  |  |  | 412 | $redstring->{topic} = { name => 'honey', plural => 0 }; | 
| 1937 | 134 |  |  |  |  | 482 | "$chem is killing all the bees"; | 
| 1938 |  |  |  |  |  |  | }, | 
| 1939 |  |  |  |  |  |  | sub { | 
| 1940 | 133 |  |  |  |  | 365 | my $animal = real_animal( $redstring ); | 
| 1941 | 133 |  |  |  |  | 471 | $redstring->{topic} = { name => 'space flight', plural => 0 }; | 
| 1942 | 133 |  |  |  |  | 453 | "$animal DNA comes from space"; | 
| 1943 |  |  |  |  |  |  | }, | 
| 1944 | 1547 |  |  |  |  | 17016 | ); | 
| 1945 |  |  |  |  |  |  |  | 
| 1946 | 1547 |  |  |  |  | 22394 | my $solution = _UCFIRST_ _RANDOM_( | 
| 1947 |  |  |  |  |  |  | "They paid $group to kill him.", | 
| 1948 |  |  |  |  |  |  | "$group helped cover up the truth.", | 
| 1949 |  |  |  |  |  |  | "$group threatened to kill him to keep him quiet.", | 
| 1950 |  |  |  |  |  |  | "He was a member of $group so they knew he would keep quiet.", | 
| 1951 |  |  |  |  |  |  | "$group arranged a convenient \"accident\".", | 
| 1952 |  |  |  |  |  |  | ); | 
| 1953 |  |  |  |  |  |  |  | 
| 1954 | 1547 |  |  |  |  | 3876 | my $destruction = _RANDOM_( | 
| 1955 |  |  |  |  |  |  | "the 'theory' of evolution", | 
| 1956 |  |  |  |  |  |  | 'modern medicine', | 
| 1957 |  |  |  |  |  |  | "the germ theory of disease", | 
| 1958 |  |  |  |  |  |  | "our understanding of DNA", | 
| 1959 |  |  |  |  |  |  | 'creation science', | 
| 1960 |  |  |  |  |  |  | ); | 
| 1961 |  |  |  |  |  |  |  | 
| 1962 | 1547 |  |  |  |  | 7249 | _UCFIRST_ "$biologist discovered that $fact but the scientific establishment is suppressing it because it would destroy $destruction. $solution"; | 
| 1963 |  |  |  |  |  |  | }, | 
| 1964 |  |  |  |  |  |  | sub { | 
| 1965 | 1555 |  |  | 1555 |  | 4018 | my $group = shady_group( $redstring ); | 
| 1966 | 1555 |  |  |  |  | 3520 | $redstring->{protagonists} = $redstring->{shady_group}; | 
| 1967 | 1555 | 100 |  |  |  | 4480 | my $have = $redstring->{protagonists}->{plural} ? 'have' : 'has'; | 
| 1968 |  |  |  |  |  |  |  | 
| 1969 | 1555 |  |  |  |  | 3797 | my $place = random_place( $redstring ); | 
| 1970 |  |  |  |  |  |  |  | 
| 1971 | 1555 |  |  |  |  | 6045 | my $how = _RANDOM_( | 
| 1972 |  |  |  |  |  |  | "by diverting flights to $place to a Hollywood studio", | 
| 1973 |  |  |  |  |  |  | 'using mirrors', | 
| 1974 |  |  |  |  |  |  | 'by paying the UN', | 
| 1975 |  |  |  |  |  |  | 'by talking with funny accents', | 
| 1976 |  |  |  |  |  |  | 'by hacking satellites', | 
| 1977 |  |  |  |  |  |  | ); | 
| 1978 |  |  |  |  |  |  |  | 
| 1979 | 1555 |  |  |  |  | 7316 | _UCFIRST_ "$place is just a hologram created by $group who $have been hiding it for years $how."; | 
| 1980 |  |  |  |  |  |  | }, | 
| 1981 |  |  |  |  |  |  | sub { | 
| 1982 | 1596 |  |  | 1596 |  | 4726 | my $place  = random_place( $redstring ); | 
| 1983 | 1596 |  |  |  |  | 4109 | my $truth1 = hidden_truth( $redstring ); | 
| 1984 |  |  |  |  |  |  |  | 
| 1985 | 1596 |  |  |  |  | 10982 | _UCFIRST_ _RANDOM_( | 
| 1986 |  |  |  |  |  |  | "It is common knowledge in $place that $truth1.", | 
| 1987 |  |  |  |  |  |  | "They teach $truth1 at schools in $place.", | 
| 1988 |  |  |  |  |  |  | "Everybody in $place knows that $truth1.", | 
| 1989 |  |  |  |  |  |  | "People in $place found out that $truth1.", | 
| 1990 |  |  |  |  |  |  | ); | 
| 1991 |  |  |  |  |  |  | }, | 
| 1992 |  |  |  |  |  |  | sub { | 
| 1993 | 1463 |  |  | 1463 |  | 3955 | my $celeb  = celebrity( $redstring ); | 
| 1994 | 1463 | 100 |  |  |  | 4116 | my $pronoun = $redstring->{celebrity}{female} ? 'she' : 'he'; | 
| 1995 | 1463 |  |  |  |  | 3597 | my $truth1 = hidden_truth( $redstring ); | 
| 1996 | 1463 |  |  |  |  | 3394 | my $group = shady_group( $redstring ); | 
| 1997 | 1463 |  |  |  |  | 3376 | $redstring->{protagonists} = $redstring->{shady_group}; | 
| 1998 | 1463 | 100 |  |  |  | 3758 | my $are = $redstring->{protagonists}->{plural} ? 'are' : 'is'; | 
| 1999 |  |  |  |  |  |  |  | 
| 2000 |  |  |  |  |  |  | my $silence = _RANDOM_( | 
| 2001 |  |  |  |  |  |  | "$pronoun will probably have to be eliminated", | 
| 2002 |  |  |  |  |  |  | "$pronoun is going to be killed if $pronoun isn't dead already", | 
| 2003 |  |  |  |  |  |  | "$pronoun is being paid to stay quiet", | 
| 2004 |  |  |  |  |  |  | "$pronoun will meet a convenient \"accident\"", | 
| 2005 |  |  |  |  |  |  | sub { | 
| 2006 | 252 |  |  |  |  | 692 | my $clone = clone( $redstring ); | 
| 2007 | 252 |  |  |  |  | 846 | "$pronoun has been replaced by $clone"; | 
| 2008 |  |  |  |  |  |  | }, | 
| 2009 |  |  |  |  |  |  | sub { | 
| 2010 | 246 |  |  |  |  | 873 | my $place = bad_place( $redstring ); | 
| 2011 | 246 |  |  |  |  | 832 | "$pronoun has been imprisoned in $place"; | 
| 2012 |  |  |  |  |  |  | }, | 
| 2013 | 1463 |  |  |  |  | 11186 | ); | 
| 2014 |  |  |  |  |  |  |  | 
| 2015 | 1463 |  |  |  |  | 10343 | _UCFIRST_ "$celeb found out that $truth1 and $silence. " . _UCFIRST_ "$group $are protecting this secret."; | 
| 2016 |  |  |  |  |  |  | }, | 
| 2017 |  |  |  |  |  |  | sub { | 
| 2018 | 1538 |  |  | 1538 |  | 4420 | my $celeb  = celebrity( $redstring ); | 
| 2019 | 1538 | 100 |  |  |  | 4213 | my $pronoun = $redstring->{celebrity}{female} ? 'she' : 'he'; | 
| 2020 | 1538 |  |  |  |  | 3294 | my $group = shady_group( $redstring ); | 
| 2021 | 1538 |  |  |  |  | 3472 | $redstring->{protagonists} = $redstring->{shady_group}; | 
| 2022 |  |  |  |  |  |  |  | 
| 2023 | 1538 |  |  |  |  | 11324 | _UCFIRST_ _RANDOM_( | 
| 2024 |  |  |  |  |  |  | "$celeb is a member of $group.", | 
| 2025 |  |  |  |  |  |  | "$celeb is a former member of $group.", | 
| 2026 |  |  |  |  |  |  | "$celeb was thrown out of $group.", | 
| 2027 |  |  |  |  |  |  | "$celeb infiltrated $group.", | 
| 2028 |  |  |  |  |  |  | "$celeb is the leader of $group.", | 
| 2029 |  |  |  |  |  |  | "$celeb is secretly worshipped by $group.", | 
| 2030 |  |  |  |  |  |  | ); | 
| 2031 |  |  |  |  |  |  | }, | 
| 2032 | 21370 |  |  |  |  | 465374 | ); | 
| 2033 |  |  |  |  |  |  |  | 
| 2034 | 21370 | 100 | 100 |  |  | 798832 | if ( $redstring->{protagonists} and not $redstring->{antagonists} and _RANDOM_(0..1) ) { | 
|  |  |  | 100 |  |  |  |  | 
| 2035 | 7888 |  | 66 |  |  | 32566 | my $group1 = $redstring->{protagonists}{shortname} // $redstring->{protagonists}{name}; | 
| 2036 | 7888 |  |  |  |  | 18104 | my $group2 = shady_group( $redstring ); | 
| 2037 | 7888 |  |  |  |  | 17778 | $redstring->{antagonists} = $redstring->{shady_group}; | 
| 2038 | 7888 | 100 |  |  |  | 19567 | my $know = splural ($redstring->{antagonists}) ? 'know' : 'knows'; | 
| 2039 |  |  |  |  |  |  | $theory .= " " . _UCFIRST_ _RANDOM_( | 
| 2040 |  |  |  |  |  |  | sub { | 
| 2041 | 1339 |  |  | 1339 |  | 3265 | my $bribe = precious_resource_with_quantity( $redstring ); | 
| 2042 | 1339 |  |  |  |  | 5819 | "$group2 $know the truth but $group1 have paid them off with $bribe."; | 
| 2043 |  |  |  |  |  |  | }, | 
| 2044 | 7888 |  |  |  |  | 62960 | "$group2 $know the truth but $group1 have threatened them to keep them silent.", | 
| 2045 |  |  |  |  |  |  | "$group2 were helping them until $group1 betrayed them.", | 
| 2046 |  |  |  |  |  |  | "$group2 were helping them for a while.", | 
| 2047 |  |  |  |  |  |  | "$group2 were originally opposed to this but they're now in on it.", | 
| 2048 |  |  |  |  |  |  | "$group2 are trying to get evidence to prove it.", | 
| 2049 |  |  |  |  |  |  | ); | 
| 2050 |  |  |  |  |  |  | } | 
| 2051 |  |  |  |  |  |  |  | 
| 2052 | 21370 |  |  |  |  | 82718 | _MERGE_( $redstring, base_theory => $theory ); | 
| 2053 |  |  |  |  |  |  |  | 
| 2054 | 21370 |  |  |  |  | 59254 | my $evidence = evidence( $redstring ); | 
| 2055 | 21370 | 50 |  |  |  | 89719 | $theory .= " $evidence" if $evidence; | 
| 2056 |  |  |  |  |  |  |  | 
| 2057 | 21370 |  |  |  |  | 51760 | my $numerology = numerology( $redstring ); | 
| 2058 | 21370 | 100 |  |  |  | 47771 | $theory .= " $numerology" if $numerology; | 
| 2059 |  |  |  |  |  |  |  | 
| 2060 | 21370 |  |  |  |  | 59408 | _MERGE_( $redstring, theory => $theory ); | 
| 2061 |  |  |  |  |  |  |  | 
| 2062 | 21370 |  |  |  |  | 128004 | return $theory; | 
| 2063 |  |  |  |  |  |  | } | 
| 2064 |  |  |  |  |  |  |  | 
| 2065 |  |  |  |  |  |  | my %special_numbers = ( | 
| 2066 |  |  |  |  |  |  | 19   => [ qr/COVID/,             '19 is the coronavirus number' ], | 
| 2067 |  |  |  |  |  |  | 24   => [ qr/TINTIN/,            'There are 24 Tintin comics' ], | 
| 2068 |  |  |  |  |  |  | 33   => [ qr/MASON/,             '33 is associated with the masons' ], | 
| 2069 |  |  |  |  |  |  | 35   => [ qr/ELVIS/,             'Elvis was born in 1935' ], | 
| 2070 |  |  |  |  |  |  | 44   => [ qr/OBAMA/,             'Barack Obama was the 44th President of the USA' ], | 
| 2071 |  |  |  |  |  |  | 45   => [ qr/TRUMP|QANON|USA/,   'Donald Trump was the 45th President of the USA', | 
| 2072 |  |  |  |  |  |  | qr/UNITEDNATIONS/,     'The United Nations was founded in 1945' ], | 
| 2073 |  |  |  |  |  |  | 46   => [ qr/BIDEN/,             'Joe Biden was the 46th President of the USA' ], | 
| 2074 |  |  |  |  |  |  | 47   => [ qr/THECIA/,            'The CIA was founded in 1947', | 
| 2075 |  |  |  |  |  |  | qr/SILVER/,            'Silver has atomic number 47' ], | 
| 2076 |  |  |  |  |  |  | 49   => [ qr/NATO/,              'NATO was founded in 1949' ], | 
| 2077 |  |  |  |  |  |  | 51   => [ qr/KFC/,               'Area 51 is the fifty-first area' ], | 
| 2078 |  |  |  |  |  |  | 52   => [ qr/KFC/,               'KFC was founded in 1952' ], | 
| 2079 |  |  |  |  |  |  | 55   => [ qr/BIGMAC|MCDONALDS/,  'McDonalds was founded in 1955' ], | 
| 2080 |  |  |  |  |  |  | 63   => [ qr/JFK|OSWALD/,        'JFK was shot in 1963' ], | 
| 2081 |  |  |  |  |  |  | 79   => [ qr/GOLD/,              'Gold has the atomic number 79' ], | 
| 2082 |  |  |  |  |  |  | 81   => [ qr/HIV/,               'AIDS was discovered in 1981' ], | 
| 2083 |  |  |  |  |  |  | 82   => [ qr/COKE/,              'Diet Coke first came out in 1982' ], | 
| 2084 |  |  |  |  |  |  | 86   => [ qr/RADON/,             'The atomic number for radon is 86' ], | 
| 2085 |  |  |  |  |  |  | 92   => [ qr/URANIUM/,           'The atomic number for uranium is 92' ], | 
| 2086 |  |  |  |  |  |  | 322  => [ qr/SKULL/,             'Skull and Bones is Order 322' ], | 
| 2087 |  |  |  |  |  |  | 666  => [ qr/DEVIL|DEMON|SATAN/, '666 is the number of the beast' ], | 
| 2088 |  |  |  |  |  |  | ); | 
| 2089 |  |  |  |  |  |  |  | 
| 2090 |  |  |  |  |  |  | sub numerology { | 
| 2091 | 21370 |  | 50 | 21370 | 0 | 50302 | my $redstring = shift // {}; | 
| 2092 |  |  |  |  |  |  |  | 
| 2093 |  |  |  |  |  |  | my @strings = List::Util::uniq( | 
| 2094 | 146406 |  |  |  |  | 336546 | grep { length } | 
| 2095 | 146406 |  |  |  |  | 257423 | map { my $letters = uc( $_ ); $letters =~ s/[^A-Z0-9]//g; $letters } | 
|  | 146406 |  |  |  |  | 639045 |  | 
|  | 146406 |  |  |  |  | 284404 |  | 
| 2096 |  |  |  |  |  |  | map { | 
| 2097 | 146406 | 100 |  |  |  | 424082 | /^(the )(.+)$/i ? $2 : $_ | 
| 2098 |  |  |  |  |  |  | } | 
| 2099 |  |  |  |  |  |  | map { | 
| 2100 | 21370 | 100 |  |  |  | 58545 | ref( $_ ) ? grep( defined, $_->{name}, $_->{shortname}, $_->{title}, $_->{author} ) : $_ | 
|  | 156366 |  |  |  |  | 428486 |  | 
| 2101 |  |  |  |  |  |  | } | 
| 2102 |  |  |  |  |  |  | values( %$redstring ) | 
| 2103 |  |  |  |  |  |  | ); | 
| 2104 |  |  |  |  |  |  |  | 
| 2105 | 21370 |  |  |  |  | 79008 | my %calcs; | 
| 2106 | 21370 |  |  |  |  | 45680 | foreach my $string ( @strings ) { | 
| 2107 | 121277 | 100 |  |  |  | 277202 | next if length($string) >= 20; | 
| 2108 | 82488 |  |  |  |  | 239807 | my @letters = split //, $string; | 
| 2109 | 82488 | 100 |  |  |  | 721962 | my @numbers = map /[A-Z]/ ? ( ord($_) - 0x40 ) : $_, @letters; | 
| 2110 | 82488 |  |  |  |  | 220791 | my $sum     = List::Util::sum( @numbers ); | 
| 2111 |  |  |  |  |  |  |  | 
| 2112 | 82488 |  | 100 |  |  | 121808 | push @{ $calcs{$sum} ||= [] }, sprintf( | 
|  | 82488 |  |  |  |  | 816506 |  | 
| 2113 |  |  |  |  |  |  | '%s = %s = %s', | 
| 2114 |  |  |  |  |  |  | join( '+', @letters ), | 
| 2115 |  |  |  |  |  |  | join( '+', @numbers ), | 
| 2116 |  |  |  |  |  |  | $sum, | 
| 2117 |  |  |  |  |  |  | ); | 
| 2118 |  |  |  |  |  |  | } | 
| 2119 |  |  |  |  |  |  |  | 
| 2120 | 21370 |  |  |  |  | 98780 | foreach my $key ( %special_numbers ) { | 
| 2121 | 854800 | 100 |  |  |  | 1702140 | if ( $calcs{$key} ) { | 
| 2122 | 7034 |  |  |  |  | 10793 | my @copy = @{ $special_numbers{$key} }; | 
|  | 7034 |  |  |  |  | 17867 |  | 
| 2123 | 7034 |  |  |  |  | 17055 | while ( @copy ) { | 
| 2124 | 7373 |  |  |  |  | 19563 | my ( $test, $statement ) = splice( @copy, 0 , 2 ); | 
| 2125 | 7373 | 100 |  |  |  | 68680 | next unless "@strings" =~ $test; | 
| 2126 | 48 |  |  |  |  | 121 | push @{ $calcs{$key} }, "And guess what? " . $statement; | 
|  | 48 |  |  |  |  | 248 |  | 
| 2127 |  |  |  |  |  |  | } | 
| 2128 |  |  |  |  |  |  | } | 
| 2129 |  |  |  |  |  |  | } | 
| 2130 |  |  |  |  |  |  |  | 
| 2131 | 21370 | 100 |  |  |  | 66377 | my @wow = map { @$_ > 1 ? @$_ : () } values %calcs; | 
|  | 81837 |  |  |  |  | 158814 |  | 
| 2132 |  |  |  |  |  |  |  | 
| 2133 | 21370 | 100 |  |  |  | 45818 | if ( @wow ) { | 
| 2134 | 686 |  |  |  |  | 1860 | return sprintf( | 
| 2135 |  |  |  |  |  |  | "%s %s", | 
| 2136 |  |  |  |  |  |  | _RANDOM_( | 
| 2137 |  |  |  |  |  |  | 'The numbers never lie.', | 
| 2138 |  |  |  |  |  |  | 'Trust the numbers.', | 
| 2139 |  |  |  |  |  |  | 'You can see the truth in the numbers.', | 
| 2140 |  |  |  |  |  |  | ), | 
| 2141 |  |  |  |  |  |  | join( | 
| 2142 |  |  |  |  |  |  | '', | 
| 2143 |  |  |  |  |  |  | map( "$_. ", @wow ), | 
| 2144 |  |  |  |  |  |  | ) | 
| 2145 |  |  |  |  |  |  | ); | 
| 2146 |  |  |  |  |  |  | } | 
| 2147 |  |  |  |  |  |  |  | 
| 2148 | 20684 |  |  |  |  | 90103 | return ''; | 
| 2149 |  |  |  |  |  |  | } | 
| 2150 |  |  |  |  |  |  |  | 
| 2151 |  |  |  |  |  |  | sub bad_punctuation { | 
| 2152 | 0 |  |  | 0 | 0 |  | my ( $string, $cancel ) = @_; | 
| 2153 | 0 | 0 |  |  |  |  | unless ( $cancel ) { | 
| 2154 | 0 |  |  |  |  |  | $string =~ s/ ([A-Za-z]) ([,!?]) / $1 . _RANDOM_(    $2, " $2", " $2", " $2$2") /exg; | 
|  | 0 |  |  |  |  |  |  | 
| 2155 | 0 |  |  |  |  |  | $string =~ s/ ([A-Za-z]) ([.])   / $1 . _RANDOM_($2, $2, " $2", " ", " $2$2$2") /exg; | 
|  | 0 |  |  |  |  |  |  | 
| 2156 | 0 |  |  |  |  |  | $string =~ s/\!/_RANDOM_('!', '!', '!!',  "!!!!")/ex; | 
|  | 0 |  |  |  |  |  |  | 
| 2157 |  |  |  |  |  |  | } | 
| 2158 | 0 |  |  |  |  |  | return $string; | 
| 2159 |  |  |  |  |  |  | } | 
| 2160 |  |  |  |  |  |  |  | 
| 2161 |  |  |  |  |  |  | 1; | 
| 2162 |  |  |  |  |  |  |  | 
| 2163 |  |  |  |  |  |  | __END__ |