Files
gw-svelte/mail-api/__pycache__/main.cpython-314.pyc
T

513 lines
49 KiB
Plaintext
Raw Normal View History

2026-05-04 20:32:24 +12:00
+
m#øiÄ”ãóhaRTtJ0t^RIt^RIHt^RIt^RIt^RIt^RIt^RIt^RI t ^RI
t
^RI H t ^RI H
t
^RIt^RIHtHtHt^RIHt^RIHtHtRR lt]!4tR
R R R
/tRRlt]!4t]P:P=RR4t]R,]n ]R,t!]R,t"]R,t#]R,t$]R,t%]R,t&]R,t']R,t(]R,t)]R,t*Rt+]PYR]]P:P=RR 4]"]#]!]$]%]&]'](])]*4
]!R!R"7t-]-P]]R#.R$R%.R#.R&7]-P_R'4R(R)l4t0!R*R+]4t1R,R-lt2/t3]^k/t4]^k]Pj!4t6R.R/lt7R0R1lt8R2R3lt9R4R5lt:R6R7lt;R8R9lt<R:R;lt=R<R=lt>R>R?lt?R@RAlt@RBRCltARDREltBRURFRGlltCRHRIltDRJRKltERLRMltF]-P=RN4RORPl4tG]-PRQ4RRRSl4tIR#)VéN)Údeque)Údatetime)ÚPath)ÚFastAPIÚ
HTTPExceptionÚRequest)ÚCORSMiddleware)Ú BaseModelÚEmailStrcó8V^8„dQhR\P/#©éÚreturn)ÚloggingÚLogger)Úformatsmail-api\main.pyÚ __annotate__rs÷ñœŸñócód\\PPRR44pVP RRR7VR, p\
P !RRR7p\
P!4pVP\
P4\VP4FpVPV4K \
P!\P4pVP\
P 4VP#V4VP%V4\
PP'VR^R R
7pVP\
P4VP#V4VP%V4\
P!R 4pVP)R V4V#)
ÚLOG_DIRÚlogsT)ÚparentsÚexist_okz mail-api.logz1%(asctime)s %(levelname)-8s %(name)s: %(message)sz%d/%m/%Y %H:%M:%S %Z)Údatefmti€„zutf-8)ÚmaxBytesÚ backupCountÚencodingzmail-apiu?Logging initialised → console=INFO, file=%s (DEBUG, rotating))rÚosÚenvironÚgetÚmkdirrÚ FormatterÚ getLoggerÚsetLevelÚDEBUGÚlistÚhandlersÚ
removeHandlerÚ
StreamHandlerÚsysÚstdoutÚINFOÚ setFormatterÚ
addHandlerÚRotatingFileHandlerÚinfo)Úlog_dirÚlog_fileÚfmtÚrootÚhandlerÚconsoleÚrotatingÚlogs rÚ_setup_loggingr:sEÜ”2—::—>> )¨VÓ5€GØ ‡MM˜€MÔ˜Õ'€Hä
×
Ò
Ø €Cô
× Ò Ó €D؇MM”'—-‘-Ô Ü˜Ÿ
ÖØ ×ј×#¤C§J¡JÓ/€GØ ×Ñ”W—\‘\Ô ×Ñ˜ÔØ‡OOä×Ñט9°!¸gð€Hð
×Ñ”g—m‘mÔ ×ј#ÔØ‡OOä
×
Ò
˜
'€C؇H
NÐPXÔ €JrÚRESEND_API_KEYz(API key from https://resend.com/api-keysÚ OWNER_EMAILz2Email address that receives new lead notificationscó$V^8„dQhR\/#r
©Údict)rs"rrr@s÷#ñ#”dñ#rcó\P4UUu.uF/wr\PP V4'dK,W3NK1 pppV'.R'OpVFwrVP RV RV R24K V.R(O,
pVFwrVP RV R24K VP R4RP
V4p\PRVUUu.uFwrdVNK upp4\V\PR7\P!^4R \PR
,R \PR ,R
\PP RR4R\PP RR4R\^\\PP RR444R\^\\PP RR444R\^<\\PP RR444R\^<\\PP RR444R\^\\PP R R!444R"\^\\PP R#R444R$\^\\PP R%R&444/ #uuppiuuppi))Úu • z)z $env:z = "..."Ú
z%Startup aborted: missing env vars: %s)ÚfileÚresend_api_keyr;Ú owner_emailr<Ú
from_emailÚ
FROM_EMAILz"GoodWalk <bookings@goodwalk.co.nz>Úreply_toÚREPLY_TOzaless@goodwalk.co.nzÚ max_attemptsÚMAIL_MAX_ATTEMPTSÚform_min_secondsÚFORM_MIN_SECONDSÚform_max_secondsÚFORM_MAX_SECONDSÚ7200Úrate_limit_window_secondsÚRATE_LIMIT_WINDOW_SECONDSÚ900Úrate_limit_max_per_ipÚRATE_LIMIT_MAX_PER_IPÚrate_limit_max_per_emailÚRATE_LIMIT_MAX_PER_EMAILÚrate_limit_min_interval_secondsÚRATE_LIMIT_MIN_INTERVAL_SECONDSÚ20)rAuEMail API cannot start — required environment variables are not set:rA)rAzASet them in your shell and try again. For example, in PowerShell:rA)Ú REQUIRED_ENVÚitemsrr r!ÚappendÚjoinÚloggerÚcriticalÚprintr+ÚstderrÚexitÚmaxÚint)ÚnameÚhintÚmissingÚlinesÚmessageÚns rÚ _load_configrq@s=Ü.:×.@Ñ.@Ô.BÔ_Ñ.B¡
 Ì"Ï*É*Ï.É.ÐY]×J^Œ||Ñ.B€GÑò
