#!/usr/bin/env python3
"""One-shot: write chatgpt_state.json from pasted Cookie-Editor export."""
import json
from pathlib import Path

cookies_raw = [
    {"name": "_puid", "value": "user-ZZzIFXM3hf0BIRXSzX9PQVqQ:1774302977-uiSVFhPT0lt5AWu2mbBxOiyZj9XfVtxZExnZDRkituE%3D", "domain": ".chatgpt.com", "path": "/", "expirationDate": 1774907777, "httpOnly": False, "secure": True, "sameSite": "lax"},
    {"name": "__Secure-next-auth.session-token", "value": "eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..iHVfan35RT-2UKY-.cGFipb7bxu_wE4caxh0tU8sRj0mEkGSIyc6nMP5MMjT47Wl1pjACWpytgtCwN5b8bREVeI5o6yBsed1A1wQB0qKNzKTn3LFNK0YRNgSp1mKDrzoIuEbvBZ5NNpZgqIJ1oNGs6qi0_sKt5H7VsTihbtkf44QfqV8DwXyYjjs4Oc6y3cRKqlSpvHAPXlsiHz0jk27L2mdT03s45EHXIkkWxsqurXWh2k9fQtjaGYcLOKyAIsuvrBJxrAggzRDVCTjAYf-9zJCQ6UzqIuWBzxhJftDy-G9C5En2CFV3h8chfCYZPCvM8neiB25cMfhMJ4lwwP6B4WHBO5J5QS0LKcv2YMjTyJA-EiZUDDuOq0YW95LaGrXnsaI6BDOzJ4nR_q7Bd1WARSJgU7i3rTY1gS02KrkfoWfBLJHWsO8__wwHyzI5NMlWnt3wZSyVR--dxl1EuKbOQftA9nW6Ir8HOoNQbCev_i3mhozrPPV9X7V1U2Otqovsd5pl8q4BowkJpLiRyKrQpnRbFcPRafzgJVxg6KvcLDNnVg_ouu7OQ95HME79IN0Wrah_SlDtVRWWHRKFzCyrArbAdXplSGvVlxSjId7EakzNfoSVNMDn0CC1M-8Nf-0EQhTa2h6UtNUzCBwQMCzDg0vvZiqn_DNdZERQb5EWLTihOO9swI88-jJooa19qpbjTa8Xdom7MeGy-MaipZyelk1cexqpeweUM9Yh_0uZg5_gQ7IU8k8hROBVmUboMOVy5bEdPQ2ghl_iDMX3uGgDc8Ss8Vkqv4sSC65X6yQ0tu0gzugWWwA1CIehajMtpRS6vkTQdpf1NZydU0VGCPkSICTn8joUbgCHglRIrAv0PxY4fAoKtMi7WhnOWFVDx7O-FmzmPfYg2f2mgkVKbKu6rSMXxlbKmAMRBe5U5Kydc_Olkp8x6lOwb72DT8APDRO4ghpk5_UsGqyLx9aNP8xwq1n2npZaiKM4U6qDl6M6U0j4vaAxLiHcdwEHAseBaxxOUPE2xhUHJIbmRMt1GKDW6wTx0t_qa0t8rgn2iD71wtTnnHIRf0vFjPX06td7jLTHQnNK2Um90HK40nNgYOKNUi1lt1cyajfC_FqgGMkw8vzbinGQ-V7ddfkZGwopDDWtjTmCdnWA_plyoOm56mCg39zKDXFWelLd4ZTGvI5wvkPdwL8yG-btO5BPkSSD6NZZJQZM7tdmdw-un69cohcqJKQpk2VsIjlQ5jWGsM0Bixt2_aXHS5oyfkIWlWoA16sFUtlURHnV6ucxeWM0fUi44FrNx1yyUU_7uIyVgbJOxvFQajIWZD2IWjZC5DEwaeMyEQEcgeA1QkvSleQZ0-eKy4sXWI8cO1TEtDH8XJc6coqqX0GWk-_n9WYJhKiCkQPAV_x7UN6I_tiUvRkb2Y9XIsW7Hr2rtHoL4ZFZfFC8AlgU2WBkOC9wurTVy8v4jaXZ1L_s9LjaMhYhwMlex-PQLE8yQYUWUHBKATS3JQdJM7noWQnSo17hHHOHtYm970SAf2BHBZqj8iUIIc5Zzv6mp3kmt_Mkjq6cyIljUHw2tffw_XUea9ri01IaSSdvZKGnkTaTu7_muLw9ECRKwhJ_wB8qjBC3gF5K41mEPs3bxSDqRPe0Pqt4tnCilcINuTdMkI6NknYyzlapLkrmc1MM7Z3kdxTtYYXZu41ju7L1qpP9rme6lb-rfGoLUHC8n8YUkI_ElV-6VY_cOH3mHSvILJ0UATOFVGjLrCCCCWxso1mLvudE6AOzoARdrDa-UbbRVq_ckh1eiDMarF5TduLKkr8UEMYy8swZ9NUleEUvApkOqDk3WnOkfMzxdq-Cc69V_FtV2ppjFc2-9Lid4xEmpLlY1Cy1T-r77frFWICoAZdCUDTsmdP6R3q8cpKy9bQzBrb7H20OBZ1kuGyBIBW0-MygTF0oSIWaFxC347-LCpGZ67EEHJn2DxP1wmepHOgPgntfaRoZQO32B0RSCDvQYFulfK-6khFaIIFzpVVmMVl-H1Rq_9xHXL3oCarTUYCQ54fPhXoV2nuP5WcCjcmMxxZAk70DzIhBxB4bW9xMSFXcHqQIpBJuMUiI9Isy92F30a3Y1OgAr6F4TE9qjkkdQpMfbgNo9dPfSMAa1TdCeg39lSe0inxwR6N1s171rTss9_k32HuynJOCjF4G6nD2P3lyMTk2X3I2cBoR7FvUPAimrkAxoZfrAL0_NMFl7c4OWMOelEpI4Yhp7VehfiTVrDxYzz9WmQiU5wUaXB3P6jRGDLoI3s65HkL4G-WJ0_7xBYzzr_TbcM6F5HJh3Z9rSl0fPh1Fmj7864wKINxrkPL5kTokXh_8k_ZWAUKUZ0IoL4XVrvghsiyjpOYBULrZC_jF9rhRqP6qbvjCnp4cy55_Ccc95bPNg2Ke34o2gay5QhpHrbqfAeemT2RNfSP4fn_ahYVqCkNExBgtVAbzvPv5n--try9UB1os7mjGsSEdEsYVaQCBVXsF8pduKvsoWSjkbHCUJO25KxmyegyaqbFMluK1VrBgtlqHPjhzWKegySis7s65nEvR9NbBpkBFUyGyy7fT14aDkJQjickm6sUt10Agu13zYGozA65Lmi1k-r-3Ah5Jtmyc2V99Hr6qceATdSCl_k-VeO3mDoJPSokRZgUv4kx1kx_uXpfk6WL3nwEFF4-XPsDrKsd08daGluV1XpGgV5U1qgRYsUkVs9n6ALQcmY2Prs_Crfd5GFO4dMZbgowKzUywlk3ANjRfUysRjKMS4TMy-_iqZu4GNk0MPO2hCWfHjb6duDGbm8ofI5I4BunEkvfKBeAI1Yj2xNQLm9wQNVCoQn2F05HSZmBAO1OETs9MmnjOHOaHzBpNMhHyQXrlGUKgc-P0eyfeqTyrO1B5bNtIvPyIyvcWvrIpEfRM5rvuSqOpaq7wBNOxDNwP3t6YynlNhznhNvvWbvZCrdrbh5WBVpzxJLufZp-6xYePxS_n_E8qrqptsExvl7fZFit-RHBVAyzax96Y3WrybnlHMeqD2zLUSWw-2V7xZWTy1a81Ka4cdWqNxkwd2hBhLIaKC_T6nlaztx-8iW2JaEPUgC_lYD0Ul_MJvmFM8ZX5PKAX1dvU_WtgqMEJLuUEGgLHzzEa44FftLEboD5jiVw3Qt9_WJ8AjVVuGfCzni1THxTZbgT4BexIgZtzDXc1EINsndb0gf1uLyddCMsp_ceKAzE-sLlfc_dWfhvHHq39vof320UIQRJYVhjAPm_ToVQWNZRpWBxzgaTOJ-kpHI78zHornhL9iJQEgyICZsrztD_JbxLR0a79FIU_trs3efYuGZUEp4-SVzHOT6wCGmGKyiiNrG87XRMj0gF9AaHI1yjhi6K7_TaWnn5Gg0Qfrb4ESlHN2BXIf1-Zmjfj5AzL92qSJLOrjd8bZcYudLamrIuvSVKvd3PsPnboiJbPBboPBznelgUIXxzall7_pHnw3cgp_pK0wRsbBWIRO2C95DQOi1Yix2SAvVY7yrgZhu4lxEVIBNCga-3IhZJShq-41JFBONv67TCBxjYfAx5DrCFjTWkEiKz1oBciN-hdfMfATZLnCKhCqWtWFa6hgq1IFN5TDF-26RjpJHfMiTM7PnAP6KVSXBqfqprdC5qn9OCjbZaEm7CL5Fr17QF9c_hRmhf-Hy4RXybCwA9ZsK2U2JQ3sqcfI34xY6Kw9T4.oOEPARfozQfISZPA9IPiSg", "domain": ".chatgpt.com", "path": "/", "expirationDate": 1782078975, "httpOnly": True, "secure": True, "sameSite": "lax"},
    {"name": "oai-last-model-config", "value": "%7B%22model%22%3A%22gpt-5-4-thinking%22%7D", "domain": "chatgpt.com", "path": "/", "expirationDate": 1776894977, "httpOnly": False, "secure": False, "sameSite": "lax"},
    {"name": "__cflb", "value": "0H28vzvP5FJafnkHxihH9uJcuUPPoRrZqPdb11TviBm", "domain": "chatgpt.com", "path": "/", "expirationDate": 1774303129, "httpOnly": True, "secure": True, "sameSite": "no_restriction"},
    {"name": "oai-hlib", "value": "true", "domain": "chatgpt.com", "path": "/", "expirationDate": 1802452281, "httpOnly": False, "secure": False, "sameSite": "lax"},
    {"name": "oai_consent_marketing", "value": "false", "domain": ".chatgpt.com", "path": "/", "expirationDate": 1786900283, "httpOnly": False, "secure": False, "sameSite": "lax"},
    {"name": "_dd_s", "value": "aid=ccb7a77d-9938-4eca-b5c7-a5dafa061037&rum=0&expire=1774303877845&logs=1&id=ef559285-ae17-4110-ad49-7851868a78fa&created=1774302977026", "domain": "chatgpt.com", "path": "/", "expirationDate": 1805838977, "httpOnly": False, "secure": False, "sameSite": "strict"},
    {"name": "oai_consent_analytics", "value": "false", "domain": ".chatgpt.com", "path": "/", "expirationDate": 1786900283, "httpOnly": False, "secure": False, "sameSite": "lax"},
    {"name": "__cf_bm", "value": "BtqR3TrtkSQLO5ijiXM3peU.mTZ3HUHpPm1eZ72jho4-1774302975.698578-1.0.1.1-AaLDsUBdt3UC9YmKnDHN0I6geX3b4OM86AimhaUl_hUr8Rx3HusCQwiEUlQOXFdBsiq9g4lpp1nUwFYHsFXa2oQhQbSINuvK7vPBFOt8FNYD2rdo7k4Cb_.zyUXD1jMn", "domain": ".chatgpt.com", "path": "/", "expirationDate": 1774304776, "httpOnly": True, "secure": True, "sameSite": None},
    {"name": "_cfuvid", "value": "GYwtQHKc7fXWkb83CNuixvcjVdYrX_Y4VXIzfpFniPw-1774282041.0624888-1.0.1.1-5B168zaLgqh5TfP7CYLA4axvanpi.1rH7vJrCz4BCEo", "domain": ".chatgpt.com", "path": "/", "httpOnly": True, "secure": True, "sameSite": "no_restriction"},
    {"name": "oai-sc", "value": "0gAAAAABpwbcCmDya4wAgxskiuqc7BGIXQdIRimtDpr0TEVcl2ep9ItJjzrBBYvpeOPIgdb_87iXOLxN-hJ4qijRvHMD33HTpTwVGXOmU3F6bXQAPVcPpGX27RODGHg9zhCdS0KdrfYqITOqqPcmPjwPGpNGazabAh0gErFahtw-BzRV_ZJaS7iuCq30-BqQXi89fyC_a-Y0WkTvzsKdSNc8acgMz6VbsSfPQScpN0ZUjFAZudvM4n2s", "domain": ".chatgpt.com", "path": "/", "expirationDate": 1805838978, "httpOnly": False, "secure": True, "sameSite": "no_restriction"},
    {"name": "oai-gn", "value": "Rob", "domain": "chatgpt.com", "path": "/", "httpOnly": False, "secure": False, "sameSite": "lax"},
    {"name": "__Host-next-auth.csrf-token", "value": "b745e8e72837ef7339acf6b5124017101d2c08305fb48d356547c7bfb6e931c0%7C187f79f6acf2658afa652d453e2d2e4b695f5809c1e1562c90849bde209fd353", "domain": "chatgpt.com", "path": "/", "httpOnly": True, "secure": True, "sameSite": "lax"},
    {"name": "__Secure-next-auth.callback-url", "value": "https%3A%2F%2Fchatgpt.com%2F", "domain": "chatgpt.com", "path": "/", "httpOnly": True, "secure": True, "sameSite": "lax"},
    {"name": "_account_is_fedramp", "value": "false", "domain": "chatgpt.com", "path": "/", "expirationDate": 1782078977, "httpOnly": False, "secure": False, "sameSite": "lax"},
    {"name": "oai-allow-ne", "value": "false", "domain": ".chatgpt.com", "path": "/", "expirationDate": 1786900283, "httpOnly": False, "secure": False, "sameSite": "lax"},
    {"name": "oai-chat-web-route", "value": "web", "domain": "chatgpt.com", "path": "/", "expirationDate": 1774697240, "httpOnly": False, "secure": False, "sameSite": None},
    {"name": "oai-client-auth-info", "value": "%7B%22user%22%3A%7B%22name%22%3A%22Rob%20Macsparran%22%2C%22email%22%3A%22robmacsparran%40hotmail.com%22%2C%22picture%22%3A%22https%3A%2F%2Fcdn.auth0.com%2Favatars%2Frm.png%22%2C%22connectionType%22%3A3%2C%22timestamp%22%3A1774302977522%7D%2C%22loggedInWithGoogleOneTap%22%3Afalse%2C%22isOptedOut%22%3Afalse%7D", "domain": "chatgpt.com", "path": "/", "expirationDate": 1776894977, "httpOnly": False, "secure": False, "sameSite": "lax"},
    {"name": "oai-did", "value": "3d882389-7376-4835-af7d-421c71d53aae", "domain": ".chatgpt.com", "path": "/", "expirationDate": 1802451856, "httpOnly": False, "secure": False, "sameSite": "lax"},
    {"name": "oai-nav-state", "value": "1", "domain": "chatgpt.com", "path": "/", "expirationDate": 1806679725, "httpOnly": False, "secure": False, "sameSite": "lax"},
]

SAMESIDE_MAP = {"lax": "Lax", "strict": "Strict", "no_restriction": "None", None: "None"}

cookies = []
for c in cookies_raw:
    cookie = {
        "name": c["name"],
        "value": c["value"],
        "domain": c["domain"],
        "path": c.get("path", "/"),
        "expires": int(c["expirationDate"]) if c.get("expirationDate") else -1,
        "httpOnly": c.get("httpOnly", False),
        "secure": c.get("secure", False),
        "sameSite": SAMESIDE_MAP.get(c.get("sameSite"), "Lax"),
    }
    cookies.append(cookie)

state = {"cookies": cookies, "origins": []}
out = Path(__file__).parent / "chatgpt_state.json"
out.write_text(json.dumps(state, indent=2))
print(f"Written {len(cookies)} cookies to {out} ({out.stat().st_size} bytes)")
