PageSourceSearch

https://talkify.nz/admin/login

html talkify.nz collected 2026-10-02 00:38:45 UTC 56,774 bytes, 1,135 lines download raw bytes

1<!DOCTYPE html>
2<html
3    lang="en"
4    dir="ltr"
5    class="fi"
6>
7    <head>
8        
9
10        <meta charset="utf-8" />
11        <meta name="csrf-token" content="YCPlYoL9Ma10SFxb9IADlH9FKKOyRJfCfK2I8Un8" />
12        <meta name="viewport" content="width=device-width, initial-scale=1" />
13
14                    <link rel="icon" href="https://talkify.nz/media/favicon/favicon-32x32.png" />
15        
16        
17        <title>
18            Login
19             - 
20            Talkify
21        </title>
22
23        
24
25        <style>
26            [x-cloak=''],
27            [x-cloak='x-cloak'],
28            [x-cloak='1'] {
29                display: none !important;
30            }
31
32            [x-cloak='inline-flex'] {
33                display: inline-flex !important;
34            }
35
36            @media (max-width: 1023px) {
37                [x-cloak='-lg'] {
38                    display: none !important;
39                }
40            }
41
42            @media (min-width: 1024px) {
43                [x-cloak='lg'] {
44                    display: none !important;
45                }
46            }
47        </style>
48
49        <link
50            href="https://talkify.nz/fonts/filament/filament/inter/index.css?v=5.8.4.0"
51            rel="stylesheet"
52            data-navigate-track
53        />
54    
55<style>
56    :root {
57         --danger-50:oklch(0.971 0.013 17.38);  --danger-100:oklch(0.936 0.032 17.717);  --danger-200:oklch(0.885 0.062 18.334);  --danger-300:oklch(0.808 0.114 19.571);  --danger-400:oklch(0.704 0.191 22.216);  --danger-500:oklch(0.637 0.237 25.331);  --danger-600:oklch(0.577 0.245 27.325);  --danger-700:oklch(0.505 0.213 27.518);  --danger-800:oklch(0.444 0.177 26.899);  --danger-900:oklch(0.396 0.141 25.723);  --danger-950:oklch(0.258 0.092 26.042);  --gray-50:oklch(0.985 0 0);  --gray-100:oklch(0.967 0.001 286.375);  --gray-200:oklch(0.92 0.004 286.32);  --gray-300:oklch(0.871 0.006 286.286);  --gray-400:oklch(0.705 0.015 286.067);  --gray-500:oklch(0.552 0.016 285.938);  --gray-600:oklch(0.442 0.017 285.786);  --gray-700:oklch(0.37 0.013 285.805);  --gray-800:oklch(0.274 0.006 286.033);  --gray-900:oklch(0.21 0.006 285.885);  --gray-950:oklch(0.141 0.005 285.823);  --info-50:oklch(0.97717647058824 0.01395454545455 127.826);  --info-100:oklch(0.95035294117647 0.03272727272727 127.826);  --info-200:oklch(0.90547058823529 0.06318181818182 127.826);  --info-300:oklch(0.84047058823529 0.10604545454546 127.826);  --info-400:oklch(0.75352941176471 0.15027272727273 127.826);  --info-500:oklch(0.68270588235294 0.17009090909091 127.826);  --info-600:oklch(0.59782352941176 0.16913636363636 127.826);  --info-700:oklch(0.51494117647059 0.14940909090909 127.826);  --info-800:oklch(0.44611764705882 0.12331818181818 127.826);  --info-900:oklch(0.39458823529412 0.09963636363636 127.826);  --info-950:oklch(0.27788235294118 0.07136363636364 127.826);  --primary-50:oklch(0.97717647058824 0.01395454545455 238.767);  --primary-100:oklch(0.95035294117647 0.03272727272727 238.767);  --primary-200:oklch(0.90547058823529 0.06318181818182 238.767);  --primary-300:oklch(0.84047058823529 0.10604545454546 238.767);  --primary-400:oklch(0.75352941176471 0.15027272727273 238.767);  --primary-500:oklch(0.68270588235294 0.17009090909091 238.767);  --primary-600:oklch(0.59782352941176 0.16913636363636 238.767);  --primary-700:oklch(0.51494117647059 0.14940909090909 238.767);  --primary-800:oklch(0.44611764705882 0.12331818181818 238.767);  --primary-900:oklch(0.39458823529412 0.09963636363636 238.767);  --primary-950:oklch(0.27788235294118 0.07136363636364 238.767);  --success-50:oklch(0.982 0.018 155.826);  --success-100:oklch(0.962 0.044 156.743);  --success-200:oklch(0.925 0.084 155.995);  --success-300:oklch(0.871 0.15 154.449);  --success-400:oklch(0.792 0.209 151.711);  --success-500:oklch(0.723 0.219 149.579);  --success-600:oklch(0.627 0.194 149.214);  --success-700:oklch(0.527 0.154 150.069);  --success-800:oklch(0.448 0.119 151.328);  --success-900:oklch(0.393 0.095 152.535);  --success-950:oklch(0.266 0.065 152.934);  --warning-50:oklch(0.987 0.022 95.277);  --warning-100:oklch(0.962 0.059 95.617);  --warning-200:oklch(0.924 0.12 95.746);  --warning-300:oklch(0.879 0.169 91.605);  --warning-400:oklch(0.828 0.189 84.429);  --warning-500:oklch(0.769 0.188 70.08);  --warning-600:oklch(0.666 0.179 58.318);  --warning-700:oklch(0.555 0.163 48.998);  --warning-800:oklch(0.473 0.137 46.201);  --warning-900:oklch(0.414 0.112 45.904);  --warning-950:oklch(0.279 0.077 45.635);     }
58
59    </style>
60
61        <link rel="preload" as="style" href="https://talkify.nz/build/assets/theme-BsZ5m1JQ.css" /><link rel="stylesheet" href="https://talkify.nz/build/assets/theme-BsZ5m1JQ.css" data-navigate-track="reload" />
62        
63        
64        
65        
66            <link rel="preconnect" href="https://fonts.googleapis.com">
67            <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
68            <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
69        
70        
71            <link rel="preconnect" href="https://fonts.googleapis.com">
72            <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
73            <link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap" rel="stylesheet" />
74        
75        
76
77        <style>
78            :root {
79                --font-family: 'Inter';
80                --mono-font-family: 'JetBrains Mono';
81                --serif-font-family: 'ui-serif';
82                --sidebar-width: 20rem;
83                --collapsed-sidebar-width: 4.5rem;
84                --default-theme-mode: system;
85            }
86
87            html.fi {
88                --livewire-progress-bar-color: var(--primary-500);
89            }
90        </style>
91
92        
93        
94
95                    
95<script>
96                const loadDarkMode = () => {
97                    window.theme = localStorage.getItem('theme') ?? 'system'
98                    if (
99                        window.theme === 'dark' ||
100                        (window.theme === 'system' &&
101                            window.matchMedia('(prefers-color-scheme: dark)')
102                                .matches)
103                    ) {
104                        document.documentElement.classList.add('dark')
105                    }
106                }
107
108                loadDarkMode()
109
110                document.addEventListener('livewire:navigated', loadDarkMode)
111            </script>
111
112        
113        <meta name="csrf-token" content="YCPlYoL9Ma10SFxb9IADlH9FKKOyRJfCfK2I8Un8">
114<meta name="pusher-key" content="cnmvZafpg4gkpefaodOn">
115<meta name="pusher-cluster" content="ap4">
116<meta name="ws-options" content="{&quot;key&quot;:&quot;cnmvZafpg4gkpefaodOn&quot;,&quot;cluster&quot;:&quot;ap4&quot;,&quot;wsHost&quot;:&quot;ws-a2c1a749-2960-4b15-822b-b9b0ec14f13a-reverb.laravel.cloud&quot;,&quot;wsPort&quot;:443,&quot;wssPort&quot;:443,&quot;forceTLS&quot;:true,&quot;enabledTransports&quot;:[&quot;ws&quot;,&quot;wss&quot;],&quot;disableStats&quot;:true}">
117<script src="https://js.pusher.com/8.2/pusher.min.js"></script>
vendor: 1 bytes, line 117
117
118<script>
119    (function () {
120        const raw = document.querySelector('meta[name="ws-options"]')?.content;
121        if (! raw || ! window.Pusher) return;
122        const shared = JSON.parse(raw);
123
124        // Wrap a Pusher class so every connection it opens carries the shared
125        // options. A caller's own options win, except the cluster, and
126        // except keys a caller sets to undefined (Filament's Echo passes
127        // wsHost: undefined when it has none), which would otherwise blank
128        // the host we are trying to supply.
129        const wrap = (Real) => {
130            const Shimmed = function (key, options) {
131                const given = {};
132                Object.entries(options || {}).forEach(([name, value]) => { if (value !== undefined) given[name] = value; });
133                return new Real(key || shared.key, Object.assign({}, shared, given, { cluster: shared.cluster }));
134            };
135            Shimmed.prototype = Real.prototype;
136            Object.setPrototypeOf(Shimmed, Real);
137            return Shimmed;
138        };
139
140        // Filament's echo.js bundles its own copy of pusher-js and assigns it
141        // to window.Pusher later in the page, so a plain reassignment here
142        // would last until then. A setter wraps whatever is assigned next.
143        let current = wrap(window.Pusher);
144        Object.defineProperty(window, 'Pusher', {
145            configurable: true,
146            get: () => current,
147            set: (Real) => { current = Real ? wrap(Real) : Real; },
148        });
149    })();
150</script>
150
151<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Outfit:[email protected]&display=swap"><style>:root{--font-display:'Outfit',var(--font-sans)}</style>
151<script>
152    (function () {
153        var nativeFetch = window.fetch;
154
155        if (typeof nativeFetch !== 'function') {
156            return;
157        }
158
159        function isCrossOrigin(input) {
160            try {
161                var url = typeof input === 'string'
162                    ? input
163                    : (input && typeof input.url === 'string') ? input.url : String(input);
164
165                return new URL(url, window.location.href).origin !== window.location.origin;
166            } catch (e) {
167                // An input we cannot read is treated as ours, which keeps the
168                // existing behaviour rather than quietly changing it.
169                return false;
170            }
171        }
172
173        function install() {
174            var patched = window.fetch;
175
176            // Nobody patched it, so there is nothing to protect anyone from.
177            if (patched === nativeFetch) {
178                return;
179            }
180
181            window.fetch = function (input, init) {
182                return isCrossOrigin(input)
183                    ? nativeFetch.call(window, input, init)
184                    : patched.call(this, input, init);
185            };
186        }
187
188        if (document.readyState === 'loading') {
189            document.addEventListener('DOMContentLoaded', install);
190        } else {
191            install();
192        }
193    })();
194</script>
194
195
196    <!-- Livewire Styles --><style >[wire\:loading][wire\:loading], [wire\:loading\.delay][wire\:loading\.delay], [wire\:loading\.list-item][wire\:loading\.list-item], [wire\:loading\.inline-block][wire\:loading\.inline-block], [wire\:loading\.inline][wire\:loading\.inline], [wire\:loading\.block][wire\:loading\.block], [wire\:loading\.flex][wire\:loading\.flex], [wire\:loading\.table][wire\:loading\.table], [wire\:loading\.grid][wire\:loading\.grid], [wire\:loading\.inline-flex][wire\:loading\.inline-flex] {display: none;}[wire\:loading\.delay\.none][wire\:loading\.delay\.none], [wire\:loading\.delay\.shortest][wire\:loading\.delay\.shortest], [wire\:loading\.delay\.shorter][wire\:loading\.delay\.shorter], [wire\:loading\.delay\.short][wire\:loading\.delay\.short], [wire\:loading\.delay\.default][wire\:loading\.delay\.default], [wire\:loading\.delay\.long][wire\:loading\.delay\.long], [wire\:loading\.delay\.longer][wire\:loading\.delay\.longer], [wire\:loading\.delay\.longest][wire\:loading\.delay\.longest] {display: none;}[wire\:offline][wire\:offline] {display: none;}[wire\:dirty]:not(textarea):not(input):not(select) {display: none;}:root {--livewire-progress-bar-color: #2299dd;}[x-cloak="x-cloak"],[x-cloak=""] {display: none !important;}[wire\:cloak="wire:cloak"],[wire\:cloak=""] {display: none !important;}dialog#livewire-error::backdrop {background-color: rgba(0, 0, 0, .6);}</style>
197</head>
198
199    <body
200        class="fi-body fi-panel-admin"
201    >
202        
203
204        <div class="fi-simple-layout">
205        
206        <style>
207    .tk-logo { --tk-word: #ffffff; --tk-ground: #101820; display: block }
208    @keyframes tk-blink { 0%, 92%, 100% { transform: scaleY(1) } 95% { transform: scaleY(.08) } }
209    .tk-logo .tk-eye { animation: tk-blink 4s ease-in-out infinite; transform-origin: 50px 50px }
210
211    .fi-simple-layout {
212        display: grid;
213        grid-template-columns: minmax(0, 1fr);
214        grid-template-rows: auto 1fr;
215        align-items: stretch;
216        min-height: 100dvh;
217        background: #ffffff;
218    }
219    .dark .fi-simple-layout { background: #0b1117 }
220
221    .fi-simple-main-ctn { grid-row: 2; grid-column: 1; padding: 0 16px }
222    .fi-simple-main {
223        margin: 40px 0 56px;
224        max-width: 400px;
225        padding: 0;
226        background: transparent;
227        box-shadow: none;
228        --tw-ring-shadow: 0 0 #0000;
229        border-radius: 0;
230    }
231    .dark .fi-simple-main { background: transparent }
232
233    /* The stage carries the lockup, so the form's copy of it goes. */
234    .fi-simple-layout .fi-simple-header .fi-logo { display: none }
235    .fi-simple-header { align-items: flex-start }
236    .fi-simple-header::before {
237        content: 'Member sign in';
238        font-family: 'JetBrains Mono', ui-monospace, monospace;
239        font-size: 11px;
240        font-weight: 500;
241        letter-spacing: .13em;
242        text-transform: uppercase;
243        color: #5a6268;
244        margin-bottom: 10px;
245    }
246    .dark .fi-simple-header::before { color: #8b9399 }
247    .fi-simple-header-heading,
248    .fi-simple-header-subheading { text-align: left }
249    .fi-simple-header-heading {
250        font-family: var(--font-display, 'Outfit'), sans-serif;
251        font-size: 2rem;
252        font-weight: 600;
253        letter-spacing: -.02em;
254        color: #101820;
255    }
256    .dark .fi-simple-header-heading { color: #ffffff }
257    /* Filament picks a pale primary shade for contrast; the guide wants the
258       flat brand blue with white type. */
259    .fi-simple-main .fi-btn.fi-color-primary {
260        min-height: 44px;
261        font-weight: 600;
262        background: #318abe;
263        color: #ffffff;
264        transition: background-color .15s ease;
265    }
266    .fi-simple-main .fi-btn.fi-color-primary:hover { background: #256d97 }
267    .fi-simple-main .fi-btn.fi-color-primary .fi-icon { color: #ffffff }
268
269    /* ------------------------------------------------------------ stage */
270    .tk-stage {
271        grid-row: 1;
272        grid-column: 1;
273        position: relative;
274        overflow: hidden;
275        isolation: isolate;
276        background: #101820;
277        color: #ffffff;
278        min-height: 220px;
279        padding: 24px 16px;
280        display: flex;
281        flex-direction: column;
282        justify-content: space-between;
283    }
284    .tk-stage::before {
285        /* a faint dot grid, fading out towards the form */
286        content: '';
287        position: absolute;
288        inset: 0;
289        z-index: -2;
290        background-image: radial-gradient(rgba(255, 255, 255, .07) 1px, transparent 1.4px);
291        background-size: 22px 22px;
292        -webkit-mask-image: linear-gradient(115deg, #000 20%, transparent 85%);
293                mask-image: linear-gradient(115deg, #000 20%, transparent 85%);
294    }
295    .tk-stage__waves {
296        position: absolute;
297        left: 0;
298        right: 0;
299        bottom: 0;
300        width: 100%;
301        height: 70%;
302        z-index: -1;
303        pointer-events: none;
304    }
305    .tk-stage__top { display: flex; align-items: center; justify-content: space-between; gap: 16px }
306    .tk-stage__status {
307        display: inline-flex;
308        align-items: center;
309        gap: 8px;
310        font-family: 'JetBrains Mono', ui-monospace, monospace;
311        font-size: 11px;
312        font-weight: 500;
313        letter-spacing: .13em;
314        text-transform: uppercase;
315        color: #aeb9c1;
316    }
317    .tk-stage__dot {
318        width: 7px;
319        height: 7px;
320        border-radius: 50%;
321        background: #a3d654;
322        box-shadow: 0 0 0 0 rgba(163, 214, 84, .6);
323        animation: tk-live 2s ease-out infinite;
324    }
325    @keyframes tk-live {
326        0% { box-shadow: 0 0 0 0 rgba(163, 214, 84, .55) }
327        100% { box-shadow: 0 0 0 9px rgba(163, 214, 84, 0) }
328    }
329
330    .tk-stage__hero { display: none }
331    .tk-stage__feed { display: none }
332
333    @media (min-width: 1024px) {
334        .fi-simple-layout {
335            grid-template-columns: minmax(0, 1.15fr) minmax(460px, 1fr);
336            grid-template-rows: 1fr;
337        }
338        .fi-simple-main-ctn { grid-row: 1; grid-column: 2; padding: 0 48px }
339        .fi-simple-main { margin: 0 }
340        .tk-stage {
341            grid-row: 1;
342            grid-column: 1;
343            position: sticky;
344            top: 0;
345            height: 100dvh;
346            padding: 40px 56px 48px;
347        }
348        .tk-stage__waves { height: 58% }
349
350        .tk-stage__hero { display: flex; flex-direction: column; gap: 36px; max-width: 540px }
351        .tk-stage__mark { position: relative; width: 112px; height: 112px }
352        .tk-stage__mark .tk-logo { position: relative; z-index: 1 }
353        .tk-stage__ring {
354            position: absolute;
355            inset: 0;
356            border-radius: 50%;
357            border: 1.5px solid rgba(49, 138, 190, .55);
358            animation: tk-ring 3.6s cubic-bezier(.2, .6, .35, 1) infinite;
359            opacity: 0;
360        }
361        .tk-stage__ring:nth-child(2) { animation-delay: 1.2s }
362        .tk-stage__ring:nth-child(3) { animation-delay: 2.4s }
363        @keyframes tk-ring {
364            0% { transform: scale(1); opacity: .9 }
365            100% { transform: scale(2.8); opacity: 0 }
366        }
367        .tk-stage__eyebrow {
368            margin: 0 0 14px;
369            font-family: 'JetBrains Mono', ui-monospace, monospace;
370            font-size: 12px;
371            font-weight: 500;
372            letter-spacing: .14em;
373            text-transform: uppercase;
374            color: #8b9399;
375        }
376        .tk-stage__title {
377            margin: 0;
378            font-family: var(--font-display, 'Outfit'), sans-serif;
379            font-size: clamp(2.4rem, 3.6vw, 3.5rem);
380            font-weight: 600;
381            letter-spacing: -.03em;
382            line-height: 1.05;
383            color: #ffffff;
384            text-wrap: balance;
385        }
386        .tk-stage__title span { color: #8b9399 }
387
388        .tk-stage__feed {
389            display: block;
390            position: relative;
391            height: 76px;
392            max-width: 440px;
393        }
394        .tk-stage__event {
395            position: absolute;
396            inset: 0;
397            display: flex;
398            flex-direction: column;
399            justify-content: center;
400            gap: 6px;
401            padding: 14px 18px;
402            border-left: 2px solid #318abe;
403            background: rgba(16, 24, 32, .72);
404            -webkit-backdrop-filter: blur(6px);
405                    backdrop-filter: blur(6px);
406            opacity: 0;
407            transform: translateY(10px);
408            transition: opacity .5s ease, transform .5s cubic-bezier(.2, .7, .3, 1);
409        }
410        .tk-stage__event.is-on { opacity: 1; transform: none }
411        .tk-stage__event.is-off { opacity: 0; transform: translateY(-10px) }
412        .tk-stage__event-label {
413            font-family: 'JetBrains Mono', ui-monospace, monospace;
414            font-size: 11px;
415            font-weight: 500;
416            letter-spacing: .13em;
417            text-transform: uppercase;
418            color: #aeb9c1;
419        }
420        .tk-stage__event-label b { color: #a3d654; font-weight: 500 }
421        .tk-stage__event-text { font-size: 15px; line-height: 1.4; color: #ffffff }
422    }
423
424    @media (prefers-reduced-motion: reduce) {
425        .tk-logo .tk-eye,
426        .tk-stage__dot,
427        .tk-stage__ring { animation: none }
428        .tk-stage__ring { display: none }
429        .tk-stage__event { transition: none }
430    }
431</style>
432
433<aside class="tk-stage" aria-hidden="true">
434    <canvas class="tk-stage__waves" data-tk-waves></canvas>
435
436    <div class="tk-stage__top">
437        <svg class="tk-logo" viewBox="-3 -3 317.81 106"
438     width="107.94" height="36"
439     xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Talkify" focusable="false">
440        <circle cx="50" cy="50" r="50" fill="var(--tk-word, #101820)"/>
441    
442    <g fill="none" stroke="var(--tk-ground, #ffffff)" stroke-width="10" stroke-linecap="round">
443        <path d="M34 26 V54 C34 74 62 80 76 62"/>
444        <path d="M20 40 H46"/>
445    </g>
446    
447    <g transform="translate(56 20) scale(0.30)">
448        <g class="tk-eye">
449            <path d="M50 8 Q55.5 39 92 50 Q55.5 61 50 92 Q44.5 61 8 50 Q44.5 39 50 8 Z" fill="var(--tk-ground, #ffffff)"/>
450        </g>
451    </g>
452            <path d="M271.37 19.44 L274.1 19.47 L276.98 20.13 L279.56 21.51 L281.93 23.58 L276.86 28.65 L275.24 27.45 L274.04 26.97 L273.32 26.85 L270.62 26.97 L269.6 27.27 L268.28 28.05 L267.23 29.28 L266.57 30.96 L266.39 32.28 L266.39 37.38 L284.84 37.41 L293.66 59.85 L302.99 37.5 L311.81 37.44 L289.55 86.04 L289.34 86.37 L288.98 86.37 L280.61 86.34 L289.25 68.4 L276.89 39.18 L276.8 44.61 L266.39 44.64 L266.36 71.97 L258.47 71.94 L258.47 44.64 L250.19 44.58 L250.19 37.44 L258.44 37.41 L258.47 32.28 L258.71 30 L259.49 27.36 L260.69 25.14 L262.52 23.01 L264.98 21.21 L267.8 20.01 L270.08 19.53ZM190.01 20.16 L197.93 20.16 L197.93 71.94 L190.01 71.94ZM204.53 20.16 L212.45 20.16 L212.48 53.61 L226.46 37.41 L235.85 37.44 L221.33 53.94 L230.24 64.47 L236.57 71.94 L226.52 71.97 L212.48 55.05 L212.45 71.94 L204.53 71.94ZM131.63 23.04 L139.55 23.04 L139.58 37.41 L147.83 37.44 L147.8 44.61 L139.55 44.64 L139.55 71.94 L131.63 71.94 L131.63 44.64 L123.35 44.58 L123.38 37.41 L131.63 37.38ZM164.09 36.72 L167.06 36.81 L170.24 37.59 L171.92 38.37 L173.42 39.33 L175.4 41.19 L175.52 37.41 L183.41 37.44 L183.41 71.94 L175.52 71.97 L175.46 68.25 L174.08 69.57 L1
45272.85 70.44 L170.84 71.55 L169.34 72.09 L167.84 72.45 L165.8 72.69 L163.76 72.69 L161.84 72.45 L159.92 71.97 L158.48 71.43 L156.44 70.35 L154.76 69.15 L152.27 66.66 L150.47 63.96 L149.57 62.04 L148.91 60.06 L148.55 58.5 L148.25 55.86 L148.37 52.2 L148.79 49.86 L149.39 47.88 L149.93 46.56 L151.01 44.58 L152.33 42.72 L153.65 41.28 L156.5 39.03 L158.54 37.95 L159.98 37.41 L161.9 36.93ZM239.21 37.44 L247.13 37.44 L247.13 71.94 L239.21 71.94ZM165.2 44.19 L163.04 44.61 L161.48 45.27 L159.98 46.29 L158.51 47.82 L157.73 49.02 L156.83 51.18 L156.41 53.52 L156.41 55.86 L156.65 57.48 L157.31 59.52 L158.51 61.56 L160.04 63.15 L161.48 64.11 L163.46 64.89 L165.32 65.19 L167.12 65.13 L169.34 64.77 L171.14 63.99 L172.34 63.15 L173.99 61.38 L175.01 59.64 L175.67 57.66 L175.97 55.44 L175.91 53.1 L175.49 51 L174.53 48.78 L173.81 47.7 L172.52 46.35 L170.84 45.21 L169.16 44.55 L167.18 44.19Z" fill="var(--tk-word, #101820)" fill-rule="evenodd"/>
453        
454        <g transform="translate(231.30 6.84) scale(0.216)">
455            <path d="M50 8 Q55.5 39 92 50 Q55.5 61 50 92 Q44.5 61 8 50 Q44.5 39 50 8 Z"
456                  fill="var(--tk-word, #101820)"/>
457        </g>
458    </svg>
459        <span class="tk-stage__status"><span class="tk-stage__dot"></span>Lines live</span>
460    </div>
461
462    <div class="tk-stage__hero">
463        <div class="tk-stage__mark">
464            <span class="tk-stage__ring"></span>
465            <span class="tk-stage__ring"></span>
466            <span class="tk-stage__ring"></span>
467            <svg class="tk-logo" viewBox="0 0 100 100"
468     width="112" height="112"
469     xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Talkify" focusable="false">
470            <defs>
471            <linearGradient id="tkg5DPQK0" gradientUnits="userSpaceOnUse" x1="8" y1="92" x2="92" y2="8">
472                <stop offset="0" stop-color="#318abe"/>
473                <stop offset="1" stop-color="#a3d654"/>
474            </linearGradient>
475        </defs>
476        <circle cx="50" cy="50" r="50" fill="url(#tkg5DPQK0)"/>
477    
478    <g fill="none" stroke="#ffffff" stroke-width="10" stroke-linecap="round">
479        <path d="M34 26 V54 C34 74 62 80 76 62"/>
480        <path d="M20 40 H46"/>
481    </g>
482    
483    <g transform="translate(56 20) scale(0.30)">
484        <g class="tk-eye">
485            <path d="M50 8 Q55.5 39 92 50 Q55.5 61 50 92 Q44.5 61 8 50 Q44.5 39 50 8 Z" fill="#ffffff"/>
486        </g>
487    </g>
488    </svg>
489        </div>
490        <div>
491            <p class="tk-stage__eyebrow">New Zealand &middot; Australia</p>
492            <p class="tk-stage__title">Answer every call, <span>day or night.</span></p>
493        </div>
494    </div>
495
496    <div class="tk-stage__feed" data-tk-feed>
497        <div class="tk-stage__event is-on">
498            <span class="tk-stage__event-label"><b>Incoming</b> &middot; 7:42am</span>
499            <span class="tk-stage__event-text">Booked a hot water check for Thursday at 9:30am</span>
500        </div>
501        <div class="tk-stage__event">
502            <span class="tk-stage__event-label"><b>Text</b> &middot; 12:15pm</span>
503            <span class="tk-stage__event-text">Sent a price range and the booking link</span>
504        </div>
505        <div class="tk-stage__event">
506            <span class="tk-stage__event-label"><b>After hours</b> &middot; 11:08pm</span>
507            <span class="tk-stage__event-text">Took the details and texted whoever is on call</span>
508        </div>
509        <div class="tk-stage__event">
510            <span class="tk-stage__event-label"><b>Outgoing</b> &middot; 4:20pm</span>
511            <span class="tk-stage__event-text">Confirmed tomorrow's appointment, no changes</span>
512        </div>
513    </div>
514</aside>
515
516<script>
517    (() => {
518        const canvas = document.querySelector('[data-tk-waves]');
519        if (!canvas || canvas.dataset.bound) return;
520        canvas.dataset.bound = '1';
521
522        const still = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
523        const ctx = canvas.getContext('2d');
524        let width = 0, height = 0, frame = 0;
525
526        // Five voice lines. Flat colour only: the mark is the page's one
527        // gradient. The green line is the "live" one.
528        const lines = [
529            { colour: '49,138,190', alpha: .18, amp: .42, freq: 1.2, speed: .35, phase: 0 },
530            { colour: '49,138,190', alpha: .28, amp: .55, freq: 1.8, speed: .5, phase: 1.7 },
531            { colour: '49,138,190', alpha: .45, amp: .7, freq: 2.3, speed: .7, phase: 3.1 },
532            { colour: '163,214,84', alpha: .85, amp: .85, freq: 2.9, speed: .9, phase: 4.4, width: 2 },
533            { colour: '255,255,255', alpha: .12, amp: .5, freq: 3.6, speed: 1.1, phase: 5.2 },
534        ];
535
536        const resize = () => {
537            const ratio = Math.min(window.devicePixelRatio || 1, 2);
538            width = canvas.clientWidth;
539            height = canvas.clientHeight;
540            canvas.width = width * ratio;
541            canvas.height = height * ratio;
542            ctx.setTransform(ratio, 0, 0, ratio, 0, 0);
543        };
544
545        // How loudly somebody is talking right now: overlapping slow sines, so
546        // the lines swell in bursts like speech instead of pulsing evenly.
547        const voice = (t) => .35 + .65 * Math.abs(
548            Math.sin(t * .9) * .6 + Math.sin(t * 2.3 + 1) * .3 + Math.sin(t * 5.1 + 2) * .1
549        );
550
551        const draw = (t) => {
552            ctx.clearRect(0, 0, width, height);
553            const mid = height * .55;
554            const level = voice(t);
555
556            for (const line of lines) {
557                ctx.beginPath();
558                for (let x = 0; x <= width; x += 4) {
559                    const u = x / width;
560                    // taper both ends so the lines emerge and fade
561                    const envelope = Math.pow(Math.sin(Math.PI * u), 1.6);
562                    const wave = Math.sin(u * Math.PI * 2 * line.freq + t * line.speed * 2 + line.phase)
563                        + .35 * Math.sin(u * Math.PI * 2 * line.freq * 2.1 - t * line.speed * 1.3);
564                    const y = mid + wave * envelope * line.amp * level * height * .3;
565                    x === 0 ? ctx.moveTo(x, y) : ctx.lineTo(x, y);
566                }
567                ctx.strokeStyle = `rgba(${line.colour},${line.alpha})`;
568                ctx.lineWidth = line.width || 1.25;
569                ctx.stroke();
570            }
571        };
572
573        const loop = (ms) => {
574            draw(ms / 1000);
575            frame = requestAnimationFrame(loop);
576        };
577
578        resize();
579        new ResizeObserver(() => { resize(); if (still) draw(2); }).observe(canvas);
580
581        if (still) {
582            draw(2);
583        } else {
584            frame = requestAnimationFrame(loop);
585            document.addEventListener('visibilitychange', () => {
586                cancelAnimationFrame(frame);
587                if (!document.hidden) frame = requestAnimationFrame(loop);
588            });
589        }
590
591        // The call feed under the headline, one event every four seconds.
592        const events = [...document.querySelectorAll('[data-tk-feed] .tk-stage__event')];
593        if (still || events.length < 2) return;
594        let current = 0;
595        setInterval(() => {
596            if (document.hidden) return;
597            const leaving = events[current];
598            current = (current + 1) % events.length;
599            leaving.classList.remove('is-on');
600            leaving.classList.add('is-off');
601            events[current].classList.remove('is-off');
602            events[current].classList.add('is-on');
603            setTimeout(() => leaving.classList.remove('is-off'), 600);
604        }, 4000);
605    })();
606</script>
606
607
608
609        
610        <div class="fi-simple-main-ctn">
611            <main
612                id="fi-main-content"
613                tabindex="-1"
614                class="fi-simple-main fi-width-lg"
615            >
616                <div wire:snapshot="{&quot;data&quot;:{&quot;data&quot;:[{&quot;email&quot;:null,&quot;password&quot;:null,&quot;remember&quot;:false},{&quot;s&quot;:&quot;arr&quot;}],&quot;userUndertakingMultiFactorAuthentication&quot;:null,&quot;mountedActions&quot;:[[],{&quot;s&quot;:&quot;arr&quot;}],&quot;defaultAction&quot;:null,&quot;defaultActionArguments&quot;:null,&quot;defaultActionContext&quot;:null,&quot;defaultTableAction&quot;:null,&quot;defaultTableActionRecord&quot;:null,&quot;defaultTableActionArguments&quot;:null,&quot;componentFileAttachments&quot;:[[],{&quot;s&quot;:&quot;arr&quot;}],&quot;areSchemaStateUpdateHooksDisabledForTesting&quot;:false,&quot;discoveredSchemaNames&quot;:[[&quot;form&quot;,&quot;content&quot;],{&quot;s&quot;:&quot;arr&quot;}],&quot;loadedDeferredSchemas&quot;:[[],{&quot;s&quot;:&quot;arr&quot;}]},&quot;memo&quot;:{&quot;id&quot;:&quot;xUrdryJ4ozryAR4Dy6SF&quot;,&quot;name&quot;:&quot;Filament\\Auth\\Pages\\Login&quot;,&quot;path&quot;:&quot;admin\/login&quot;,&quot;method&quot;:&quot;GET&quot;,&quot;release&quot;:&quot;a-a-a&quot;,&quot;children&quot;:[],&quot;scripts&quot;:[],&quot;assets&quot;:[],&quot;errors&quot;:[],&quot;locale&quot;:&quot;en&quot;,&quot;islands&quot;:[]},&quot;checksum&quot;:&quot;7b62ac7fbd73a6338f358e4ab3641ab2e61bc6ba5ece09d4a052c7c9aa5e5aa3&quot;}" wire:effects="{&quot;partials&quot;:[],&quot;url&quot;:{&quot;defaultAction&quot;:{&quot;as&quot;:&quot;action&quot;,&quot;use&quot;:&quot;replace&quot;,&quot;alwaysShow&quot;:false,&quot;except&quot;:null},&quot;defaultActionArguments&quot;:{&quot;as&quot;:&quot;actionArguments&quot;,&quot;use&quot;:&quot;replace&quot;,&quot;alwaysShow&quot;:false,&quot;except&quot;:null},&quot;defaultActionContext&quot;:{&quot;as&quot;:&quot;actionContext&quot;,&quot;use&quot;:&quot;replace&quot;,&quot;alwaysShow&quot;:false,&quot;except&quot;:null},&quot;defaultTableAction&quot;:{&quot;as&quot;:&quot;tableAction&quot;,&quot;use&quot;:&quot;replace&quot;,&quot;alwaysShow&quot;:false,&quot;except&quot;:null},&quot;defaultTableActionRecord&quot;:{&quot;as&quot;:&quot;tableActionRecord&quot;,&quot;use&quot;:&quot;replace&quot;,&quot;alwaysShow&quot;:false,&quot;except&quot;:null},&quot;defaultTableActionArguments&quot;:{&quot;as&quot;:&quot;tableActionArguments&quot;,&quot;use&quot;:&quot;replace&quot;,&quot;alwaysShow&quot;:false,&quot;except&quot;:null}},&quot;listeners&quot;:[&quot;refresh-page&quot;]}" wire:id="xUrdryJ4ozryAR4Dy6SF" wire:name="Filament\Auth\Pages\Login" class="fi-simple-page">
617    
618
619    <div class="fi-simple-page-content">
620        <!--[if BLOCK]><![endif]-->            <header class="fi-simple-header">
621    <!--[if BLOCK]><![endif]-->        <!--[if BLOCK]><![endif]-->        <img
622            alt="Talkify logo"
623            src="https://talkify.nz/media/branding/web/talkify-lockup-gradient-wink.svg"
624            style="height: 2.5rem;" class="fi-logo fi-logo-light"
625        />
626    <!--[if ENDBLOCK]><![endif]-->
627            
628
629<!--[if BLOCK]><![endif]-->            
630    <!--[if BLOCK]><![endif]-->        <img
631            alt="Talkify logo"
632            src="https://talkify.nz/media/branding/web/talkify-lockup-gradient-rev-wink.svg"
633            style="height: 2.5rem;" class="fi-logo fi-logo-dark"
634        />
635    <!--[if ENDBLOCK]><![endif]-->
636            
637<!--[if ENDBLOCK]><![endif]-->    <!--[if ENDBLOCK]><![endif]-->
638    <!--[if BLOCK]><![endif]-->        <h1 class="fi-simple-header-heading">
639            Sign in
640        </h1>
641    <!--[if ENDBLOCK]><![endif]-->
642    <!--[if BLOCK]><![endif]--><!--[if ENDBLOCK]><![endif]--></header>
643        <!--[if ENDBLOCK]><![endif]-->
644        <div x-data="filamentSchema({ livewireId: 'xUrdryJ4ozryAR4Dy6SF', schemaKey: 'content' })" x-on:form-validation-error.window="handleFormValidationError" x-on:reset-schema-component-state.window="handleClientSideStateReset" class="fi-grid  fi-sc  fi-sc-has-gap" style="--cols-default: repeat(1, minmax(0, 1fr));">
645                                                <!--[if BLOCK]><![endif]--><!--[if ENDBLOCK]><![endif]-->                                                                
646        <div                                                    x-data="filamentSchemaComponent({
647                    path: '',
648                    containerPath: '',
649                    $wire,
650                })"
651                                                        class="fi-grid-col" style="--col-span-default: span 1 / span 1;"        >
652                            <div
653                    class="fi-sc-component"
654                >
655                    
656        <form id="form" wire:submit="authenticate" class="fi-sc-form">
657            
658            
659        <div class="fi-grid  fi-sc  fi-sc-has-gap" style="--cols-default: repeat(1, minmax(0, 1fr));">
660                                                
661        <div                                                    x-data="filamentSchemaComponent({
662                    path: '',
663                    containerPath: '',
664                    $wire,
665                })"
666                                                        class="fi-grid-col" style="--col-span-default: span 1 / span 1;"        >
667                            <div
668                    class="fi-sc-component"
669                >
670                    
671        <div x-data="filamentSchema({ livewireId: 'xUrdryJ4ozryAR4Dy6SF', schemaKey: 'form' }
671)" x-on:form-validation-error.window="handleFormValidationError" x-on:reset-schema-component-state.window="handleClientSideStateReset" class="fi-grid  fi-sc  fi-sc-has-gap" style="--cols-default: repeat(1, minmax(0, 1fr));">
672                                                
673        <div                                        wire:partial="schema-component::form.email"
674                                        x-data="filamentSchemaComponent({
675                    path: 'data.email',
676                    containerPath: 'data',
677                    $wire,
678                })"
679                                                        wire:key="xUrdryJ4ozryAR4Dy6SF.form.email" class="fi-grid-col" style="--col-span-default: span 1 / span 1;"        >
680                            <div
681                    class="fi-sc-component"
682                >
683                    
684        <div data-field-wrapper class="fi-fo-field">
685            
686                            <div
687                    class="fi-fo-field-label-col"                >
688                    
689                    <div
690                        class="fi-fo-field-label-ctn"                    >
691                        
692                                                    <label                                                                    for="form.email"
693                                                                class="fi-fo-field-label"
694                            >
695                                
696                                                                    <span class="fi-fo-field-label-content">
697                                        Email address<sup class="fi-fo-field-label-required-mark">*</sup>
698                                                                            </span>
699                                
700                                                            </label>
701                        
702                                            </div>
703
704                                    </div>
705            
706                            <div class="fi-fo-field-content-col">
707                    
708                                            
709        <div x-on:focus-input.stop="$el.querySelector('input')?.focus()" class="fi-fo-text-input fi-input-wrp">
710            
711                        <div class="fi-input-wrp-content-ctn">
712                
713        <input autocomplete="on" autofocus="autofocus" id="form.email" required="required" type="email" wire:model="data.email" class="fi-input" />
714
715        
716                    </div>
717
718                    </div>
719
720                            
721                    
722                                    </div>
723                    </div>
724
725                        </div>
726                    </div>
727
728                                                                        
729        <div                                        wire:partial="schema-component::form.password"
730                                        x-data="filamentSchemaComponent({
731                    path: 'data.password',
732                    containerPath: 'data',
733                    $wire,
734                })"
735                                                        wire:key="xUrdryJ4ozryAR4Dy6SF.form.password" class="fi-grid-col" style="--col-span-default: span 1 / span 1;"        >
736                            <div
737                    class="fi-sc-component"
738                >
739                    
740        <div data-field-wrapper class="fi-fo-field">
741            
742                            <div
743                    class="fi-fo-field-label-col"                >
744                    
745                    <div
746                        class="fi-fo-field-label-ctn"                    >
747                        
748                                                    <label                                                                    for="form.password"
749                                                                class="fi-fo-field-label"
750                            >
751                                
752                                                                    <span class="fi-fo-field-label-content">
753                                        Password<sup class="fi-fo-field-label-required-mark">*</sup>
754                                                                            </span>
755                                
756                                                            </label>
757                        
758                        
759        <div class="fi-sc fi-inline fi-align-end fi-sc-has-gap fi-sc-dense">
760                                                
761        <div                                                    x-data="filamentSchemaComponent({
762                    path: 'data.password',
763                    containerPath: 'data',
764                    $wire,
765                })"
766                                                                >
767                            <div
768                    class="fi-sc-component"
769                >
770                    
771        <span
772                                    class="fi-sc-text"        >
773            <a
774            href="https://talkify.nz/admin/password-reset/request"
775                class="fi-color fi-color-primary fi-text-color-700 dark:fi-text-color-400 fi-link fi-size-md" tabindex="-1"
776>
777            
778            
779            <span class="fi-link-label">
780            Forgot password?
781        </span>
782    
783    
784    </a>        </span>
785
786                        </div>
787                    </div>
788
789                                            </div>
790
791                            </div>
792
793                                    </div>
794            
795                            <div class="fi-fo-field-content-col">
796                    
797                                            
798        <div x-data="{ isPasswordRevealed: false }" x-on:focus-input.stop="$el.querySelector('input')?.focus()" class="fi-fo-text-input fi-input-wrp">
799            
800                        <div class="fi-input-wrp-content-ctn">
801                
802        <input autocomplete="current-password" id="form.password" required="required" wire:model="data.password" x-bind:type="isPasswordRevealed ? 'text' : 'password'" class="fi-input fi-revealable" />
803
804        
805                    </div>
806
807                            <div class="fi-input-wrp-suffix">
808                    
809                    
810                                            <div
811                            class="fi-input-wrp-actions"
812                                                    >
813                                                            
814        
815        <button                                                title="Show password" aria-label="Show password" type="button" wire:loading.attr="disabled" x-show="! isPasswordRevealed" x-on:click="isPasswordRevealed = true" class="fi-ac-icon-btn-action fi-icon-btn fi-size-sm"        >
816            <svg class="fi-icon fi-size-md" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon">
817  <path d="M10 12.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z"/>
818  <path fill-rule="evenodd" d="M.664 10.59a1.651 1.651 0 0 1 0-1.186A10.004 10.004 0 0 1 10 3c4.257 0 7.893 2.66 9.336 6.41.147.381.146.804 0 1.186A10.004 10.004 0 0 1 10 17c-4.257 0-7.893-2.66-9.336-6.41ZM14 10a4 4 0 1 1-8 0 4 4 0 0 1 8 0Z" clip-rule="evenodd"/>
819</svg>            
820                    </button>
821
822        
823                                                                    
824        
825        <button                                                title="Hide password" aria-label="Hide password" type="button" wire:loading.attr="disabled" x-cloak="x-cloak" x-show="isPasswordRevealed" x-on:click="isPasswordRevealed = false" class="fi-ac-icon-btn-action fi-icon-btn fi-size-sm"        >
826            <svg class="fi-icon fi-size-md" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon">
827  <path fill-rule="evenodd" d="M3.28 2.22a.75.75 0 0 0-1.06 1.06l14.5 14.5a.75.75 0 1 0 1.06-1.06l-1.745-1.745a10.029 10.029 0 0 0 3.3-4.38 1.651 1.651 0 0 0 0-1.185A10.004 10.004 0 0 0 9.999 3a9.956 9.956 0 0 0-4.744 1.194L3.28 2.22ZM7.752 6.69l1.092 1.092a2.5 2.5 0 0 1 3.374 3.373l1.091 1.092a4 4 0 0 0-5.557-5.557Z" clip-rule="evenodd"/>
828  <path d="m10.748 13.93 2.523 2.523a9.987 9.987 0 0 1-3.27.547c-4.258 0-7.894-2.66-9.337-6.41a1.651 1.651 0 0 1 0-1.186A10.007 10.007 0 0 1 2.839 6.02L6.07 9.252a4 4 0 0 0 4.678 4.678Z"/>
829</svg>            
830                    </button>
831
832        
833                                                            </div>
834                                    </div>
835                    </div>
836
837                            
838                    
839                                    </div>
840                    </div>
841
842                        </div>
843                    </div>
844
845                                                                        
846        <div                                        wire:partial="schema-component::form.remember"
847                                        x-data="filamentSchemaComponent({
848                    path: 'data.remember',
849                    containerPath: 'data',
850                    $wire,
851                })"
852                                                        wire:key="xUrdryJ4ozryAR4Dy6SF.form.remember" class="fi-grid-col" style="--col-span-default: span 1 / span 1;"        >
853                            <div
854                    class="fi-sc-component"
855                >
856                    
857        <div data-field-wrapper class="fi-fo-field">
858            
859                            <div
860                    class="fi-fo-field-label-col"                >
861                    
862                    <div
863                        class="fi-fo-field-label-ctn"                    >
864                        
865                                                    <label                                                                    for="form.remember"
866                                                                class="fi-fo-field-label"
867                            >
868                                <input type="checkbox" id="form.remember" wire:loading.attr="disabled" wire:model="data.remember" class="fi-checkbox-input fi-valid" />
869                                                                    <sp
869an class="fi-fo-field-label-content">
870                                        Remember me                                    </span>
871                                
872                                                            </label>
873                        
874                                            </div>
875
876                                    </div>
877            
878                    </div>
879
880                        </div>
881                    </div>
882
883                                            </div>
884
885                        </div>
886                    </div>
887
888                                            </div>
889
890        
891            
892        <div class="fi-grid  fi-sc  fi-sc-has-gap" style="--cols-default: repeat(1, minmax(0, 1fr));">
893                                                
894        <div                                        wire:partial="schema-component::content.form-actions"
895                                        x-data="filamentSchemaComponent({
896                    path: '',
897                    containerPath: '',
898                    $wire,
899                })"
900                                                        wire:key="xUrdryJ4ozryAR4Dy6SF.content.form-actions" class="fi-grid-col" style="--col-span-default: span 1 / span 1;"        >
901                            <div
902                    class="fi-sc-component"
903                >
904                    
905        <div
906                        id="content.form-actions" class="fi-sc-actions"        >
907            
908            
909                            <div
910                    class="fi-ac fi-width-full"                >
911                                            
912        
913        
914        <button                                                                x-data="filamentFormButton"
915                x-bind:class="{ 'fi-processing': isProcessing }"
916                        type="submit" wire:loading.attr="disabled" wire:target="authenticate" x-bind:disabled="isProcessing" class="fi-ac-btn-action fi-btn fi-size-md  fi-color fi-color-primary fi-bg-color-400 hover:fi-bg-color-300 dark:fi-bg-color-600 dark:hover:fi-bg-color-700 fi-text-color-950 hover:fi-text-color-800 dark:fi-text-color-0 dark:hover:fi-text-color-0"        >
917                                                <svg
918        fill="none"
919        viewBox="0 0 24 24"
920        xmlns="http://www.w3.org/2000/svg"
921        aria-hidden="true" wire:loading.delay.default="" wire:target="authenticate" class="fi-icon fi-loading-indicator fi-size-md"
922    >
923        <path
924            clip-rule="evenodd"
925            d="M12 19C15.866 19 19 15.866 19 12C19 8.13401 15.866 5 12 5C8.13401 5 5 8.13401 5 12C5 15.866 8.13401 19 12 19ZM12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z"
926            fill-rule="evenodd"
927            fill="currentColor"
928            opacity="0.2"
929        ></path>
930        <path
931            d="M2 12C2 6.47715 6.47715 2 12 2V5C8.13401 5 5 8.13401 5 12H2Z"
932            fill="currentColor"
933        ></path>
934    </svg>                    <svg
935        fill="none"
936        viewBox="0 0 24 24"
937        xmlns="http://www.w3.org/2000/svg"
938        aria-hidden="true" x-cloak="x-cloak" x-show="isProcessing" class="fi-icon fi-loading-indicator fi-size-md"
939    >
940        <path
941            clip-rule="evenodd"
942            d="M12 19C15.866 19 19 15.866 19 12C19 8.13401 15.866 5 12 5C8.13401 5 5 8.13401 5 12C5 15.866 8.13401 19 12 19ZM12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z"
943            fill-rule="evenodd"
944            fill="currentColor"
945            opacity="0.2"
946        ></path>
947        <path
948            d="M2 12C2 6.47715 6.47715 2 12 2V5C8.13401 5 5 8.13401 5 12H2Z"
949            fill="currentColor"
950        ></path>
951    </svg>            
952                                                <span x-show="! isProcessing">
953                        Sign in                    </span>
954                            
955                            <span
956                    x-cloak
957                    x-show="isProcessing"
958                    x-text="processingMessage"
959                ></span>
960            
961            
962                    </button>
963
964        
965                                            </div>
966            
967                    </div>
968
969                        </div>
970                    </div>
971
972                                            </div>
973
974                </form>
975
976                        </div>
977                    </div>
978
979                                                                        
980        <div                                                class="fi-grid-col fi-hidden" style="--col-span-default: span 1 / span 1;"        >
981                    </div>
982
983                                                                        <p style="margin-top:8px;font-size:14px;color:#5a6268">New to Talkify? <a href="https://talkify.nz/contact" style="color:#318abe;font-weight:600">Start your free trial</a></p>                                    </div>
984    </div>
985
986    <!--[if BLOCK]><![endif]-->        <!--[if BLOCK]><![endif]-->    <div
987        wire:partial="action-modals"
988        x-data="filamentActionModals({
989                    livewireId: 'xUrdryJ4ozryAR4Dy6SF',
990                })"
991        style="height: 0"
992    >
993        <!--[if BLOCK]><![endif]--><!--[if ENDBLOCK]><![endif]-->    </div>
994
995    <!--[if ENDBLOCK]><![endif]-->    <!--[if ENDBLOCK]><![endif]-->
996    
997</div>
998            </main>
999        </div>
1000
1001        
1002
1003        
1004    </div>
1005
1006        <div wire:key="lw-3589865184-0-0" wire:snapshot="{&quot;data&quot;:{&quot;isFilamentNotificationsComponent&quot;:true,&quot;notifications&quot;:[[],{&quot;class&quot;:&quot;Filament\\Notifications\\Collection&quot;,&quot;s&quot;:&quot;wrbl&quot;}]},&quot;memo&quot;:{&quot;id&quot;:&quot;fPHzY6vNBMPp1N7Lnaqm&quot;,&quot;name&quot;:&quot;Filament\\Livewire\\Notifications&quot;,&quot;path&quot;:&quot;admin\/login&quot;,&quot;method&quot;:&quot;GET&quot;,&quot;release&quot;:&quot;a-a-a&quot;,&quot;children&quot;:[],&quot;scripts&quot;:[],&quot;assets&quot;:[],&quot;errors&quot;:[],&quot;locale&quot;:&quot;en&quot;,&quot;islands&quot;:[]},&quot;checksum&quot;:&quot;6bb716134b7f3ab537cd370b38652bb7564197ee1418df4823948eb88d455160&quot;}" wire:effects="{&quot;partials&quot;:[],&quot;listeners&quot;:[&quot;notificationsSent&quot;,&quot;notificationSent&quot;,&quot;notificationClosed&quot;]}" wire:id="fPHzY6vNBMPp1N7Lnaqm" wire:name="Filament\Livewire\Notifications">
1007    <div
1008        class="fi-no fi-align-right fi-vertical-align-start"
1009        role="status"
1010        aria-atomic="false"
1011    >
1012        <!--[if BLOCK]><![endif]--><!--[if ENDBLOCK]><![endif]-->    </div>
1013
1014    <!--[if BLOCK]><![endif]--><!--[if ENDBLOCK]><![endif]--></div>
1015
1016        
1017
1018        
1018<script>
1019        window.filamentData = []    </script>
1019
1020
1021            
1022            
1022<script
1023                src="https://talkify.nz/js/eslam-reda-div/filament-timezone-detector/timezone-detector.js?v=1.1.0.0"
1024                
1025                
1026                
1027                
1028                
1029                
1030            ></script>
1030
1031        
1032                
1033            
1033<script
1034                src="https://talkify.nz/js/filament/actions/actions.js?v=5.8.4.0"
1035                
1036                
1037                
1038                
1039                
1040                
1041            ></script>
1041
1042        
1043                
1044            
1044<script
1045                src="https://talkify.nz/js/filament/notifications/notifications.js?v=5.8.4.0"
1046                
1047                
1048                
1049                
1050                
1051                
1052            ></script>
1052
1053        
1054                
1055            
1055<script
1056                src="https://talkify.nz/js/filament/schemas/schemas.js?v=5.8.4.0"
1057                
1058                
1059                
1060                
1061                
1062                
1063            ></script>
1063
1064        
1065                
1066            
1066<script
1067                src="https://talkify.nz/js/filament/support/support.js?v=5.8.4.0"
1068                
1069                
1070                
1071                
1072                
1073                
1074            ></script>
1074
1075        
1076                
1077            
1077<script
1078                src="https://talkify.nz/js/filament/tables/tables.js?v=5.8.4.0"
1079                
1080                
1081                
1082                
1083                
1084                
1085            ></script>
1085
1086        
1087                
1088            
1088<script
1089                src="https://talkify.nz/js/filament/filament/echo.js?v=5.8.4.0"
1090                
1091                
1092                
1093                
1094                
1095                
1096            ></script>
1096
1097        
1098                
1099            
1099<script
1100                src="https://talkify.nz/js/filament/filament/app.js?v=5.8.4.0"
1101                
1102                
1103                
1104                
1105                
1106                
1107            ></script>
1107
1108        
1109    
1110<style>
1111    :root {
1112            }
1113
1114    </style>
1115
1116                    
1116<script data-navigate-once>
1117                window.Echo = new window.EchoFactory(JSON.parse('{\u0022broadcaster\u0022:\u0022pusher\u0022,\u0022authEndpoint\u0022:\u0022\\\/broadcasting\\\/auth\u0022,\u0022encrypted\u0022:true,\u0022key\u0022:\u0022cnmvZafpg4gkpefaodOn\u0022,\u0022cluster\u0022:\u0022ap4\u0022,\u0022wsHost\u0022:\u0022ws-a2c1a749-2960-4b15-822b-b9b0ec14f13a-reverb.laravel.cloud\u0022,\u0022wsPort\u0022:443,\u0022wssPort\u0022:443,\u0022forceTLS\u0022:true,\u0022enabledTransports\u0022:[\u0022ws\u0022,\u0022wss\u0022],\u0022disableStats\u0022:true}'))
1118
1119                window.dispatchEvent(new CustomEvent('EchoLoaded'))
1120            </script>
1120
1121        
1122                    
1122<script>
1123                loadDarkMode()
1124            </script>
1124
1125        
1126        
1127        
1128
1129        <div wire:key="lw-1762324571-0-1" wire:snapshot="{&quot;data&quot;:{&quot;available&quot;:false,&quot;feed&quot;:[[],{&quot;s&quot;:&quot;arr&quot;}],&quot;pending&quot;:null,&quot;offer&quot;:null,&quot;offerHeld&quot;:false,&quot;choices&quot;:[[],{&quot;s&quot;:&quot;arr&quot;}],&quot;draft&quot;:&quot;&quot;,&quot;pageLabel&quot;:&quot;this page&quot;,&quot;hello&quot;:&quot;&quot;,&quot;ideas&quot;:[[],{&quot;s&quot;:&quot;arr&quot;}],&quot;greeted&quot;:true,&quot;open&quot;:false,&quot;digestCard&quot;:null,&quot;coaching&quot;:null,&quot;tipArea&quot;:null,&quot;busy&quot;:false,&quot;builder&quot;:false,&quot;size&quot;:&quot;normal&quot;,&quot;autoplay&quot;:null,&quot;autoplayCall&quot;:null},&quot;memo&quot;:{&quot;id&quot;:&quot;9XLSTjnSlP6zhTkoyjAd&quot;,&quot;name&quot;:&quot;panel-copilot&quot;,&quot;path&quot;:&quot;admin\/login&quot;,&quot;method&quot;:&quot;GET&quot;,&quot;release&quot;:&quot;a-a-a&quot;,&quot;children&quot;:[],&quot;scripts&quot;:[&quot;265286304-1&quot;],&quot;assets&quot;:[],&quot;errors&quot;:[],&quot;locale&quot;:&quot;en&quot;,&quot;islands&quot;:[]},&quot;checksum&quot;:&quot;30a2b5beab896340f1dabd49f1eeca19db1df31c2ff47685962acb9f48ec8273&quot;}" wire:effects="{&quot;partials&quot;:[],&quot;scripts&quot;:{&quot;265286304-1&quot;:&quot;        &lt;script&gt;\n            try { sessionStorage.removeItem(&#039;copilot.reopen&#039;); } catch (e) {}\n        &lt;\/script&gt;\n        &quot;}}" wire:id="9XLSTjnSlP6zhTkoyjAd" wire:name="panel-copilot">
1130<!--[if BLOCK]><![endif]-->    
1131        <!--[if ENDBLOCK]><![endif]--></div>
1132
1133    
1133<script src="https://talkify.nz/livewire-83ce6dae/livewire.min.js?id=0ae8dee3"   data-csrf="YCPlYoL9Ma10SFxb9IADlH9FKKOyRJfCfK2I8Un8" data-module-url="https://talkify.nz/livewire-83ce6dae" data-update-uri="https://talkify.nz/livewire-83ce6dae/update" data-navigate-once="true"></script>
1133
1134</body>
1135</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.