ˆó
"‰Jˆ L‰L˜6 $  s¨4¨&°Ð 
ò
õ
ˆó
‰Gˆ L‰L˜7 4 Ð à
Ø—)‘)˜EÓ"ˆÜÐ?ÑPWÔAXÑPWÉÈÃ!ÑPWÒAXÔ
ˆgœCŸJ™JÕ ŠŒ ð œ"Ÿ*™*Ð%5Õ”r—zz ”b—j‘j—n‘n \Ð3WÓ”B—JJ—NN :Ð/EÓœ˜Aœs¤2§:¡:§>¡>Ð2EÀsÓ#KÓœC ¤3¤r§z¡z§~¡~Ð6HÈ#Ó'NÓ#OÓœC ¤C¬¯
©
¯©Ð7IÈ6Ó(RÓ$SÓ#¤S¨¬S´·±·±Ð@[Ð]bÓ1cÓ-dÓ%eؤ ¬B¯J©J¯N©NÐ;RÐTWÓ,XÓ(YÓ!ZØ"¤C¨¬3¬r¯z©z¯~©~Ð>XÐZ]Ó/^Ó+_Ó$`Ø)¬3¨q´#´b·j±j·n±nÐEfÐhlÓ6mÓ2nÓ+oð ð ùó-`ùó$BYs˜)K<ÁK<Ã!
L Ú APP_VERSIONÚunknownrErFrGrIrKrNrQrTrWrZr\zHhttps://www.goodwalk.co.nz/images/goodwalk-auckland-dog-walking-logo.pngz¦Mail API config: version=%r timezone=%r from=%r reply_to=%r owner=%r max_attempts=%d form_min=%ss form_max=%ss rate_window=%ss per_ip=%d per_email=%d min_interval=%ssÚTZzsystem-defaultzGoodWalk Mail API)ÚtitleÚPOSTÚGET)Ú
allow_originsÚ
allow_methodsÚ
allow_headersÚhttpcó$V^8„dQhR\/#)rÚrequest)r)rs"rrrs÷ñ¬wñrcƒó€"\P!4PR,pW Pn\
P !4pV!V4GRjxL
p\
P !4T,
R,p\PRY PTPPTPT4Y$PR&T#Lx \d\\
P !4T,
R,p\PRY PTPPT4hi;i5i)ºNéNNéèz[%s] %s %s crashed after %.0fmsu[%s] %s %s → %d (%.0fms)z X-Request-ID)ÚuuidÚuuid4ÚhexÚstateÚ
request_idÚtimeÚ monotonicÚ ExceptionrcÚ exceptionÚmethodÚurlÚpathr1Ú status_codeÚheaders)r~Ú call_nextr‡ÚstartedÚresponseÚ
elapsed_mss&& rÚ_request_logging_middlewarer•éä×! "Õ%€JØ)‡MÜnŠnÓ€GðÙ" +×+ˆô—." Õ4€JÜ
‡K—NN G§K¡K×$4Ñ$4°h×6JÑ6JÈJôð(2×Ñ €Oñ,øÜ ôÜ—n’nÓÕ0°DÕ8ˆ
Ü×ÑØ Ÿ¨¯ © ×(8Ñ(8¸*ô
ð ð
üs2A D>Á CÁCÁCÁA4D>ÃCÃA&D;Ä;D>cóPa]tRt^§toRtRtRtRt.tRt Rt
Rt Rt V3Rlt
RtVtR#)ÚBookingSubmissionÚbookingrANcóÈ<V^8„dQh/S[;R&S[;R&S[;R&S[;R&S[;R&S[;R&S[;R&S[S[,;R&S[;R &S[R
,;R &S[;R &S[;R
&#)rÚ enquiryTypeÚfullNameÚemailÚphoneÚpetNameÚlocationroÚservicesÚwebsiteNÚ
formStartedAtÚreferrerÚpage)Ústrr r'ri)rÚ
__classdict__s"€rrÚBookingSubmission.__annotate__§ø‡ÙÑ ñáñ ñ ñ
Ññ ñ Ññ
ñÑññ‘3ññÑññ˜•:ÑñÑññ r©)Ú__name__Ú
__module__Ú __qualname__Ú__firstlineno__ršror Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)s@rr—r—§s;ø‡Ø €Kð€GØ€HØ€GØ€HØ€GØ $€MØ€HØ€D÷ƒrr—có0V^8„dQhR\R\/#)rr~r)r)rs"rrr¸s÷@ñ@”Wð@¤ñ@rcóèVPPR4pV'd'VPR4^,P4#VP'dVPP
#R#)zx-forwarded-forÚ,rs)rr!ÚsplitÚstripÚclientÚhost)r~Ú forwardeds& rÚ_get_ipr¸¸sTØ×#Ð$5Ó6€Iߨ˜# &×.Ø")§.§. .ˆ7>‰>× Ñ Ð?°iÐ?rcó0V^8„dQhR\R\/#)rÚvaluer©)rs"rrrÄs÷ñ”CðœCñrcó"VP4#©N)r´)s&rÚ_trimmedr¾ÄsØ ;‰;‹=ÐrcóVV^8„dQhR\\,R\R\RR/#)rÚattemptsÚnowÚwindow_secondsrN)rÚfloatri)rs"rrrÈs-÷ñœe¤E´ðÌðÐPTñrcófV'd)W^,,
V8”dVP4K.R#R#)rN)Úpopleft)s&&&rÚ_prune_attemptsrÆÈs&ß
s a(¨>Ô×ÑÖñ:‰(rcóHV^8„dQhR\R\R\R\/#)rÚlast_attempt_atrÁÚmin_interval_secondsr)ri)rs"rrrÍs*÷ñ¬Eð¼ðÔUXðÔ]`ñrcóJ\^\W!V,
,
44pV#)é)rhri)Ú retry_afters&&& rÚ_seconds_until_allowedrÍÍs"ÜÐ1¸?Õ5JÕM€KØ Ðrcó@V^8„dQhR\R\R\RR/#)rr‡ÚiprœrNr»)rs"rrrÒs(÷44#´4#¼3ð4#Äsð4#Ètñ4#rc
ƒóð"\P!4pVP4P4p\;_uu_4GRjxL
\
P
V\44p\P
V\44p\WS\4\Wc\4V'dlW5R
,,
\8dT\VR
,V\4p\PRVVW5R
,,
\4\RRV R2R7h\!V4\"d/\PRVV\"\4\RRR7h\!V4\$d/\PRVV\$\4\RR R7hVP'V4VP'V4RRR4GRjxL
R#EL +GRjxL
'giR#;i5i) NzB[%s] rate limited: ip=%s submitted again after %.1fs (minimum %ss)é­zPlease wait about z seconds before trying again.©rÚdetailz7[%s] rate limited: ip=%s exceeded %d submissions in %sszIToo many enquiries from this connection. Please try again a little later.z:[%s] rate limited: email=%s exceeded %d submissions in %sszQThat email address has reached the enquiry limit for now. Please try again later.éÿÿÿÿ)rˆr‰r´ÚlowerÚ_submit_rate_limit_lockÚ_submit_attempts_by_ipÚ
setdefaultrÚ_submit_attempts_by_emailrÆrUr]rcÚwarningrÚlenrXr[ra)r‡Únormalized_emailÚ ip_attemptsÚemail_attemptsrÌs&&& rÚ_enforce_submit_rate_limitsrßÒéÜ
.Š.Ó
€CØ—{‘{“}×ç&×,×7¸¼E»GÓDˆ Ü2×=Ð>NÔPUÓPWÓXˆä˜ Ô*CÔ˜Ô-FÔ ˜3¨R¥Õ0Ô3RÔ¸RµÀ#ÔGfÓgˆKÜ N‰NØØØ "•oÕ 
ô ØØ+¨K¨=Ð8UÐð
ô
ˆ{Ó Ô N‰NØØÜ 
ô ØØð
ô
ˆ Ô":Ô N‰NØØ Ü 
ô ØØð
ð
×ј3ÔØ×ј"÷a'×&×&×&×&×&üsOAG6ÁGÁ G6Á E6GÇ G6Ç
GÇG6ÇG6ÇG3 ÇG"Ç
G3 Ç+G3 Ç- G6có4V^8„dQhR\R\RR/#©rr‡Údatarr—)rs"rrr s"÷ 
ñ 
¤Sð 
Ô0Að 
Àdñ 
rcóÂVPeVP^8:d$\PRV4\RRR7h\P!4R,VP,
R, pV\
8d*\PRVV\
4\RRR7hV\ 8”d*\PRVV\ 4\RR R7hR#)
Nz/[%s] rejected: missing or invalid formStartedAtéz&Please refresh the page and try again.rÒrz7[%s] rejected: form submitted too quickly (%.2fs < %ss)z;Please take a moment to fill in the form before sending it.z2[%s] rejected: stale form submission (%.0fs > %ss)zLThis form has been open for too long. Please refresh the page and try again.)rcrrˆrOrR)r‡Úelapsed_secondss&& rÚ_enforce_form_timingrç Ø ×ÑÒ! T×%7Ñ%7¸1Ô%<ÜÐHÈ*ÔØØ
ð
ô
—yy“{ )¨D×,>Ñ,>Õ>À$ÕF€OàÔØ Ø Ü ô 
ô ØØ
ð
ð
ÔØ Ø Ü ô 
ô ØØ
ð
ñ*rcó0V^8„dQhR\R\/#©rr©r—Úbool)rs"rrr,s÷(Ô!2ð(´(rcó>\\VP44#)©s&rÚ_is_honeypot_triggeredrî,sÜ ˜ŸÓ 'rcó0V^8„dQhR\R\/#)rs"rrr0s÷;´;rcóN\VP4P4R8H#)Úgeneral)s&rÚ_is_general_enquiryrò0s!Ü  Ñ :rcó0V^8„dQhR\R\/#©r—)rs"rrr4s÷QñQÔQ´Qrcó,\V4'dR#R#)zGeneral enquiryzBooking enquiry)s&rÚ_enquiry_type_labelrö4sÜ 3°D× 9Ò 9Ð ÐPÐ?PÐPrcó4V^8„dQhR\R\RR/#)rs"rrr8s"÷-
ñ-
¤Sð-
Ô0Að-
Àdñ-
rcóF\VP4P4pVR9d.\P RWP4\ RRR7h\VP 4'g$\P RV4\ RRR7h\VP4'g$\P RV4\ RRR7h\V4'dA\VP4'g$\P R V4\ RR
R7hR #\VP4'g$\P R V4\ RR
R7h\VP4'g$\P RV4\ RRR7hR #)r˜z%[%s] rejected: invalid enquiryType=%rråz1Please choose a valid enquiry type and try again.rÒz [%s] rejected: missing full namezPlease enter your full name.z#[%s] rejected: missing phone numberz!Please enter your contact number.z.[%s] rejected: missing general enquiry messagezPlease tell us how we can help.Nz[%s] rejected: missing pet namezPlease enter your dog's name.z[%s] rejected: missing locationzPlease enter your location.>r˜) rcrrrro)r‡Ú enquiry_types&& rÚ_validate_submissionrú8s^ܘ5€LàÐÐ
×L\ÑL\ÔØØ
ð
ô
D—MM× Ð9¸ØØ
ð
ô
D—J‘J× Ò ÜÐ<¸jÔØØ
ð
ô
˜4× Ò Ü˜Ÿ × N‰NÐKÈZÔ ØØð
ñ ä D—L‘L× Ð8¸*ÔØØ
ð
ô
D—MM× Ð8¸ØØ
ð
ñ #rcó0V^8„dQhR\R\/#)rÚuar)rs"rrrhs÷

