On Mon, Jan 21, 2002 at 03:11:22PM +0000, Robin Houston wrote:
> On Mon, Jan 21, 2002 at 03:53:54PM +0100, [EMAIL PROTECTED] wrote:
> > The "shrinkable" strings will be in one of the two following forms:
> > 
> >      XbYXaZ,  with X, Y and Z (possible empty) strings of any length,
> >               and a and b strings of length 1, with a lt b.
> >      aXbYaX,  with X and Y (possible empty) strings of any length,
> >               and a and b strings of length 1, with a lt b.
> 
> Not quite.
> "aaba" is shrinkable.


You are right, I had forgotten a case, which can be written as:


    (XaY)+XbYZXaY, with X, Y and Z (possible empty) strings of any length,
                   and a and b strings of length 1, with a lt b.


This results in (a sloooow program):


    #!/usr/bin/perl 

    use strict;
    use warnings qw /all/;

     my @strings;
     my $p;
     my $max = 255;  # Use a higher number for Unicode.
     foreach my $c (1 .. $max) {
         push @strings => sprintf '^(.*)\x%02x.*\%d[\x00-\x%02x].*$' =>
                                   $c, ++ $p, $c - 1;
         push @strings => sprintf '^([\x00-\x%02x].*)\x%02x.*\%d$' =>
                                   $c - 1, $c, ++ $p;
         push @strings =>
               sprintf '^((.*)[\x00-\x%02x](.*))+\%d\x%02x\%d.*\%d$' =>
                                   $c - 1, $p + 2, $c, $p + 3, $p + 1;
         $p += 3;
     }

     my $regex = join "|" => map {"(?:$_)"} @strings;

     $regex =~ s/\|/|\n /g;
     my $rgx =  "/$regex/sx";

     print $rgx, "\n";

     __END__



