from epstein_files.documents.documents.categories import Interesting, Neutral
from epstein_files.documents.config.config_builder import letter
from epstein_files.documents.config.doc_cfg import NO_TRUNCATE, CommunicationCfg, DocCfg, EmailCfg
from epstein_files.util.helpers.string_helper import join_truthy, quote
from epstein_files.people.names import *
from epstein_files.util.constant.strings import *
from epstein_files.util.logging import logger

PRUSAKOVA_BERKELY = 'Epstein paid for Prusakova to go to Berkeley'
WOMEN_EMPOWERMENT = f"Women Empowerment (WE) conference"


GIRLS_CFGS = [
    DocCfg(id='019300', author=SVETLANA_POZHIDAEVA, description=f'{WOMEN_EMPOWERMENT} f. {KATHRYN_RUEMMLER}', date='2019-04-05', show_full_panel=True),
    DocCfg(id='022267', author=SVETLANA_POZHIDAEVA, description=f'{WOMEN_EMPOWERMENT} founder essay about growing the seminar business'),
    DocCfg(id='022407', author=SVETLANA_POZHIDAEVA, description=f'{WOMEN_EMPOWERMENT} seminar pitch deck'),
    EmailCfg(id='025874', description=f"possibly about {VIRGINIA_GIUFFRE} {QUESTION_MARKS}"),
    EmailCfg(id='030609', duplicate_ids=['030495']),

    # DOJ Files
    letter('EFTA00078198', 'Marsh Law Firm', [USANYS], "allegations of sexual abuse at Epstein's house", '2020-11-10'),
    DocCfg(id='EFTA00306033', author=SERGEY_BELYAKOV, description='Epstein Russian visa', show_full_panel=True),
    DocCfg(id='EFTA00014648', description='former employee "understood that all the girls were school girls"', show_full_panel=True),
    DocCfg(
        id='EFTA00077200',
        author='French Ministry of Justice',
        date='2020-07-08',
        description=f'allegations that {JEAN_LUC_BRUNEL} drugged a model and Epstein + Ghislaine assaulted a minor',
    ),
    DocCfg(
        id='EFTA00079597',
        author='French Ministry of Justice',
        description=f"allegations of sexual assault by {JEAN_LUC_BRUNEL}",
        date='2020-07-08',
    ),
    CommunicationCfg(
        id='EFTA01612733',
        author=MARIA_PRUSAKOVA,
        author_uncertain=True,
        comment='WhatsApp',
        # TODO: highlight_quote
        description=f'says being Epstein\'s lawyer would be "way better than supplying ladies", also discusses Medici Bank',
        show_full_panel=True,
    ),
    CommunicationCfg(
        id='EFTA01616933',
        description='"now im finding pussy for you" / "no one can beat your pussy network"',  # TODO: should be highlight_quote
        show_full_panel=True,
    ),

    EmailCfg(
        id='EFTA02339926',
        author=JULIA_SANTOS,
        author_uncertain='https://www.reddit.com/r/Epstein/comments/1qwbn5i/trafficker_julia_santos/',
        highlight_quote='very sweet and might be naughty t=o',
    ),
    EmailCfg(id='EFTA01781620', author=KIRA_DIKHTYAR, author_uncertain='"Sent from AOL Mobile Mail" in chain'),
    EmailCfg(id='EFTA01805304', author=KIRA_DIKHTYAR, author_reason='Jmail', truncate_to=NO_TRUNCATE),
    EmailCfg(id='EFTA01766199', author=KIRA_DIKHTYAR, author_reason='reply', truncate_to=NO_TRUNCATE),
    EmailCfg(
        id='033178',
        author=MARIA_PRUSAKOVA,
        author_reason=PRUSAKOVA_BERKELY,
        description='Masha Prusso asks about Zubair Khan, discusses recruiting girls for Epstein',
        is_interesting=True,
    ),
    EmailCfg(
        id='EFTA00669538',
        author=MARIA_PRUSAKOVA,
        author_uncertain='discussion of "experiments"',
        description='blowjob instructions, sexual experiments',
        truncate_to=NO_TRUNCATE,
    ),
    EmailCfg(
        id='EFTA02010589',
        author=MARIA_PRUSAKOVA,
        date='2012-01-31 9:16 PM',
        description=f'raunchy email mentioning "Sasha Grey guy", note {BORIS_NIKOLIC} and bgC3 in SMTP info at end',
        is_interesting=True,
        recipients=[JEFFREY_EPSTEIN],
    ),
    EmailCfg(
        id='EFTA00928879',
        author=MARIA_PRUSAKOVA,
        author_uncertain='sounds like Prusakova',
        description=f'raunchy email, "find fun girls"',
    ),
    EmailCfg(
        id='EFTA01841553',
        author=MARIA_PRUSAKOVA,
        author_uncertain=True,
        highlight_quote='being fucked in the ass hurts me a lot',
        truncate_to=900,
    ),
    EmailCfg(
        id='032374',
        author=MARIA_PRUSAKOVA,
        author_reason=PRUSAKOVA_BERKELY,
        description='boyfriend named Christian mentioned',
        is_interesting=True,
    ),
    EmailCfg(
        id='EFTA00997627',
        highlight_quote='you will be introduced to more gorgeous Alicas, i promise',
        recipients=[MARIA_PRUSAKOVA],
        recipient_uncertain='Kind regards/Cordialement in signature',
    ),
    EmailCfg(id='032375', author=MARIA_PRUSAKOVA, author_reason=PRUSAKOVA_BERKELY, truncate_to=295),
    EmailCfg(id='033246', author=MARIA_PRUSAKOVA, author_reason='Kind regards/Cordialement in signature'),
    EmailCfg(id='EFTA01990168', author=MARIA_PRUSAKOVA, author_uncertain='"experiments"', is_interesting=True),
    EmailCfg(id='EFTA00671662', author='Miranda', author_reason='quoted signature', description="yet another girl finder"),
    EmailCfg(id='EFTA02441035', author=STEVEN_VICTOR_MD, description="complaints about free medical treatment for Epstein's girls"),
    EmailCfg(
        id='EFTA00659941',
        author=SVETLANA_POZHIDAEVA,
        author_reason='https://tommycarstensen.com/epstein/findings.html#victim-diary-names-multiple-men',
        description=f'{SVETLANA_POZHIDAEVA} forwarding her intimate conversations with {JOSHUA_FINK} to Epstein (to what end?)',
        is_interesting=True,
    ),
    EmailCfg(
        id='EFTA01844498',
        author=SVETLANA_POZHIDAEVA,
        author_reason='mentions Josh (Fink), BlackBerry signature',
        description=f"{JOSHUA_FINK} thinks Svetlana had an affair with Navalny {QUESTION_MARKS}",
    ),
    EmailCfg(
        id='EFTA01868066',
        # author=SVETLANA_POZHIDAEVA,
        # author_uncertain=f"{JOSHUA_FINK} + Sent from Blackberry",
        description=f'impersonating [someone] talking to {JOSHUA_FINK}',
        duplicate_ids=['EFTA01995523'],
        is_interesting=True,
    ),
    EmailCfg(
        id='EFTA01870453',
        author=SVETLANA_POZHIDAEVA,
        author_uncertain=f"{JOSHUA_FINK} texts",
        description=f'{JOSHUA_FINK} and {SVETLANA_POZHIDAEVA} discuss an abortion ("You have known you are preg for a week")',
    ),
    EmailCfg(id='EFTA01877224', author=SVETLANA_POZHIDAEVA, author_uncertain=f"{JOSHUA_FINK} texts"),
    EmailCfg(id='EFTA00937507', author=SVETLANA_POZHIDAEVA, author_uncertain=f"{JOSHUA_FINK} texts"),
    EmailCfg(
        id='EFTA01991293',
        author=SVETLANA_POZHIDAEVA,
        author_reason=f"convo about {JOSHUA_FINK} breakup",
        description=f'did {ELON_MUSK} date {SVETLANA_POZHIDAEVA} after she blackmailed {JOSHUA_FINK}? ("he asked 6 times if Elon [gave] me anything")',
        is_interesting=True,
    ),
    EmailCfg(
        id='EFTA01998247',
        author=SVETLANA_POZHIDAEVA,
        author_uncertain='device signature',
        description=f'trying to recruit {ELON_MUSK}?',
        is_interesting=True,
        show_with_name=ELON_MUSK,
    ),
    EmailCfg(
        id='EFTA01772677',
        author=SVETLANA_POZHIDAEVA,
        author_uncertain='device signature',
    ),
    EmailCfg(id='EFTA02431535', author=UNKNOWN_GIRL),
    EmailCfg(id='EFTA01875607', author=UNKNOWN_GIRL),
    EmailCfg(id='EFTA00901581', author=UNKNOWN_GIRL),
    EmailCfg(id='EFTA02449477', author=UNKNOWN_GIRL, description='argument about finding girls for Epstein', truncate_to=NO_TRUNCATE),
    EmailCfg(id='EFTA01782788', author=UNKNOWN_GIRL, description='"I need 21-24, wiling to travel and work hard"', truncate_to=NO_TRUNCATE),
    EmailCfg(id='EFTA02027844', author=UNKNOWN_GIRL, description='permission to "fuck someone with a condom"', truncate_to=NO_TRUNCATE),
    EmailCfg(id='EFTA00763537', author=UNKNOWN_GIRL, highlight_quote="19 but I look younger than her"),
    EmailCfg(id='EFTA00738485', recipients=[STEVEN_VICTOR_MD], truncate_to=640),

    # Recipients
    EmailCfg(
        id='EFTA02223525',
        recipients=[ANNA_KASATKINA, BELLA_KLEIN, JANUSZ_BANASIAK],
        recipient_uncertain='https://www.reddit.com/r/Epstein/comments/1qwbn5i/trafficker_julia_santos/',
        truncate_to=800
    ),
    EmailCfg(
        id='EFTA01857628',
        recipients=[RENATA_BOLOTOVA],
        recipient_uncertain='https://x.com/FlippersUpNow/status/2023457206109155345',
        description='"igrushki" means "toys" in Russian',
    ),
    EmailCfg(
        id='EFTA00857669',
        description=f"{SANITA} is maybe the only great girl with right thinking",
        recipients=[SANITA],
        truncate_to=NO_TRUNCATE,
    ),
    EmailCfg(
        id='EFTA02560884',
        description=f"is Epstein drafting {SVETLANA_POZHIDAEVA}'s responses to {JOSHUA_FINK} {QUESTION_MARKS}",
        recipients=[SVETLANA_POZHIDAEVA],
        recipient_uncertain=f"{JOSHUA_FINK} texts",
    ),
    EmailCfg(
        id='EFTA02543909',
        author_reason='p.selena@yahoo.com in replies',
        description=f'{SVETLANA_POZHIDAEVA}\'s relationship with "J" ({JOSHUA_FINK}?) and "B" {QUESTION_MARKS}',
        recipients=[SVETLANA_POZHIDAEVA],
    ),
    EmailCfg(
        id='EFTA00888467',
        description=f'very strange conversation about "Peter" (maybe {PETER_MANDELSON}?) and "mj" (maybe {HASSAN_JAMEEL}?)',
        is_interesting=True,
        recipients=[UNKNOWN_GIRL],
        truncate_to=NO_TRUNCATE,
    ),
    EmailCfg(id='EFTA00897668', recipients=[UNKNOWN_GIRL], people=[JEAN_LUC_BRUNEL, JEFFREY_EPSTEIN, UNKNOWN_GIRL]),
    EmailCfg(id='EFTA00848644', recipients=[UNKNOWN_GIRL], is_interesting=True, description='"take a picture of your pussy"'),
    EmailCfg(
        id='EFTA01026268',
        author_reason='juliador89®mail.ru is unredacted',
        description=f"Epstein pressuring {YULIA_DOROKHINA} to find girls in Russia and send him nude pics and videos",
        recipients=[YULIA_DOROKHINA],
        truncate_to=3100,
    ),
    EmailCfg(id='EFTA00078209', description='allegations about Russian organized crime, sex trafficking', truncate_to=8500),
    EmailCfg(id='EFTA01648951', description=f'allegations against Trump, {HOWARD_LUTNICK}, Glen Dubin, {LEON_BLACK}, {JES_STALEY}'),
    EmailCfg(id='EFTA00950368', description='"any [girl] friends for me?"', truncate_to=NO_TRUNCATE),
    EmailCfg(
        id='EFTA00883738',
        description=f'Epstein recruiter {DASHA_GRUPMAN} looking to spend $50,000 to rent a townhouse for "diplomats"',
        show_with_name=DASHA_GRUPMAN,
    ),
    EmailCfg(
        id='EFTA00577409',
        date='2003-06-01',
        date_uncertain='just a guess, string is 4501 which is NULL in Microsoft Outlook',
        description='Epstein and Ghislaine discuss girl "from donad trumps party" who blackmailed [someone]',
    ),
    EmailCfg(
        id='EFTA01877084',
        comment='https://x.com/HansMahncke/status/2024351830998994979',
        description=f'Epstein and {JEAN_LUC_BRUNEL} "managing" {JOSHUA_FINK}\'s relationship with {SVETLANA_POZHIDAEVA}',
        is_interesting=True,
    ),
    EmailCfg(
        id='EFTA00704924',
        description=f"stalking Josh Fink (attachment is pic of {JOSHUA_FINK} and {FILIPA_PEROVIC} who later married)",
        show_with_name=JOSHUA_FINK,
    ),
    EmailCfg(
        id='EFTA02217672',
        description=f"{DAVID_L_NEUHAUSER} is raising money for a {JOSHUA_FINK} fund, promises Epstein he won't reveal they're talking",
        is_interesting=True,
    ),
    EmailCfg(
        id='EFTA01907281',
        description=f"Epstein asks about {JOSHUA_FINK}, pretends it's because {TANCREDI_MARCHIOLO} asked *him* (Epstein asked Marchiolo)",
        show_with_name=JOSHUA_FINK,
        is_interesting=True,
    ),
    EmailCfg(
        id='EFTA02007083',
        description=f"{BORIS_NIKOLIC} encourages {KIMBAL_MUSK} to ditch his girlfriend for Epstein's girl {JENNIFER_KALIN} (and he says yes)",
        truncate_to=NO_TRUNCATE,
    ),
    EmailCfg(
        id='EFTA00412260',
        author=LESLEY_GROFF,
        date='2012-05-25 19:51:20',
        description=f'Epstein really wants "*your friend*" (emphasis {LESLEY_GROFF}\'s) to meet {PETER_MANDELSON}',
        truncate_to=4_000,
    ),
    EmailCfg(id='EFTA01047249', author=NADIA_MARCINKO, author_reason='Miro, https://archive.ph/Qa6vU#selection-1621.160-1621.184'),

    # Quotes
    EmailCfg(
        id='EFTA02504370',
        highlight_quote=f'lovely girl with financial troubles',
        recipients=[KIRA_DIKHTYAR],
        recipient_uncertain='"Sent from AOL Mobile Mail"',
        truncate_to=NO_TRUNCATE,
    ),
    EmailCfg(
        id='EFTA01022353',
        highlight_quote='she said she was 14-15 yo',
        description='(George Models is basically a porn site)',
        is_interesting=True,
    ),
    EmailCfg(
        id='EFTA01885139',
        description=f'({JENNIFER_KALIN}, Epstein\'s girl whom {KIMBAL_MUSK} soon dated)',
        highlight_quote='Kimbal really like Jen',
        is_interesting=True,
    ),
    EmailCfg(
        id='EFTA02415420',
        highlight_quote="I have a friend of Putin,s",
        is_interesting=True,
    ),
    EmailCfg(id='EFTA01965732', highlight_quote='facilictating his illicit trysts, with married women, to being asked to provide adderall fro bridge tournamnts'),
    EmailCfg(id='EFTA01768670', highlight_quote='find girls for the agency', description=f'but {BORIS_NIKOLIC} is a "biotech investor"...'),
    EmailCfg(id='EFTA01905320', highlight_quote='girls and i are going to see elon musk at space x tomorrow', is_interesting=True),
    EmailCfg(id='EFTA01803353', highlight_quote='having problems with regina', description='(Ramsey?)'),
    EmailCfg(id='EFTA01858707', highlight_quote='How is the marriage plan going'),
    EmailCfg(id='EFTA00950394', highlight_quote='how old will you go?'),
    EmailCfg(id='EFTA02499884', highlight_quote='I gave another girl to kimball and he is thrilled', truncate_to=NO_TRUNCATE),
    EmailCfg(id='EFTA02557757', highlight_quote="I have a girl Sana working half time/who by the way you'd like"),
    EmailCfg(id='EFTA00771856', highlight_quote="I know 23 is on the old side for you", is_interesting=True),
    EmailCfg(id='EFTA01974447', highlight_quote='I know you are going to meet putin on the 20th', is_interesting=True),
    EmailCfg(id='EFTA01767237', highlight_quote='is 24 too old for you?', truncate_to=NO_TRUNCATE),
    EmailCfg(id='EFTA00854166', highlight_quote='kazak contract will be ready for your review', is_interesting=True, truncate_to=1100),
    EmailCfg(
        id='EFTA00878421',
        highlight_quote="said that she felt gods presence next to her when she was in bed",
        is_interesting=True,
        recipients=[NADIA_MARCINKO],
        recipient_uncertain='https://archive.ph/Qa6vU',  # https://www.nybooks.com/articles/2026/03/26/the-devil-himself-jeffrey-epstein-enright/
    ),
    EmailCfg(id='EFTA00894079', highlight_quote='say hi to Snow White'),
    EmailCfg(id='EFTA00775255', highlight_quote='she is 20 years old but she looks younger', non_participants=[BROCK_PIERCE]),
    EmailCfg(id='EFTA02387676', highlight_quote="thats the closest i get to karyna providing me new pussy"),
    EmailCfg(id='EFTA00908180', highlight_quote='two cinderellas'),
    EmailCfg(id='EFTA01930285', highlight_quote='ukraine upheaval should provide many opportunites'),
    EmailCfg(id='EFTA00751119', highlight_quote='Valdson to teach girls how to serve'),
    EmailCfg(id='EFTA01995972', highlight_quote='you are meeting elon tmr for lunch'),
    EmailCfg(id='EFTA01998027', highlight_quote="What day/night will be the wildest party on your island?", is_interesting=True),
    EmailCfg(id='EFTA01930501', highlight_quote="Your littlest girl was a little naughty"),
    EmailCfg(id='DropSite 2006-05-29 1329', highlight_quote='I am giving the little girl a modeling\n> lesson'),

    # Descriptions
    EmailCfg(id='EFTA01816788', description=f"Russian girl for {PRINCE_ANDREW}"),
    EmailCfg(id='EFTA00572157', description='translation: "Congratulations on the new addition!!! What did you name the little miracle?"'),
    EmailCfg(id='EFTA02559808', description=f"{EVA_DUBIN} delivering amphetamines (adderall) to Epstein", is_interesting=True, truncate_to=200),
    EmailCfg(id='EFTA01840103', description="Epstein apparently suggesting amphetamines (adderall)", is_interesting=True),
    EmailCfg(id='EFTA01987855', description=f'Epstein, Brunel, and {SULTAN_BIN_SULAYEM} very interested in a Liberian sex scandal'),
    EmailCfg(id='EFTA01817903', description=f'Epstein, Brunel, and {SULTAN_BIN_SULAYEM} sharing news of a Liberian sex scandal', is_interesting=True),
    EmailCfg(id='EFTA01818540', description=f'Epstein forwarding news of the Liberian sex scandal to {JES_STALEY}'),
    EmailCfg(id='EFTA01140210', description='Epstein asks about fake Instagram followers', is_interesting=True),
    EmailCfg(id='EFTA00937981', description=f"Epstein looking for {JOSHUA_FINK} (again)"),
    EmailCfg(id='EFTA00668344', description=f"Epstein looking for {JOSHUA_FINK} (again)"),
    EmailCfg(id='EFTA01856467', description=f"Epstein looking for {JOSHUA_FINK} (again)", truncate_to=NO_TRUNCATE),
    EmailCfg(id='EFTA01854125', description=f'Epstein says to {HENRY_JARECKI} "you torture, and mistreat each" girl'),
    EmailCfg(id='EFTA01936438', description=f'Epstein\'s standard password might be "MVEMJSNUP"', is_interesting=True),
    EmailCfg(id='EFTA01953412', description=f'{EVA_DUBIN} suggests Epstein endow "The Epstein Floor For Women" at Mt. Sinai'),
    EmailCfg(id='EFTA00658028', description=f'{FAITH_KATES} trying to get a modeling contract for "Regina"?'),
    EmailCfg(id='EFTA00855566', description=f"introducing {SANITA}", truncate_to=NO_TRUNCATE),
    EmailCfg(id='EFTA01145923', description=f"{JEAN_LUC_BRUNEL} modeling contract for {MC2_MODEL_MGMT}"),
    EmailCfg(id='EFTA01660651', description='list of Trump accusers', is_interesting=True),
    EmailCfg(id='EFTA02609062', description=f"{MASHA_DROKOVA} is assembling a team", is_interesting=True),
    EmailCfg(id='EFTA02557291', description='possibly recruiting girls'),
    EmailCfg(
        id='EFTA01811230',
        description=f'"Renat" is probably {RENATA_BOLOTOVA}, {REDACTED} might be "Irina" or {SVETLANA_POZHIDAEVA}',
        duplicate_ids=['EFTA00732294'],
    ),
    EmailCfg(id='EFTA00901905', description="smoking in the house oh no!"),
    EmailCfg(id='EFTA00914505', description=f'{SVETLANA_POZHIDAEVA} and {JOSHUA_FINK}...', duplicate_ids=['EFTA01999588']),
    EmailCfg(id='EFTA01798715', description=f"taking an interest in {JOSHUA_FINK}'s investments in Eritrea in between hair gigs"),
    EmailCfg(id='EFTA00631762', description="visa problems for Epstein's South African friend"),
    EmailCfg(
        id='EFTA02434682',
        description=f"Epstein and {JEAN_LUC_BRUNEL} courting a finance bro with women",
        is_interesting=True,
        truncate_to=1500,
    ),
    EmailCfg(
        id='EFTA00927927',
        description=f"reads like {RENATA_BOLOTOVA} talking about recruiting girls for Epstein",
        is_interesting=True,
    ),
    EmailCfg(
        id='EFTA01745650',
        author=KIRA_DIKHTYAR,
        author_uncertain='AOL signature',
        description=f'{SANITA} is mad at Epstein (and "makes lists")',
        show_with_name=SANITA,
        truncate_to=NO_TRUNCATE,
    ),
    EmailCfg(id='EFTA00376832', show_with_name=MARIANA_IDZKOWSKA),
    EmailCfg(id='EFTA00743526', truncate_to=NO_TRUNCATE),
    EmailCfg(id='EFTA02664956', truncate_to=NO_TRUNCATE),
    EmailCfg(id='EFTA00689698', truncate_to=NO_TRUNCATE),
    EmailCfg(id='EFTA02702141', truncate_to=NO_TRUNCATE, comment=ELON_MUSK),
    EmailCfg(id='EFTA00819508', truncate_to=NO_TRUNCATE, comment=JULIA_SANTOS),
    EmailCfg(id='EFTA00460312', truncate_to=NO_TRUNCATE, comment=JULIA_SANTOS),
    EmailCfg(id='EFTA00878255', comment=BORIS_NIKOLIC),
    EmailCfg(id='EFTA02551185', comment=BORIS_NIKOLIC),
    EmailCfg(id='EFTA02538269', comment=BORIS_NIKOLIC, duplicate_ids=['EFTA01866636']),
    EmailCfg(id='EFTA00736518', comment=JES_STALEY + ' beauty and the beast'),
    EmailCfg(id='EFTA02344845', comment=JULIA_SANTOS),
    EmailCfg(id='EFTA02491007', comment=JULIA_SANTOS),
    EmailCfg(id='EFTA00633284', comment=JULIA_SANTOS),
    EmailCfg(id='EFTA00664521', comment=JULIA_SANTOS),
    EmailCfg(id='EFTA00997666', comment=JULIA_SANTOS),
    EmailCfg(id='EFTA00964428', comment=JULIA_SANTOS + ' Valdson'),
    EmailCfg(id='EFTA02398135', comment=JULIA_SANTOS + ' "Sochi"'),
    EmailCfg(id='EFTA00766770'),
]