$”#ð
$œ#ñ
$rcóŽaS'gR#.ROp.ROp\V3RlV4R4p\V3RlV4R4pV RV 2#)ÚUnknownc3ó><"TFwrVS9gKVxK R#5i©Ú.0Úprps& €rÚ <genexpr>Ú_parse_ua.<locals>.<genexpr>psøéÐ6¡(™$˜!¨a°2©g—A’A£(ùóƒ 
zUnknown browserc3ó><"TFwrVS9gKVxK R#5irs& €rrrqsøéИ¨A°©G—1’1£ùrz
Unknown OSz on ))zEdg/ÚEdge)zOPR/ÚOpera)zChrome/ÚChrome)zFirefox/ÚFirefox)zSafari/ÚSafari))z
Windows NT 10z
Windows 10/11)z Windows NT 6z Windows 8)zMac OS XÚmacOS)ÚiPhoner
)ÚiPadr)ÚAndroidr)ÚLinuxr)Únext)ÚbrowsersÚsystemsÚbrowserÚsystemsf rÚ _parse_uarhsPø€ß
Ùò@€Hò;€GôÔ6¡(Ó6Ð8IÓJ€GÜ
ÔÓ4°lÓ
C€F؈Yd˜6˜ #rcó<V^8„dQhR\R\R\/#©rÚlabelrºr)rs"rrrus!÷ 
ñ 
”sð 
¤3ð 
¬3ñ 
rcó(V'gR#RV RV R2#)rA
<tr>
<td style="padding:8px 0;color:#888;font-size:13px;white-space:nowrap;
font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
vertical-align:top;width:130px;">z×</td>
<td style="padding:8px 0 8px 16px;color:#213021;font-size:14px;font-weight:500;
font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
vertical-align:top;">ú</td>
</tr>r¨©rs&&rÚ _detail_rowrus/ß Ùð49°'ð:'ð(- .
ð
ð
rcó<V^8„dQhR\R\R\/#r)rs"rrrƒs!÷ 
ñ 
”Sð 
¤ð 
– 
rcó(V'gR#RV RV R2#)rA
<tr>
<td style="padding:5px 0;color:#aaa;font-size:12px;white-space:nowrap;
font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
vertical-align:top;width:100px;">zÙ</td>
<td style="padding:5px 0 5px 16px;color:#666;font-size:12px;
font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
vertical-align:top;word-break:break-all;">rrs&&rÚ _meta_rowr ƒs1ß Ùð49°'ð:<ð=B¸C
ð
ð
rcó<V^8„dQhR\R\R\/#)rÚ
badge_htmlÚsubtitler)rs"rrrs!÷
ñ
œSð
´ð
¼cñ
rcóbV'dRV R2MRpV'dRV R2MRpR\ RV RV R2#)z<div style="margin-top:20px;">z</div>rAz¿<div style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
font-size:13px;color:#7aaa7a;letter-spacing:0.04em;margin-top:8px;">
zx
<tr>
<td style="background:#213021;padding:36px 48px 32px;text-align:center;">
<img src="zŠ" width="161" height="32" alt="GoodWalk"
style="display:inline-block;max-width:161px;height:auto;border:0;">
z
z
</td>
</tr>)ÚLOGO_URL)r"r#ÚbadgeÚsubs&& rÚ _logo_headerr(scßCMÐ,¨Z¨L¸Ñ ?ÐSU€E÷(0ðà
˜ $à57ððô !
à
ˆ
Ø
ˆð
 ðrcó0V^8„dQhR\R\/#)rs"rrr£s÷F ñF ÔF ¬SñF rc ó\V4pVP'dRPVP4MRp\RVP4\R\ VP 44\RVP4\R\V44.pV'd?VP'd&VP\RVP44RpRpR pMŸVP\R
VP4\R VP4\R V4.4VP'd&VP\R
VP44RVP R2pRVP R2pRpR\VR7 RVPP4^, RV RRPV4 RV R2 #)ú, z
Not specifiedz Your nameÚEmailÚPhoneÚTypeÚMessagezBWe&rsquo;ve received your message and we will be in touch shortly.z<We will review your message and reply within 1 business day.z)General enquiries and dog walking supportzDog&rsquo;s nameÚLocationÚServicesú
About the dogz•We&rsquo;ve received your enquiry and we will be in touch shortly to arrange a <strong style="color:#213021;">Meet &amp; Greet</strong> with you and Ú.zWe will review your details and reach out within 1 business day to schedule a free Meet &amp; Greet. No commitment required &mdash; just a chance for z to make a new best friend.z!Professional dog walking servicesav<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>We received your enquiry</title>
</head>
<body style="margin:0;padding:0;background:#f2f2f0;">
<table width="100%" cellpadding="0" cellspacing="0" role="presentation"
style="background:#f2f2f0;padding:40px 16px;">
<tr><td align="center">
<table width="600" cellpadding="0" cellspacing="0" role="presentation"
style="max-width:600px;width:100%;border-radius:16px;overflow:hidden;
box-shadow:0 4px 24px rgba(0,0,0,0.08);">
)r#a?
<!-- Body -->
<tr>
<td style="background:#ffffff;padding:48px 48px 40px;">
<h1 style="margin:0 0 8px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
font-size:26px;font-weight:700;color:#213021;line-height:1.2;">
Thanks, zÚ! &#x1F43E;
</h1>
<p style="margin:0 0 32px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
font-size:16px;color:#555;line-height:1.65;">