/(?:^(.*)\x01.*\1[\x00-\x00].*$)|
 (?:^([\x00-\x00].*)\x01.*\2$)|
 (?:^((.*)[\x00-\x00](.*))+\4\x01\5.*\3$)|
 (?:^(.*)\x02.*\6[\x00-\x01].*$)|
 (?:^([\x00-\x01].*)\x02.*\7$)|
 (?:^((.*)[\x00-\x01](.*))+\9\x02\10.*\8$)|
 (?:^(.*)\x03.*\11[\x00-\x02].*$)|
 (?:^([\x00-\x02].*)\x03.*\12$)|
 (?:^((.*)[\x00-\x02](.*))+\14\x03\15.*\13$)|
 (?:^(.*)\x04.*\16[\x00-\x03].*$)|
 (?:^([\x00-\x03].*)\x04.*\17$)|
 (?:^((.*)[\x00-\x03](.*))+\19\x04\20.*\18$)|
 (?:^(.*)\x05.*\21[\x00-\x04].*$)|
 (?:^([\x00-\x04].*)\x05.*\22$)|
 (?:^((.*)[\x00-\x04](.*))+\24\x05\25.*\23$)|
 (?:^(.*)\x06.*\26[\x00-\x05].*$)|
 (?:^([\x00-\x05].*)\x06.*\27$)|
 (?:^((.*)[\x00-\x05](.*))+\29\x06\30.*\28$)|
 (?:^(.*)\x07.*\31[\x00-\x06].*$)|
 (?:^([\x00-\x06].*)\x07.*\32$)|
 (?:^((.*)[\x00-\x06](.*))+\34\x07\35.*\33$)|
 (?:^(.*)\x08.*\36[\x00-\x07].*$)|
 (?:^([\x00-\x07].*)\x08.*\37$)|
 (?:^((.*)[\x00-\x07](.*))+\39\x08\40.*\38$)|
 (?:^(.*)\x09.*\41[\x00-\x08].*$)|
 (?:^([\x00-\x08].*)\x09.*\42$)|
 (?:^((.*)[\x00-\x08](.*))+\44\x09\45.*\43$)|
 (?:^(.*)\x0a.*\46[\x00-\x09].*$)|
 (?:^([\x00-\x09].*)\x0a.*\47$)|
 (?:^((.*)[\x00-\x09](.*))+\49\x0a\50.*\48$)|
 (?:^(.*)\x0b.*\51[\x00-\x0a].*$)|
 (?:^([\x00-\x0a].*)\x0b.*\52$)|
 (?:^((.*)[\x00-\x0a](.*))+\54\x0b\55.*\53$)|
 (?:^(.*)\x0c.*\56[\x00-\x0b].*$)|
 (?:^([\x00-\x0b].*)\x0c.*\57$)|
 (?:^((.*)[\x00-\x0b](.*))+\59\x0c\60.*\58$)|
 (?:^(.*)\x0d.*\61[\x00-\x0c].*$)|
 (?:^([\x00-\x0c].*)\x0d.*\62$)|
 (?:^((.*)[\x00-\x0c](.*))+\64\x0d\65.*\63$)|
 (?:^(.*)\x0e.*\66[\x00-\x0d].*$)|
 (?:^([\x00-\x0d].*)\x0e.*\67$)|
 (?:^((.*)[\x00-\x0d](.*))+\69\x0e\70.*\68$)|
 (?:^(.*)\x0f.*\71[\x00-\x0e].*$)|
 (?:^([\x00-\x0e].*)\x0f.*\72$)|
 (?:^((.*)[\x00-\x0e](.*))+\74\x0f\75.*\73$)|
 (?:^(.*)\x10.*\76[\x00-\x0f].*$)|
 (?:^([\x00-\x0f].*)\x10.*\77$)|
 (?:^((.*)[\x00-\x0f](.*))+\79\x10\80.*\78$)|
 (?:^(.*)\x11.*\81[\x00-\x10].*$)|
 (?:^([\x00-\x10].*)\x11.*\82$)|
 (?:^((.*)[\x00-\x10](.*))+\84\x11\85.*\83$)|
 (?:^(.*)\x12.*\86[\x00-\x11].*$)|
 (?:^([\x00-\x11].*)\x12.*\87$)|
 (?:^((.*)[\x00-\x11](.*))+\89\x12\90.*\88$)|
 (?:^(.*)\x13.*\91[\x00-\x12].*$)|
 (?:^([\x00-\x12].*)\x13.*\92$)|
 (?:^((.*)[\x00-\x12](.*))+\94\x13\95.*\93$)|
 (?:^(.*)\x14.*\96[\x00-\x13].*$)|
 (?:^([\x00-\x13].*)\x14.*\97$)|
 (?:^((.*)[\x00-\x13](.*))+\99\x14\100.*\98$)|
 (?:^(.*)\x15.*\101[\x00-\x14].*$)|
 (?:^([\x00-\x14].*)\x15.*\102$)|
 (?:^((.*)[\x00-\x14](.*))+\104\x15\105.*\103$)|
 (?:^(.*)\x16.*\106[\x00-\x15].*$)|
 (?:^([\x00-\x15].*)\x16.*\107$)|
 (?:^((.*)[\x00-\x15](.*))+\109\x16\110.*\108$)|
 (?:^(.*)\x17.*\111[\x00-\x16].*$)|
 (?:^([\x00-\x16].*)\x17.*\112$)|
 (?:^((.*)[\x00-\x16](.*))+\114\x17\115.*\113$)|
 (?:^(.*)\x18.*\116[\x00-\x17].*$)|
 (?:^([\x00-\x17].*)\x18.*\117$)|
 (?:^((.*)[\x00-\x17](.*))+\119\x18\120.*\118$)|
 (?:^(.*)\x19.*\121[\x00-\x18].*$)|
 (?:^([\x00-\x18].*)\x19.*\122$)|
 (?:^((.*)[\x00-\x18](.*))+\124\x19\125.*\123$)|
 (?:^(.*)\x1a.*\126[\x00-\x19].*$)|
 (?:^([\x00-\x19].*)\x1a.*\127$)|
 (?:^((.*)[\x00-\x19](.*))+\129\x1a\130.*\128$)|
 (?:^(.*)\x1b.*\131[\x00-\x1a].*$)|
 (?:^([\x00-\x1a].*)\x1b.*\132$)|
 (?:^((.*)[\x00-\x1a](.*))+\134\x1b\135.*\133$)|
 (?:^(.*)\x1c.*\136[\x00-\x1b].*$)|
 (?:^([\x00-\x1b].*)\x1c.*\137$)|
 (?:^((.*)[\x00-\x1b](.*))+\139\x1c\140.*\138$)|
 (?:^(.*)\x1d.*\141[\x00-\x1c].*$)|
 (?:^([\x00-\x1c].*)\x1d.*\142$)|
 (?:^((.*)[\x00-\x1c](.*))+\144\x1d\145.*\143$)|
 (?:^(.*)\x1e.*\146[\x00-\x1d].*$)|
 (?:^([\x00-\x1d].*)\x1e.*\147$)|
 (?:^((.*)[\x00-\x1d](.*))+\149\x1e\150.*\148$)|
 (?:^(.*)\x1f.*\151[\x00-\x1e].*$)|
 (?:^([\x00-\x1e].*)\x1f.*\152$)|
 (?:^((.*)[\x00-\x1e](.*))+\154\x1f\155.*\153$)|
 (?:^(.*)\x20.*\156[\x00-\x1f].*$)|
 (?:^([\x00-\x1f].*)\x20.*\157$)|
 (?:^((.*)[\x00-\x1f](.*))+\159\x20\160.*\158$)|
 (?:^(.*)\x21.*\161[\x00-\x20].*$)|
 (?:^([\x00-\x20].*)\x21.*\162$)|
 (?:^((.*)[\x00-\x20](.*))+\164\x21\165.*\163$)|
 (?:^(.*)\x22.*\166[\x00-\x21].*$)|
 (?:^([\x00-\x21].*)\x22.*\167$)|
 (?:^((.*)[\x00-\x21](.*))+\169\x22\170.*\168$)|
 (?:^(.*)\x23.*\171[\x00-\x22].*$)|
 (?:^([\x00-\x22].*)\x23.*\172$)|
 (?:^((.*)[\x00-\x22](.*))+\174\x23\175.*\173$)|
 (?:^(.*)\x24.*\176[\x00-\x23].*$)|
 (?:^([\x00-\x23].*)\x24.*\177$)|
 (?:^((.*)[\x00-\x23](.*))+\179\x24\180.*\178$)|
 (?:^(.*)\x25.*\181[\x00-\x24].*$)|
 (?:^([\x00-\x24].*)\x25.*\182$)|
 (?:^((.*)[\x00-\x24](.*))+\184\x25\185.*\183$)|
 (?:^(.*)\x26.*\186[\x00-\x25].*$)|
 (?:^([\x00-\x25].*)\x26.*\187$)|
 (?:^((.*)[\x00-\x25](.*))+\189\x26\190.*\188$)|
 (?:^(.*)\x27.*\191[\x00-\x26].*$)|
 (?:^([\x00-\x26].*)\x27.*\192$)|
 (?:^((.*)[\x00-\x26](.*))+\194\x27\195.*\193$)|
 (?:^(.*)\x28.*\196[\x00-\x27].*$)|
 (?:^([\x00-\x27].*)\x28.*\197$)|
 (?:^((.*)[\x00-\x27](.*))+\199\x28\200.*\198$)|
 (?:^(.*)\x29.*\201[\x00-\x28].*$)|
 (?:^([\x00-\x28].*)\x29.*\202$)|
 (?:^((.*)[\x00-\x28](.*))+\204\x29\205.*\203$)|
 (?:^(.*)\x2a.*\206[\x00-\x29].*$)|
 (?:^([\x00-\x29].*)\x2a.*\207$)|
 (?:^((.*)[\x00-\x29](.*))+\209\x2a\210.*\208$)|
 (?:^(.*)\x2b.*\211[\x00-\x2a].*$)|
 (?:^([\x00-\x2a].*)\x2b.*\212$)|
 (?:^((.*)[\x00-\x2a](.*))+\214\x2b\215.*\213$)|
 (?:^(.*)\x2c.*\216[\x00-\x2b].*$)|
 (?:^([\x00-\x2b].*)\x2c.*\217$)|
 (?:^((.*)[\x00-\x2b](.*))+\219\x2c\220.*\218$)|
 (?:^(.*)\x2d.*\221[\x00-\x2c].*$)|
 (?:^([\x00-\x2c].*)\x2d.*\222$)|
 (?:^((.*)[\x00-\x2c](.*))+\224\x2d\225.*\223$)|
 (?:^(.*)\x2e.*\226[\x00-\x2d].*$)|
 (?:^([\x00-\x2d].*)\x2e.*\227$)|
 (?:^((.*)[\x00-\x2d](.*))+\229\x2e\230.*\228$)|
 (?:^(.*)\x2f.*\231[\x00-\x2e].*$)|
 (?:^([\x00-\x2e].*)\x2f.*\232$)|
 (?:^((.*)[\x00-\x2e](.*))+\234\x2f\235.*\233$)|
 (?:^(.*)\x30.*\236[\x00-\x2f].*$)|
 (?:^([\x00-\x2f].*)\x30.*\237$)|
 (?:^((.*)[\x00-\x2f](.*))+\239\x30\240.*\238$)|
 (?:^(.*)\x31.*\241[\x00-\x30].*$)|
 (?:^([\x00-\x30].*)\x31.*\242$)|
 (?:^((.*)[\x00-\x30](.*))+\244\x31\245.*\243$)|
 (?:^(.*)\x32.*\246[\x00-\x31].*$)|
 (?:^([\x00-\x31].*)\x32.*\247$)|
 (?:^((.*)[\x00-\x31](.*))+\249\x32\250.*\248$)|
 (?:^(.*)\x33.*\251[\x00-\x32].*$)|
 (?:^([\x00-\x32].*)\x33.*\252$)|
 (?:^((.*)[\x00-\x32](.*))+\254\x33\255.*\253$)|
 (?:^(.*)\x34.*\256[\x00-\x33].*$)|
 (?:^([\x00-\x33].*)\x34.*\257$)|
 (?:^((.*)[\x00-\x33](.*))+\259\x34\260.*\258$)|
 (?:^(.*)\x35.*\261[\x00-\x34].*$)|
 (?:^([\x00-\x34].*)\x35.*\262$)|
 (?:^((.*)[\x00-\x34](.*))+\264\x35\265.*\263$)|
 (?:^(.*)\x36.*\266[\x00-\x35].*$)|
 (?:^([\x00-\x35].*)\x36.*\267$)|
 (?:^((.*)[\x00-\x35](.*))+\269\x36\270.*\268$)|
 (?:^(.*)\x37.*\271[\x00-\x36].*$)|
 (?:^([\x00-\x36].*)\x37.*\272$)|
 (?:^((.*)[\x00-\x36](.*))+\274\x37\275.*\273$)|
 (?:^(.*)\x38.*\276[\x00-\x37].*$)|
 (?:^([\x00-\x37].*)\x38.*\277$)|
 (?:^((.*)[\x00-\x37](.*))+\279\x38\280.*\278$)|
 (?:^(.*)\x39.*\281[\x00-\x38].*$)|
 (?:^([\x00-\x38].*)\x39.*\282$)|
 (?:^((.*)[\x00-\x38](.*))+\284\x39\285.*\283$)|
 (?:^(.*)\x3a.*\286[\x00-\x39].*$)|
 (?:^([\x00-\x39].*)\x3a.*\287$)|
 (?:^((.*)[\x00-\x39](.*))+\289\x3a\290.*\288$)|
 (?:^(.*)\x3b.*\291[\x00-\x3a].*$)|
 (?:^([\x00-\x3a].*)\x3b.*\292$)|
 (?:^((.*)[\x00-\x3a](.*))+\294\x3b\295.*\293$)|
 (?:^(.*)\x3c.*\296[\x00-\x3b].*$)|
 (?:^([\x00-\x3b].*)\x3c.*\297$)|
 (?:^((.*)[\x00-\x3b](.*))+\299\x3c\300.*\298$)|
 (?:^(.*)\x3d.*\301[\x00-\x3c].*$)|
 (?:^([\x00-\x3c].*)\x3d.*\302$)|
 (?:^((.*)[\x00-\x3c](.*))+\304\x3d\305.*\303$)|
 (?:^(.*)\x3e.*\306[\x00-\x3d].*$)|
 (?:^([\x00-\x3d].*)\x3e.*\307$)|
 (?:^((.*)[\x00-\x3d](.*))+\309\x3e\310.*\308$)|
 (?:^(.*)\x3f.*\311[\x00-\x3e].*$)|
 (?:^([\x00-\x3e].*)\x3f.*\312$)|
 (?:^((.*)[\x00-\x3e](.*))+\314\x3f\315.*\313$)|
 (?:^(.*)\x40.*\316[\x00-\x3f].*$)|
 (?:^([\x00-\x3f].*)\x40.*\317$)|
 (?:^((.*)[\x00-\x3f](.*))+\319\x40\320.*\318$)|
 (?:^(.*)\x41.*\321[\x00-\x40].*$)|
 (?:^([\x00-\x40].*)\x41.*\322$)|
 (?:^((.*)[\x00-\x40](.*))+\324\x41\325.*\323$)|
 (?:^(.*)\x42.*\326[\x00-\x41].*$)|
 (?:^([\x00-\x41].*)\x42.*\327$)|
 (?:^((.*)[\x00-\x41](.*))+\329\x42\330.*\328$)|
 (?:^(.*)\x43.*\331[\x00-\x42].*$)|
 (?:^([\x00-\x42].*)\x43.*\332$)|
 (?:^((.*)[\x00-\x42](.*))+\334\x43\335.*\333$)|
 (?:^(.*)\x44.*\336[\x00-\x43].*$)|
 (?:^([\x00-\x43].*)\x44.*\337$)|
 (?:^((.*)[\x00-\x43](.*))+\339\x44\340.*\338$)|
 (?:^(.*)\x45.*\341[\x00-\x44].*$)|
 (?:^([\x00-\x44].*)\x45.*\342$)|
 (?:^((.*)[\x00-\x44](.*))+\344\x45\345.*\343$)|
 (?:^(.*)\x46.*\346[\x00-\x45].*$)|
 (?:^([\x00-\x45].*)\x46.*\347$)|
 (?:^((.*)[\x00-\x45](.*))+\349\x46\350.*\348$)|
 (?:^(.*)\x47.*\351[\x00-\x46].*$)|
 (?:^([\x00-\x46].*)\x47.*\352$)|
 (?:^((.*)[\x00-\x46](.*))+\354\x47\355.*\353$)|
 (?:^(.*)\x48.*\356[\x00-\x47].*$)|
 (?:^([\x00-\x47].*)\x48.*\357$)|
 (?:^((.*)[\x00-\x47](.*))+\359\x48\360.*\358$)|
 (?:^(.*)\x49.*\361[\x00-\x48].*$)|
 (?:^([\x00-\x48].*)\x49.*\362$)|
 (?:^((.*)[\x00-\x48](.*))+\364\x49\365.*\363$)|
 (?:^(.*)\x4a.*\366[\x00-\x49].*$)|
 (?:^([\x00-\x49].*)\x4a.*\367$)|
 (?:^((.*)[\x00-\x49](.*))+\369\x4a\370.*\368$)|
 (?:^(.*)\x4b.*\371[\x00-\x4a].*$)|
 (?:^([\x00-\x4a].*)\x4b.*\372$)|
 (?:^((.*)[\x00-\x4a](.*))+\374\x4b\375.*\373$)|
 (?:^(.*)\x4c.*\376[\x00-\x4b].*$)|
 (?:^([\x00-\x4b].*)\x4c.*\377$)|
 (?:^((.*)[\x00-\x4b](.*))+\379\x4c\380.*\378$)|
 (?:^(.*)\x4d.*\381[\x00-\x4c].*$)|
 (?:^([\x00-\x4c].*)\x4d.*\382$)|
 (?:^((.*)[\x00-\x4c](.*))+\384\x4d\385.*\383$)|
 (?:^(.*)\x4e.*\386[\x00-\x4d].*$)|
 (?:^([\x00-\x4d].*)\x4e.*\387$)|
 (?:^((.*)[\x00-\x4d](.*))+\389\x4e\390.*\388$)|
 (?:^(.*)\x4f.*\391[\x00-\x4e].*$)|
 (?:^([\x00-\x4e].*)\x4f.*\392$)|
 (?:^((.*)[\x00-\x4e](.*))+\394\x4f\395.*\393$)|
 (?:^(.*)\x50.*\396[\x00-\x4f].*$)|
 (?:^([\x00-\x4f].*)\x50.*\397$)|
 (?:^((.*)[\x00-\x4f](.*))+\399\x50\400.*\398$)|
 (?:^(.*)\x51.*\401[\x00-\x50].*$)|
 (?:^([\x00-\x50].*)\x51.*\402$)|
 (?:^((.*)[\x00-\x50](.*))+\404\x51\405.*\403$)|
 (?:^(.*)\x52.*\406[\x00-\x51].*$)|
 (?:^([\x00-\x51].*)\x52.*\407$)|
 (?:^((.*)[\x00-\x51](.*))+\409\x52\410.*\408$)|
 (?:^(.*)\x53.*\411[\x00-\x52].*$)|
 (?:^([\x00-\x52].*)\x53.*\412$)|
 (?:^((.*)[\x00-\x52](.*))+\414\x53\415.*\413$)|
 (?:^(.*)\x54.*\416[\x00-\x53].*$)|
 (?:^([\x00-\x53].*)\x54.*\417$)|
 (?:^((.*)[\x00-\x53](.*))+\419\x54\420.*\418$)|
 (?:^(.*)\x55.*\421[\x00-\x54].*$)|
 (?:^([\x00-\x54].*)\x55.*\422$)|
 (?:^((.*)[\x00-\x54](.*))+\424\x55\425.*\423$)|
 (?:^(.*)\x56.*\426[\x00-\x55].*$)|
 (?:^([\x00-\x55].*)\x56.*\427$)|
 (?:^((.*)[\x00-\x55](.*))+\429\x56\430.*\428$)|
 (?:^(.*)\x57.*\431[\x00-\x56].*$)|
 (?:^([\x00-\x56].*)\x57.*\432$)|
 (?:^((.*)[\x00-\x56](.*))+\434\x57\435.*\433$)|
 (?:^(.*)\x58.*\436[\x00-\x57].*$)|
 (?:^([\x00-\x57].*)\x58.*\437$)|
 (?:^((.*)[\x00-\x57](.*))+\439\x58\440.*\438$)|
 (?:^(.*)\x59.*\441[\x00-\x58].*$)|
 (?:^([\x00-\x58].*)\x59.*\442$)|
 (?:^((.*)[\x00-\x58](.*))+\444\x59\445.*\443$)|
 (?:^(.*)\x5a.*\446[\x00-\x59].*$)|
 (?:^([\x00-\x59].*)\x5a.*\447$)|
 (?:^((.*)[\x00-\x59](.*))+\449\x5a\450.*\448$)|
 (?:^(.*)\x5b.*\451[\x00-\x5a].*$)|
 (?:^([\x00-\x5a].*)\x5b.*\452$)|
 (?:^((.*)[\x00-\x5a](.*))+\454\x5b\455.*\453$)|
 (?:^(.*)\x5c.*\456[\x00-\x5b].*$)|
 (?:^([\x00-\x5b].*)\x5c.*\457$)|
 (?:^((.*)[\x00-\x5b](.*))+\459\x5c\460.*\458$)|
 (?:^(.*)\x5d.*\461[\x00-\x5c].*$)|
 (?:^([\x00-\x5c].*)\x5d.*\462$)|
 (?:^((.*)[\x00-\x5c](.*))+\464\x5d\465.*\463$)|
 (?:^(.*)\x5e.*\466[\x00-\x5d].*$)|
 (?:^([\x00-\x5d].*)\x5e.*\467$)|
 (?:^((.*)[\x00-\x5d](.*))+\469\x5e\470.*\468$)|
 (?:^(.*)\x5f.*\471[\x00-\x5e].*$)|
 (?:^([\x00-\x5e].*)\x5f.*\472$)|
 (?:^((.*)[\x00-\x5e](.*))+\474\x5f\475.*\473$)|
 (?:^(.*)\x60.*\476[\x00-\x5f].*$)|
 (?:^([\x00-\x5f].*)\x60.*\477$)|
 (?:^((.*)[\x00-\x5f](.*))+\479\x60\480.*\478$)|
 (?:^(.*)\x61.*\481[\x00-\x60].*$)|
 (?:^([\x00-\x60].*)\x61.*\482$)|
 (?:^((.*)[\x00-\x60](.*))+\484\x61\485.*\483$)|
 (?:^(.*)\x62.*\486[\x00-\x61].*$)|
 (?:^([\x00-\x61].*)\x62.*\487$)|
 (?:^((.*)[\x00-\x61](.*))+\489\x62\490.*\488$)|
 (?:^(.*)\x63.*\491[\x00-\x62].*$)|
 (?:^([\x00-\x62].*)\x63.*\492$)|
 (?:^((.*)[\x00-\x62](.*))+\494\x63\495.*\493$)|
 (?:^(.*)\x64.*\496[\x00-\x63].*$)|
 (?:^([\x00-\x63].*)\x64.*\497$)|
 (?:^((.*)[\x00-\x63](.*))+\499\x64\500.*\498$)|
 (?:^(.*)\x65.*\501[\x00-\x64].*$)|
 (?:^([\x00-\x64].*)\x65.*\502$)|
 (?:^((.*)[\x00-\x64](.*))+\504\x65\505.*\503$)|
 (?:^(.*)\x66.*\506[\x00-\x65].*$)|
 (?:^([\x00-\x65].*)\x66.*\507$)|
 (?:^((.*)[\x00-\x65](.*))+\509\x66\510.*\508$)|
 (?:^(.*)\x67.*\511[\x00-\x66].*$)|
 (?:^([\x00-\x66].*)\x67.*\512$)|
 (?:^((.*)[\x00-\x66](.*))+\514\x67\515.*\513$)|
 (?:^(.*)\x68.*\516[\x00-\x67].*$)|
 (?:^([\x00-\x67].*)\x68.*\517$)|
 (?:^((.*)[\x00-\x67](.*))+\519\x68\520.*\518$)|
 (?:^(.*)\x69.*\521[\x00-\x68].*$)|
 (?:^([\x00-\x68].*)\x69.*\522$)|
 (?:^((.*)[\x00-\x68](.*))+\524\x69\525.*\523$)|
 (?:^(.*)\x6a.*\526[\x00-\x69].*$)|
 (?:^([\x00-\x69].*)\x6a.*\527$)|
 (?:^((.*)[\x00-\x69](.*))+\529\x6a\530.*\528$)|
 (?:^(.*)\x6b.*\531[\x00-\x6a].*$)|
 (?:^([\x00-\x6a].*)\x6b.*\532$)|
 (?:^((.*)[\x00-\x6a](.*))+\534\x6b\535.*\533$)|
 (?:^(.*)\x6c.*\536[\x00-\x6b].*$)|
 (?:^([\x00-\x6b].*)\x6c.*\537$)|
 (?:^((.*)[\x00-\x6b](.*))+\539\x6c\540.*\538$)|
 (?:^(.*)\x6d.*\541[\x00-\x6c].*$)|
 (?:^([\x00-\x6c].*)\x6d.*\542$)|
 (?:^((.*)[\x00-\x6c](.*))+\544\x6d\545.*\543$)|
 (?:^(.*)\x6e.*\546[\x00-\x6d].*$)|
 (?:^([\x00-\x6d].*)\x6e.*\547$)|
 (?:^((.*)[\x00-\x6d](.*))+\549\x6e\550.*\548$)|
 (?:^(.*)\x6f.*\551[\x00-\x6e].*$)|
 (?:^([\x00-\x6e].*)\x6f.*\552$)|
 (?:^((.*)[\x00-\x6e](.*))+\554\x6f\555.*\553$)|
 (?:^(.*)\x70.*\556[\x00-\x6f].*$)|
 (?:^([\x00-\x6f].*)\x70.*\557$)|
 (?:^((.*)[\x00-\x6f](.*))+\559\x70\560.*\558$)|
 (?:^(.*)\x71.*\561[\x00-\x70].*$)|
 (?:^([\x00-\x70].*)\x71.*\562$)|
 (?:^((.*)[\x00-\x70](.*))+\564\x71\565.*\563$)|
 (?:^(.*)\x72.*\566[\x00-\x71].*$)|
 (?:^([\x00-\x71].*)\x72.*\567$)|
 (?:^((.*)[\x00-\x71](.*))+\569\x72\570.*\568$)|
 (?:^(.*)\x73.*\571[\x00-\x72].*$)|
 (?:^([\x00-\x72].*)\x73.*\572$)|
 (?:^((.*)[\x00-\x72](.*))+\574\x73\575.*\573$)|
 (?:^(.*)\x74.*\576[\x00-\x73].*$)|
 (?:^([\x00-\x73].*)\x74.*\577$)|
 (?:^((.*)[\x00-\x73](.*))+\579\x74\580.*\578$)|
 (?:^(.*)\x75.*\581[\x00-\x74].*$)|
 (?:^([\x00-\x74].*)\x75.*\582$)|
 (?:^((.*)[\x00-\x74](.*))+\584\x75\585.*\583$)|
 (?:^(.*)\x76.*\586[\x00-\x75].*$)|
 (?:^([\x00-\x75].*)\x76.*\587$)|
 (?:^((.*)[\x00-\x75](.*))+\589\x76\590.*\588$)|
 (?:^(.*)\x77.*\591[\x00-\x76].*$)|
 (?:^([\x00-\x76].*)\x77.*\592$)|
 (?:^((.*)[\x00-\x76](.*))+\594\x77\595.*\593$)|
 (?:^(.*)\x78.*\596[\x00-\x77].*$)|
 (?:^([\x00-\x77].*)\x78.*\597$)|
 (?:^((.*)[\x00-\x77](.*))+\599\x78\600.*\598$)|
 (?:^(.*)\x79.*\601[\x00-\x78].*$)|
 (?:^([\x00-\x78].*)\x79.*\602$)|
 (?:^((.*)[\x00-\x78](.*))+\604\x79\605.*\603$)|
 (?:^(.*)\x7a.*\606[\x00-\x79].*$)|
 (?:^([\x00-\x79].*)\x7a.*\607$)|
 (?:^((.*)[\x00-\x79](.*))+\609\x7a\610.*\608$)|
 (?:^(.*)\x7b.*\611[\x00-\x7a].*$)|
 (?:^([\x00-\x7a].*)\x7b.*\612$)|
 (?:^((.*)[\x00-\x7a](.*))+\614\x7b\615.*\613$)|
 (?:^(.*)\x7c.*\616[\x00-\x7b].*$)|
 (?:^([\x00-\x7b].*)\x7c.*\617$)|
 (?:^((.*)[\x00-\x7b](.*))+\619\x7c\620.*\618$)|
 (?:^(.*)\x7d.*\621[\x00-\x7c].*$)|
 (?:^([\x00-\x7c].*)\x7d.*\622$)|
 (?:^((.*)[\x00-\x7c](.*))+\624\x7d\625.*\623$)|
 (?:^(.*)\x7e.*\626[\x00-\x7d].*$)|
 (?:^([\x00-\x7d].*)\x7e.*\627$)|
 (?:^((.*)[\x00-\x7d](.*))+\629\x7e\630.*\628$)|
 (?:^(.*)\x7f.*\631[\x00-\x7e].*$)|
 (?:^([\x00-\x7e].*)\x7f.*\632$)|
 (?:^((.*)[\x00-\x7e](.*))+\634\x7f\635.*\633$)|
 (?:^(.*)\x80.*\636[\x00-\x7f].*$)|
 (?:^([\x00-\x7f].*)\x80.*\637$)|
 (?:^((.*)[\x00-\x7f](.*))+\639\x80\640.*\638$)|
 (?:^(.*)\x81.*\641[\x00-\x80].*$)|
 (?:^([\x00-\x80].*)\x81.*\642$)|
 (?:^((.*)[\x00-\x80](.*))+\644\x81\645.*\643$)|
 (?:^(.*)\x82.*\646[\x00-\x81].*$)|
 (?:^([\x00-\x81].*)\x82.*\647$)|
 (?:^((.*)[\x00-\x81](.*))+\649\x82\650.*\648$)|
 (?:^(.*)\x83.*\651[\x00-\x82].*$)|
 (?:^([\x00-\x82].*)\x83.*\652$)|
 (?:^((.*)[\x00-\x82](.*))+\654\x83\655.*\653$)|
 (?:^(.*)\x84.*\656[\x00-\x83].*$)|
 (?:^([\x00-\x83].*)\x84.*\657$)|
 (?:^((.*)[\x00-\x83](.*))+\659\x84\660.*\658$)|
 (?:^(.*)\x85.*\661[\x00-\x84].*$)|
 (?:^([\x00-\x84].*)\x85.*\662$)|
 (?:^((.*)[\x00-\x84](.*))+\664\x85\665.*\663$)|
 (?:^(.*)\x86.*\666[\x00-\x85].*$)|
 (?:^([\x00-\x85].*)\x86.*\667$)|
 (?:^((.*)[\x00-\x85](.*))+\669\x86\670.*\668$)|
 (?:^(.*)\x87.*\671[\x00-\x86].*$)|
 (?:^([\x00-\x86].*)\x87.*\672$)|
 (?:^((.*)[\x00-\x86](.*))+\674\x87\675.*\673$)|
 (?:^(.*)\x88.*\676[\x00-\x87].*$)|
 (?:^([\x00-\x87].*)\x88.*\677$)|
 (?:^((.*)[\x00-\x87](.*))+\679\x88\680.*\678$)|
 (?:^(.*)\x89.*\681[\x00-\x88].*$)|
 (?:^([\x00-\x88].*)\x89.*\682$)|
 (?:^((.*)[\x00-\x88](.*))+\684\x89\685.*\683$)|
 (?:^(.*)\x8a.*\686[\x00-\x89].*$)|
 (?:^([\x00-\x89].*)\x8a.*\687$)|
 (?:^((.*)[\x00-\x89](.*))+\689\x8a\690.*\688$)|
 (?:^(.*)\x8b.*\691[\x00-\x8a].*$)|
 (?:^([\x00-\x8a].*)\x8b.*\692$)|
 (?:^((.*)[\x00-\x8a](.*))+\694\x8b\695.*\693$)|
 (?:^(.*)\x8c.*\696[\x00-\x8b].*$)|
 (?:^([\x00-\x8b].*)\x8c.*\697$)|
 (?:^((.*)[\x00-\x8b](.*))+\699\x8c\700.*\698$)|
 (?:^(.*)\x8d.*\701[\x00-\x8c].*$)|
 (?:^([\x00-\x8c].*)\x8d.*\702$)|
 (?:^((.*)[\x00-\x8c](.*))+\704\x8d\705.*\703$)|
 (?:^(.*)\x8e.*\706[\x00-\x8d].*$)|
 (?:^([\x00-\x8d].*)\x8e.*\707$)|
 (?:^((.*)[\x00-\x8d](.*))+\709\x8e\710.*\708$)|
 (?:^(.*)\x8f.*\711[\x00-\x8e].*$)|
 (?:^([\x00-\x8e].*)\x8f.*\712$)|
 (?:^((.*)[\x00-\x8e](.*))+\714\x8f\715.*\713$)|
 (?:^(.*)\x90.*\716[\x00-\x8f].*$)|
 (?:^([\x00-\x8f].*)\x90.*\717$)|
 (?:^((.*)[\x00-\x8f](.*))+\719\x90\720.*\718$)|
 (?:^(.*)\x91.*\721[\x00-\x90].*$)|
 (?:^([\x00-\x90].*)\x91.*\722$)|
 (?:^((.*)[\x00-\x90](.*))+\724\x91\725.*\723$)|
 (?:^(.*)\x92.*\726[\x00-\x91].*$)|
 (?:^([\x00-\x91].*)\x92.*\727$)|
 (?:^((.*)[\x00-\x91](.*))+\729\x92\730.*\728$)|
 (?:^(.*)\x93.*\731[\x00-\x92].*$)|
 (?:^([\x00-\x92].*)\x93.*\732$)|
 (?:^((.*)[\x00-\x92](.*))+\734\x93\735.*\733$)|
 (?:^(.*)\x94.*\736[\x00-\x93].*$)|
 (?:^([\x00-\x93].*)\x94.*\737$)|
 (?:^((.*)[\x00-\x93](.*))+\739\x94\740.*\738$)|
 (?:^(.*)\x95.*\741[\x00-\x94].*$)|
 (?:^([\x00-\x94].*)\x95.*\742$)|
 (?:^((.*)[\x00-\x94](.*))+\744\x95\745.*\743$)|
 (?:^(.*)\x96.*\746[\x00-\x95].*$)|
 (?:^([\x00-\x95].*)\x96.*\747$)|
 (?:^((.*)[\x00-\x95](.*))+\749\x96\750.*\748$)|
 (?:^(.*)\x97.*\751[\x00-\x96].*$)|
 (?:^([\x00-\x96].*)\x97.*\752$)|
 (?:^((.*)[\x00-\x96](.*))+\754\x97\755.*\753$)|
 (?:^(.*)\x98.*\756[\x00-\x97].*$)|
 (?:^([\x00-\x97].*)\x98.*\757$)|
 (?:^((.*)[\x00-\x97](.*))+\759\x98\760.*\758$)|
 (?:^(.*)\x99.*\761[\x00-\x98].*$)|
 (?:^([\x00-\x98].*)\x99.*\762$)|
 (?:^((.*)[\x00-\x98](.*))+\764\x99\765.*\763$)|
 (?:^(.*)\x9a.*\766[\x00-\x99].*$)|
 (?:^([\x00-\x99].*)\x9a.*\767$)|
 (?:^((.*)[\x00-\x99](.*))+\769\x9a\770.*\768$)|
 (?:^(.*)\x9b.*\771[\x00-\x9a].*$)|
 (?:^([\x00-\x9a].*)\x9b.*\772$)|
 (?:^((.*)[\x00-\x9a](.*))+\774\x9b\775.*\773$)|
 (?:^(.*)\x9c.*\776[\x00-\x9b].*$)|
 (?:^([\x00-\x9b].*)\x9c.*\777$)|
 (?:^((.*)[\x00-\x9b](.*))+\779\x9c\780.*\778$)|
 (?:^(.*)\x9d.*\781[\x00-\x9c].*$)|
 (?:^([\x00-\x9c].*)\x9d.*\782$)|
 (?:^((.*)[\x00-\x9c](.*))+\784\x9d\785.*\783$)|
 (?:^(.*)\x9e.*\786[\x00-\x9d].*$)|
 (?:^([\x00-\x9d].*)\x9e.*\787$)|
 (?:^((.*)[\x00-\x9d](.*))+\789\x9e\790.*\788$)|
 (?:^(.*)\x9f.*\791[\x00-\x9e].*$)|
 (?:^([\x00-\x9e].*)\x9f.*\792$)|
 (?:^((.*)[\x00-\x9e](.*))+\794\x9f\795.*\793$)|
 (?:^(.*)\xa0.*\796[\x00-\x9f].*$)|
 (?:^([\x00-\x9f].*)\xa0.*\797$)|
 (?:^((.*)[\x00-\x9f](.*))+\799\xa0\800.*\798$)|
 (?:^(.*)\xa1.*\801[\x00-\xa0].*$)|
 (?:^([\x00-\xa0].*)\xa1.*\802$)|
 (?:^((.*)[\x00-\xa0](.*))+\804\xa1\805.*\803$)|
 (?:^(.*)\xa2.*\806[\x00-\xa1].*$)|
 (?:^([\x00-\xa1].*)\xa2.*\807$)|
 (?:^((.*)[\x00-\xa1](.*))+\809\xa2\810.*\808$)|
 (?:^(.*)\xa3.*\811[\x00-\xa2].*$)|
 (?:^([\x00-\xa2].*)\xa3.*\812$)|
 (?:^((.*)[\x00-\xa2](.*))+\814\xa3\815.*\813$)|
 (?:^(.*)\xa4.*\816[\x00-\xa3].*$)|
 (?:^([\x00-\xa3].*)\xa4.*\817$)|
 (?:^((.*)[\x00-\xa3](.*))+\819\xa4\820.*\818$)|
 (?:^(.*)\xa5.*\821[\x00-\xa4].*$)|
 (?:^([\x00-\xa4].*)\xa5.*\822$)|
 (?:^((.*)[\x00-\xa4](.*))+\824\xa5\825.*\823$)|
 (?:^(.*)\xa6.*\826[\x00-\xa5].*$)|
 (?:^([\x00-\xa5].*)\xa6.*\827$)|
 (?:^((.*)[\x00-\xa5](.*))+\829\xa6\830.*\828$)|
 (?:^(.*)\xa7.*\831[\x00-\xa6].*$)|
 (?:^([\x00-\xa6].*)\xa7.*\832$)|
 (?:^((.*)[\x00-\xa6](.*))+\834\xa7\835.*\833$)|
 (?:^(.*)\xa8.*\836[\x00-\xa7].*$)|
 (?:^([\x00-\xa7].*)\xa8.*\837$)|
 (?:^((.*)[\x00-\xa7](.*))+\839\xa8\840.*\838$)|
 (?:^(.*)\xa9.*\841[\x00-\xa8].*$)|
 (?:^([\x00-\xa8].*)\xa9.*\842$)|
 (?:^((.*)[\x00-\xa8](.*))+\844\xa9\845.*\843$)|
 (?:^(.*)\xaa.*\846[\x00-\xa9].*$)|
 (?:^([\x00-\xa9].*)\xaa.*\847$)|
 (?:^((.*)[\x00-\xa9](.*))+\849\xaa\850.*\848$)|
 (?:^(.*)\xab.*\851[\x00-\xaa].*$)|
 (?:^([\x00-\xaa].*)\xab.*\852$)|
 (?:^((.*)[\x00-\xaa](.*))+\854\xab\855.*\853$)|
 (?:^(.*)\xac.*\856[\x00-\xab].*$)|
 (?:^([\x00-\xab].*)\xac.*\857$)|
 (?:^((.*)[\x00-\xab](.*))+\859\xac\860.*\858$)|
 (?:^(.*)\xad.*\861[\x00-\xac].*$)|
 (?:^([\x00-\xac].*)\xad.*\862$)|
 (?:^((.*)[\x00-\xac](.*))+\864\xad\865.*\863$)|
 (?:^(.*)\xae.*\866[\x00-\xad].*$)|
 (?:^([\x00-\xad].*)\xae.*\867$)|
 (?:^((.*)[\x00-\xad](.*))+\869\xae\870.*\868$)|
 (?:^(.*)\xaf.*\871[\x00-\xae].*$)|
 (?:^([\x00-\xae].*)\xaf.*\872$)|
 (?:^((.*)[\x00-\xae](.*))+\874\xaf\875.*\873$)|
 (?:^(.*)\xb0.*\876[\x00-\xaf].*$)|
 (?:^([\x00-\xaf].*)\xb0.*\877$)|
 (?:^((.*)[\x00-\xaf](.*))+\879\xb0\880.*\878$)|
 (?:^(.*)\xb1.*\881[\x00-\xb0].*$)|
 (?:^([\x00-\xb0].*)\xb1.*\882$)|
 (?:^((.*)[\x00-\xb0](.*))+\884\xb1\885.*\883$)|
 (?:^(.*)\xb2.*\886[\x00-\xb1].*$)|
 (?:^([\x00-\xb1].*)\xb2.*\887$)|
 (?:^((.*)[\x00-\xb1](.*))+\889\xb2\890.*\888$)|
 (?:^(.*)\xb3.*\891[\x00-\xb2].*$)|
 (?:^([\x00-\xb2].*)\xb3.*\892$)|
 (?:^((.*)[\x00-\xb2](.*))+\894\xb3\895.*\893$)|
 (?:^(.*)\xb4.*\896[\x00-\xb3].*$)|
 (?:^([\x00-\xb3].*)\xb4.*\897$)|
 (?:^((.*)[\x00-\xb3](.*))+\899\xb4\900.*\898$)|
 (?:^(.*)\xb5.*\901[\x00-\xb4].*$)|
 (?:^([\x00-\xb4].*)\xb5.*\902$)|
 (?:^((.*)[\x00-\xb4](.*))+\904\xb5\905.*\903$)|
 (?:^(.*)\xb6.*\906[\x00-\xb5].*$)|
 (?:^([\x00-\xb5].*)\xb6.*\907$)|
 (?:^((.*)[\x00-\xb5](.*))+\909\xb6\910.*\908$)|
 (?:^(.*)\xb7.*\911[\x00-\xb6].*$)|
 (?:^([\x00-\xb6].*)\xb7.*\912$)|
 (?:^((.*)[\x00-\xb6](.*))+\914\xb7\915.*\913$)|
 (?:^(.*)\xb8.*\916[\x00-\xb7].*$)|
 (?:^([\x00-\xb7].*)\xb8.*\917$)|
 (?:^((.*)[\x00-\xb7](.*))+\919\xb8\920.*\918$)|
 (?:^(.*)\xb9.*\921[\x00-\xb8].*$)|
 (?:^([\x00-\xb8].*)\xb9.*\922$)|
 (?:^((.*)[\x00-\xb8](.*))+\924\xb9\925.*\923$)|
 (?:^(.*)\xba.*\926[\x00-\xb9].*$)|
 (?:^([\x00-\xb9].*)\xba.*\927$)|
 (?:^((.*)[\x00-\xb9](.*))+\929\xba\930.*\928$)|
 (?:^(.*)\xbb.*\931[\x00-\xba].*$)|
 (?:^([\x00-\xba].*)\xbb.*\932$)|
 (?:^((.*)[\x00-\xba](.*))+\934\xbb\935.*\933$)|
 (?:^(.*)\xbc.*\936[\x00-\xbb].*$)|
 (?:^([\x00-\xbb].*)\xbc.*\937$)|
 (?:^((.*)[\x00-\xbb](.*))+\939\xbc\940.*\938$)|
 (?:^(.*)\xbd.*\941[\x00-\xbc].*$)|
 (?:^([\x00-\xbc].*)\xbd.*\942$)|
 (?:^((.*)[\x00-\xbc](.*))+\944\xbd\945.*\943$)|
 (?:^(.*)\xbe.*\946[\x00-\xbd].*$)|
 (?:^([\x00-\xbd].*)\xbe.*\947$)|
 (?:^((.*)[\x00-\xbd](.*))+\949\xbe\950.*\948$)|
 (?:^(.*)\xbf.*\951[\x00-\xbe].*$)|
 (?:^([\x00-\xbe].*)\xbf.*\952$)|
 (?:^((.*)[\x00-\xbe](.*))+\954\xbf\955.*\953$)|
 (?:^(.*)\xc0.*\956[\x00-\xbf].*$)|
 (?:^([\x00-\xbf].*)\xc0.*\957$)|
 (?:^((.*)[\x00-\xbf](.*))+\959\xc0\960.*\958$)|
 (?:^(.*)\xc1.*\961[\x00-\xc0].*$)|
 (?:^([\x00-\xc0].*)\xc1.*\962$)|
 (?:^((.*)[\x00-\xc0](.*))+\964\xc1\965.*\963$)|
 (?:^(.*)\xc2.*\966[\x00-\xc1].*$)|
 (?:^([\x00-\xc1].*)\xc2.*\967$)|
 (?:^((.*)[\x00-\xc1](.*))+\969\xc2\970.*\968$)|
 (?:^(.*)\xc3.*\971[\x00-\xc2].*$)|
 (?:^([\x00-\xc2].*)\xc3.*\972$)|
 (?:^((.*)[\x00-\xc2](.*))+\974\xc3\975.*\973$)|
 (?:^(.*)\xc4.*\976[\x00-\xc3].*$)|
 (?:^([\x00-\xc3].*)\xc4.*\977$)|
 (?:^((.*)[\x00-\xc3](.*))+\979\xc4\980.*\978$)|
 (?:^(.*)\xc5.*\981[\x00-\xc4].*$)|
 (?:^([\x00-\xc4].*)\xc5.*\982$)|
 (?:^((.*)[\x00-\xc4](.*))+\984\xc5\985.*\983$)|
 (?:^(.*)\xc6.*\986[\x00-\xc5].*$)|
 (?:^([\x00-\xc5].*)\xc6.*\987$)|
 (?:^((.*)[\x00-\xc5](.*))+\989\xc6\990.*\988$)|
 (?:^(.*)\xc7.*\991[\x00-\xc6].*$)|
 (?:^([\x00-\xc6].*)\xc7.*\992$)|
 (?:^((.*)[\x00-\xc6](.*))+\994\xc7\995.*\993$)|
 (?:^(.*)\xc8.*\996[\x00-\xc7].*$)|
 (?:^([\x00-\xc7].*)\xc8.*\997$)|
 (?:^((.*)[\x00-\xc7](.*))+\999\xc8\1000.*\998$)|
 (?:^(.*)\xc9.*\1001[\x00-\xc8].*$)|
 (?:^([\x00-\xc8].*)\xc9.*\1002$)|
 (?:^((.*)[\x00-\xc8](.*))+\1004\xc9\1005.*\1003$)|
 (?:^(.*)\xca.*\1006[\x00-\xc9].*$)|
 (?:^([\x00-\xc9].*)\xca.*\1007$)|
 (?:^((.*)[\x00-\xc9](.*))+\1009\xca\1010.*\1008$)|
 (?:^(.*)\xcb.*\1011[\x00-\xca].*$)|
 (?:^([\x00-\xca].*)\xcb.*\1012$)|
 (?:^((.*)[\x00-\xca](.*))+\1014\xcb\1015.*\1013$)|
 (?:^(.*)\xcc.*\1016[\x00-\xcb].*$)|
 (?:^([\x00-\xcb].*)\xcc.*\1017$)|
 (?:^((.*)[\x00-\xcb](.*))+\1019\xcc\1020.*\1018$)|
 (?:^(.*)\xcd.*\1021[\x00-\xcc].*$)|
 (?:^([\x00-\xcc].*)\xcd.*\1022$)|
 (?:^((.*)[\x00-\xcc](.*))+\1024\xcd\1025.*\1023$)|
 (?:^(.*)\xce.*\1026[\x00-\xcd].*$)|
 (?:^([\x00-\xcd].*)\xce.*\1027$)|
 (?:^((.*)[\x00-\xcd](.*))+\1029\xce\1030.*\1028$)|
 (?:^(.*)\xcf.*\1031[\x00-\xce].*$)|
 (?:^([\x00-\xce].*)\xcf.*\1032$)|
 (?:^((.*)[\x00-\xce](.*))+\1034\xcf\1035.*\1033$)|
 (?:^(.*)\xd0.*\1036[\x00-\xcf].*$)|
 (?:^([\x00-\xcf].*)\xd0.*\1037$)|
 (?:^((.*)[\x00-\xcf](.*))+\1039\xd0\1040.*\1038$)|
 (?:^(.*)\xd1.*\1041[\x00-\xd0].*$)|
 (?:^([\x00-\xd0].*)\xd1.*\1042$)|
 (?:^((.*)[\x00-\xd0](.*))+\1044\xd1\1045.*\1043$)|
 (?:^(.*)\xd2.*\1046[\x00-\xd1].*$)|
 (?:^([\x00-\xd1].*)\xd2.*\1047$)|
 (?:^((.*)[\x00-\xd1](.*))+\1049\xd2\1050.*\1048$)|
 (?:^(.*)\xd3.*\1051[\x00-\xd2].*$)|
 (?:^([\x00-\xd2].*)\xd3.*\1052$)|
 (?:^((.*)[\x00-\xd2](.*))+\1054\xd3\1055.*\1053$)|
 (?:^(.*)\xd4.*\1056[\x00-\xd3].*$)|
 (?:^([\x00-\xd3].*)\xd4.*\1057$)|
 (?:^((.*)[\x00-\xd3](.*))+\1059\xd4\1060.*\1058$)|
 (?:^(.*)\xd5.*\1061[\x00-\xd4].*$)|
 (?:^([\x00-\xd4].*)\xd5.*\1062$)|
 (?:^((.*)[\x00-\xd4](.*))+\1064\xd5\1065.*\1063$)|
 (?:^(.*)\xd6.*\1066[\x00-\xd5].*$)|
 (?:^([\x00-\xd5].*)\xd6.*\1067$)|
 (?:^((.*)[\x00-\xd5](.*))+\1069\xd6\1070.*\1068$)|
 (?:^(.*)\xd7.*\1071[\x00-\xd6].*$)|
 (?:^([\x00-\xd6].*)\xd7.*\1072$)|
 (?:^((.*)[\x00-\xd6](.*))+\1074\xd7\1075.*\1073$)|
 (?:^(.*)\xd8.*\1076[\x00-\xd7].*$)|
 (?:^([\x00-\xd7].*)\xd8.*\1077$)|
 (?:^((.*)[\x00-\xd7](.*))+\1079\xd8\1080.*\1078$)|
 (?:^(.*)\xd9.*\1081[\x00-\xd8].*$)|
 (?:^([\x00-\xd8].*)\xd9.*\1082$)|
 (?:^((.*)[\x00-\xd8](.*))+\1084\xd9\1085.*\1083$)|
 (?:^(.*)\xda.*\1086[\x00-\xd9].*$)|
 (?:^([\x00-\xd9].*)\xda.*\1087$)|
 (?:^((.*)[\x00-\xd9](.*))+\1089\xda\1090.*\1088$)|
 (?:^(.*)\xdb.*\1091[\x00-\xda].*$)|
 (?:^([\x00-\xda].*)\xdb.*\1092$)|
 (?:^((.*)[\x00-\xda](.*))+\1094\xdb\1095.*\1093$)|
 (?:^(.*)\xdc.*\1096[\x00-\xdb].*$)|
 (?:^([\x00-\xdb].*)\xdc.*\1097$)|
 (?:^((.*)[\x00-\xdb](.*))+\1099\xdc\1100.*\1098$)|
 (?:^(.*)\xdd.*\1101[\x00-\xdc].*$)|
 (?:^([\x00-\xdc].*)\xdd.*\1102$)|
 (?:^((.*)[\x00-\xdc](.*))+\1104\xdd\1105.*\1103$)|
 (?:^(.*)\xde.*\1106[\x00-\xdd].*$)|
 (?:^([\x00-\xdd].*)\xde.*\1107$)|
 (?:^((.*)[\x00-\xdd](.*))+\1109\xde\1110.*\1108$)|
 (?:^(.*)\xdf.*\1111[\x00-\xde].*$)|
 (?:^([\x00-\xde].*)\xdf.*\1112$)|
 (?:^((.*)[\x00-\xde](.*))+\1114\xdf\1115.*\1113$)|
 (?:^(.*)\xe0.*\1116[\x00-\xdf].*$)|
 (?:^([\x00-\xdf].*)\xe0.*\1117$)|
 (?:^((.*)[\x00-\xdf](.*))+\1119\xe0\1120.*\1118$)|
 (?:^(.*)\xe1.*\1121[\x00-\xe0].*$)|
 (?:^([\x00-\xe0].*)\xe1.*\1122$)|
 (?:^((.*)[\x00-\xe0](.*))+\1124\xe1\1125.*\1123$)|
 (?:^(.*)\xe2.*\1126[\x00-\xe1].*$)|
 (?:^([\x00-\xe1].*)\xe2.*\1127$)|
 (?:^((.*)[\x00-\xe1](.*))+\1129\xe2\1130.*\1128$)|
 (?:^(.*)\xe3.*\1131[\x00-\xe2].*$)|
 (?:^([\x00-\xe2].*)\xe3.*\1132$)|
 (?:^((.*)[\x00-\xe2](.*))+\1134\xe3\1135.*\1133$)|
 (?:^(.*)\xe4.*\1136[\x00-\xe3].*$)|
 (?:^([\x00-\xe3].*)\xe4.*\1137$)|
 (?:^((.*)[\x00-\xe3](.*))+\1139\xe4\1140.*\1138$)|
 (?:^(.*)\xe5.*\1141[\x00-\xe4].*$)|
 (?:^([\x00-\xe4].*)\xe5.*\1142$)|
 (?:^((.*)[\x00-\xe4](.*))+\1144\xe5\1145.*\1143$)|
 (?:^(.*)\xe6.*\1146[\x00-\xe5].*$)|
 (?:^([\x00-\xe5].*)\xe6.*\1147$)|
 (?:^((.*)[\x00-\xe5](.*))+\1149\xe6\1150.*\1148$)|
 (?:^(.*)\xe7.*\1151[\x00-\xe6].*$)|
 (?:^([\x00-\xe6].*)\xe7.*\1152$)|
 (?:^((.*)[\x00-\xe6](.*))+\1154\xe7\1155.*\1153$)|
 (?:^(.*)\xe8.*\1156[\x00-\xe7].*$)|
 (?:^([\x00-\xe7].*)\xe8.*\1157$)|
 (?:^((.*)[\x00-\xe7](.*))+\1159\xe8\1160.*\1158$)|
 (?:^(.*)\xe9.*\1161[\x00-\xe8].*$)|
 (?:^([\x00-\xe8].*)\xe9.*\1162$)|
 (?:^((.*)[\x00-\xe8](.*))+\1164\xe9\1165.*\1163$)|
 (?:^(.*)\xea.*\1166[\x00-\xe9].*$)|
 (?:^([\x00-\xe9].*)\xea.*\1167$)|
 (?:^((.*)[\x00-\xe9](.*))+\1169\xea\1170.*\1168$)|
 (?:^(.*)\xeb.*\1171[\x00-\xea].*$)|
 (?:^([\x00-\xea].*)\xeb.*\1172$)|
 (?:^((.*)[\x00-\xea](.*))+\1174\xeb\1175.*\1173$)|
 (?:^(.*)\xec.*\1176[\x00-\xeb].*$)|
 (?:^([\x00-\xeb].*)\xec.*\1177$)|
 (?:^((.*)[\x00-\xeb](.*))+\1179\xec\1180.*\1178$)|
 (?:^(.*)\xed.*\1181[\x00-\xec].*$)|
 (?:^([\x00-\xec].*)\xed.*\1182$)|
 (?:^((.*)[\x00-\xec](.*))+\1184\xed\1185.*\1183$)|
 (?:^(.*)\xee.*\1186[\x00-\xed].*$)|
 (?:^([\x00-\xed].*)\xee.*\1187$)|
 (?:^((.*)[\x00-\xed](.*))+\1189\xee\1190.*\1188$)|
 (?:^(.*)\xef.*\1191[\x00-\xee].*$)|
 (?:^([\x00-\xee].*)\xef.*\1192$)|
 (?:^((.*)[\x00-\xee](.*))+\1194\xef\1195.*\1193$)|
 (?:^(.*)\xf0.*\1196[\x00-\xef].*$)|
 (?:^([\x00-\xef].*)\xf0.*\1197$)|
 (?:^((.*)[\x00-\xef](.*))+\1199\xf0\1200.*\1198$)|
 (?:^(.*)\xf1.*\1201[\x00-\xf0].*$)|
 (?:^([\x00-\xf0].*)\xf1.*\1202$)|
 (?:^((.*)[\x00-\xf0](.*))+\1204\xf1\1205.*\1203$)|
 (?:^(.*)\xf2.*\1206[\x00-\xf1].*$)|
 (?:^([\x00-\xf1].*)\xf2.*\1207$)|
 (?:^((.*)[\x00-\xf1](.*))+\1209\xf2\1210.*\1208$)|
 (?:^(.*)\xf3.*\1211[\x00-\xf2].*$)|
 (?:^([\x00-\xf2].*)\xf3.*\1212$)|
 (?:^((.*)[\x00-\xf2](.*))+\1214\xf3\1215.*\1213$)|
 (?:^(.*)\xf4.*\1216[\x00-\xf3].*$)|
 (?:^([\x00-\xf3].*)\xf4.*\1217$)|
 (?:^((.*)[\x00-\xf3](.*))+\1219\xf4\1220.*\1218$)|
 (?:^(.*)\xf5.*\1221[\x00-\xf4].*$)|
 (?:^([\x00-\xf4].*)\xf5.*\1222$)|
 (?:^((.*)[\x00-\xf4](.*))+\1224\xf5\1225.*\1223$)|
 (?:^(.*)\xf6.*\1226[\x00-\xf5].*$)|
 (?:^([\x00-\xf5].*)\xf6.*\1227$)|
 (?:^((.*)[\x00-\xf5](.*))+\1229\xf6\1230.*\1228$)|
 (?:^(.*)\xf7.*\1231[\x00-\xf6].*$)|
 (?:^([\x00-\xf6].*)\xf7.*\1232$)|
 (?:^((.*)[\x00-\xf6](.*))+\1234\xf7\1235.*\1233$)|
 (?:^(.*)\xf8.*\1236[\x00-\xf7].*$)|
 (?:^([\x00-\xf7].*)\xf8.*\1237$)|
 (?:^((.*)[\x00-\xf7](.*))+\1239\xf8\1240.*\1238$)|
 (?:^(.*)\xf9.*\1241[\x00-\xf8].*$)|
 (?:^([\x00-\xf8].*)\xf9.*\1242$)|
 (?:^((.*)[\x00-\xf8](.*))+\1244\xf9\1245.*\1243$)|
 (?:^(.*)\xfa.*\1246[\x00-\xf9].*$)|
 (?:^([\x00-\xf9].*)\xfa.*\1247$)|
 (?:^((.*)[\x00-\xf9](.*))+\1249\xfa\1250.*\1248$)|
 (?:^(.*)\xfb.*\1251[\x00-\xfa].*$)|
 (?:^([\x00-\xfa].*)\xfb.*\1252$)|
 (?:^((.*)[\x00-\xfa](.*))+\1254\xfb\1255.*\1253$)|
 (?:^(.*)\xfc.*\1256[\x00-\xfb].*$)|
 (?:^([\x00-\xfb].*)\xfc.*\1257$)|
 (?:^((.*)[\x00-\xfb](.*))+\1259\xfc\1260.*\1258$)|
 (?:^(.*)\xfd.*\1261[\x00-\xfc].*$)|
 (?:^([\x00-\xfc].*)\xfd.*\1262$)|
 (?:^((.*)[\x00-\xfc](.*))+\1264\xfd\1265.*\1263$)|
 (?:^(.*)\xfe.*\1266[\x00-\xfd].*$)|
 (?:^([\x00-\xfd].*)\xfe.*\1267$)|
 (?:^((.*)[\x00-\xfd](.*))+\1269\xfe\1270.*\1268$)|
 (?:^(.*)\xff.*\1271[\x00-\xfe].*$)|
 (?:^([\x00-\xfe].*)\xff.*\1272$)|
 (?:^((.*)[\x00-\xfe](.*))+\1274\xff\1275.*\1273$)/sx



Abigail

Reply via email to