</p>
<!-- Details card -->
<table width="100%" cellpadding="0" cellspacing="0" role="presentation"
style="background:#f8f7f4;border-radius:12px;margin-bottom:36px;">
<tr>
<td style="padding:28px 32px;">
<div style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
font-size:11px;font-weight:700;letter-spacing:0.1em;
color:#888;text-transform:uppercase;margin-bottom:20px;">
Your enquiry summary
</div>
<table width="100%" cellpadding="0" cellspacing="0" role="presentation">
rAa*
</table>
</td>
</tr>
</table>
<!-- What's next -->
<table width="100%" cellpadding="0" cellspacing="0" role="presentation"
style="border-left:3px solid #FFD100;margin-bottom:36px;">
<tr>
<td style="padding:4px 0 4px 20px;">
<div style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
font-size:13px;font-weight:700;color:#213021;margin-bottom:6px;">
What happens next?
</div>
<div style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
font-size:14px;color:#666;line-height:1.6;">

</div>
</td>
</tr>
</table>
<p style="margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
font-size:14px;color:#888;line-height:1.6;">
Questions? Just reply to this email or reach us at 022 642 1011.
</p>
</td>
</tr>
<!-- Footer -->
<tr>
<td style="background:#213021;padding:24px 48px;text-align:center;">
<div style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
font-size:12px;color:#5a8a5a;line-height:1.6;">
GoodWalk &middot; Auckland, New Zealand<br>
<a href="https://www.goodwalk.co.nz" style="color:#7aaa7a;text-decoration:none;">
goodwalk.co.nz
</a>
</div>
</td>
</tr>
</table>
</td></tr>
</table>
</body>
</html>)r rbrrrroraÚextendržr()Ú
is_generalÚ
services_textÚenquiry_summary_rowsÚ
intro_htmlÚnext_steps_htmlÚ
logo_subtitles& rÚ client_emailr;£s¿Ü$ *€JØ04·
·
°
D—II˜dŸm™mÔ,À?€Mä§¡ÓGœS §¡›_ÓG˜TŸZ™ZÓÓÐ÷Ø <<ˆ × °I¸t¿|¹|Ó(LÔ  ð
Kð ðD
à×з ± Ó˜J¨¯
©
Ó˜
Ó
ô
ð <<ˆ × °OÀTÇ\Á\Ó(RÔ 
Yà|‰|ˆn˜
ð ð 
àŸ,™,˜Ð'Bð
Dð ð
<ˆ
ð ô"
˜}Ô -Ð/ð—}‘}×,¨QÕ1ðˆlðð—W‘WÐ4ð" &ðy\ ð\ rcóHV^8„dQhR\R\R\R\/#)rrr)rs"rrr,s/÷[ ñ[ Ô[ ¬Sð[ ¼3ð[ Ä3ñ[ rcó~\V4pVP'dRPVP4MRp\P!4pVP R4P
R4pVPP4'd"VPP4^,MRpV'dRMRpV'dRMRp VP'dR V R
VP R 2MR p
R
PVR7p VP'd\RVP4M \RR4p VP'd\RVP4MR p
V'dRMRp\R\!V44.pV'dpVP"'d&VP%\RVP"44VP&'d&VP%\RVP&44MFVP)\RVP"4\RVP&4\RV4.4R P.RNV NRN\+V R7 NRNV NRNVP, NRNVP NRNVP, NRNVP, NR NVP. NRNVP. NR!NV NR"NR PV4 NR#NV
NR$NVP, NR%NV NR&NVP. NR'NVP. NR(N\R)V4 NR#N\R*V4 NR#NV NR#NV
NR+N4#),r+u—z%d %b %Y at %I:%M %pÚthemzNew GoodWalk EnquiryzNew GoodWalk Leadr/r2a)
<tr>
<td colspan="2" style="padding:16px 0 0;">
<div style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
font-size:11px;font-weight:700;letter-spacing:0.08em;color:#888;
text-transform:uppercase;margin-bottom:8px;">zë</div>
<div style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
font-size:14px;color:#444;line-height:1.6;background:#f0efe9;
border-radius:8px;padding:14px 16px;">z</div>
</td>
</tr>rAar<div style="display:inline-block;background:#FFD100;border-radius:100px;
padding:10px 28px;">
<span style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
font-size:18px;font-weight:700;color:#213021;">
&#x1F4E9;&nbsp; New enquiry!
</span>
</div>
<div style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
font-size:12px;color:#5a8a5a;margin-top:12px;">
Submitted {submitted_at}
</div>)Ú submitted_atz Came fromzDirect / bookmarkÚPagezEnquiry detailszDog &amp; servicesr.ÚDogr0r1z<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>aÎ</title>
</head>
<body style="margin:0;padding:0;background:#f2f2f0;">
<table width="100%" cellpadding="0" cellspacing="0" role="presentation"
style="background:#f2f2f0;padding:40px 16px;">
<tr><td align="center">
<table width="600" cellpadding="0" cellspacing="0" role="presentation"
style="max-width:600px;width:100%;border-radius:16px;overflow:hidden;
box-shadow:0 4px 24px rgba(0,0,0,0.08);">
)r"a 
<!-- Body -->
<tr>
<td style="background:#ffffff;padding:40px 48px 36px;">
<!-- Quick contact -->
<table width="100%" cellpadding="0" cellspacing="0" role="presentation"
style="background:#213021;border-radius:12px;margin-bottom:28px;">
<tr>
<td style="padding:22px 24px;">
<div style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
font-size:11px;font-weight:700;letter-spacing:0.1em;color:#7aaa7a;
text-transform:uppercase;margin-bottom:10px;">
Quick contact
</div>
<div style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
font-size:14px;color:#d8e6d8;line-height:1.6;margin-bottom:10px;">
Email a2 directly:
</div>
<div style="font-family:Menlo,Consolas,'SFMono-Regular',monospace;
font-size:20px;font-weight:700;color:#ffffff;line-height:1.4;
word-break:break-all;margin-bottom:12px;">

</div>
<div style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
font-size:12px;color:#b7cbb7;line-height:1.6;">
Tap and hold the address to copy on iPhone, or tap below to open a new email.
</div>
</td>
</tr>
</table>
<!-- Owner details -->
<div style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
font-size:11px;font-weight:700;letter-spacing:0.1em;color:#888;
text-transform:uppercase;margin-bottom:16px;">Owner details</div>
<table width="100%" cellpadding="0" cellspacing="0" role="presentation"
style="background:#f8f7f4;border-radius:12px;margin-bottom:28px;">
<tr><td style="padding:24px 28px;">
<table width="100%" cellpadding="0" cellspacing="0" role="presentation">
<tr>
<td style="padding:6px 0;font-size:13px;color:#888;width:80px;
font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
vertical-align:top;">Name</td>
<td style="padding:6px 0 6px 16px;font-size:15px;font-weight:600;
color:#213021;font-family:-apple-system,BlinkMacSystemFont,
'Segoe UI',sans-serif;vertical-align:top;">a#</td>
</tr>
<tr>
<td style="padding:6px 0;font-size:13px;color:#888;
font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
vertical-align:top;">Email</td>
<td style="padding:6px 0 6px 16px;font-size:14px;
font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
vertical-align:top;">
<a href="mailto:zX" style="color:#213021;font-weight:500;
text-decoration:none;">a9</a>
</td>
</tr>
<tr>
<td style="padding:6px 0;font-size:13px;color:#888;
font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
vertical-align:top;">Phone</td>
<td style="padding:6px 0 6px 16px;font-size:14px;
font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
vertical-align:top;">
<a href="tel:a¤</a>
</td>
</tr>
</table>
</td></tr>
</table>
<!-- Dog & service details -->
<div style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
font-size:11px;font-weight:700;letter-spacing:0.1em;color:#888;
text-transform:uppercase;margin-bottom:16px;">aO</div>
<table width="100%" cellpadding="0" cellspacing="0" role="presentation"
style="background:#f8f7f4;border-radius:12px;margin-bottom:28px;">
<tr><td style="padding:24px 28px;">
<table width="100%" cellpadding="0" cellspacing="0" role="presentation">
z
a4
</table>
</td></tr>
</table>
<!-- CTA buttons -->
<table cellpadding="0" cellspacing="0" role="presentation" style="margin-bottom:32px;">
<tr>
<td style="padding-right:12px;">
<a href="mailto:ac"
style="display:inline-block;background:#213021;color:#FFD100;
font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
font-size:14px;font-weight:600;text-decoration:none;
border-radius:8px;padding:12px 24px;">
Email zb
</a>
</td>
<td>
<a href="tel:a{"
style="display:inline-block;background:#f8f7f4;color:#213021;
font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
font-size:14px;font-weight:600;text-decoration:none;
border-radius:8px;padding:12px 24px;border:1px solid #e0e0d8;">
Call aµ
</a>
</td>
</tr>
</table>
<!-- Session info -->
<table width="100%" cellpadding="0" cellspacing="0" role="presentation"
style="border-top:1px solid #eeeee8;padding-top:20px;">
<tr><td>
<div style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
font-size:11px;font-weight:700;letter-spacing:0.08em;color:#ccc;
text-transform:uppercase;margin-bottom:12px;">Session info</div>
<table width="100%" cellpadding="0" cellspacing="0" role="presentation">
z
IP addressÚBrowseraE
</table>
</td></tr>
</table>
</td>
</tr>
<!-- Footer -->
<tr>
<td style="background:#f8f7f4;padding:18px 48px;text-align:center;
border-top:1px solid #e8e8e4;">
<div style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;