[{"data":1,"prerenderedAt":39871},["ShallowReactive",2],{"navigation_docs":3,"-react-native-version2-deep-linking-and-params":3728,"-react-native-version2-deep-linking-and-params-surround":39866},[4,1707,1912,2366,2547,2673,2880,3002,3052,3109,3143,3269,3346,3360,3495,3512,3525,3671,3724],{"title":5,"icon":6,"path":7,"stem":8,"children":9},"C#","i-devicon-csharp","\u002Fcsharp","01.csharp",[10,13,60,90,120,202,219,253,379,404,457,650,1364,1654,1703],{"title":11,"path":7,"stem":12},"C# та .NET","01.csharp\u002Findex",{"title":14,"icon":15,"path":16,"stem":17,"children":18,"page":59},"Fundamentals","i-lucide-book-open","\u002Fcsharp\u002Ffundamentals","01.csharp\u002F01.fundamentals",[19,23,27,31,35,39,43,47,51,55],{"title":20,"path":21,"stem":22},"Вступ до екосистеми .NET","\u002Fcsharp\u002Ffundamentals\u002Fintroduction-to-ecosystem","01.csharp\u002F01.fundamentals\u002F01.introduction-to-ecosystem",{"title":24,"path":25,"stem":26},"Структура програми на C#","\u002Fcsharp\u002Ffundamentals\u002Fprogram-structure","01.csharp\u002F01.fundamentals\u002F02.program-structure",{"title":28,"path":29,"stem":30},"Змінні та Типи Даних","\u002Fcsharp\u002Ffundamentals\u002Fvariables-data-types","01.csharp\u002F01.fundamentals\u002F03.variables-data-types",{"title":32,"path":33,"stem":34},"Масиви","\u002Fcsharp\u002Ffundamentals\u002Farrays","01.csharp\u002F01.fundamentals\u002F04.arrays",{"title":36,"path":37,"stem":38},"Strings & Text Handling","\u002Fcsharp\u002Ffundamentals\u002Fstrings-text-handling","01.csharp\u002F01.fundamentals\u002F05.strings-text-handling",{"title":40,"path":41,"stem":42},"Дати і Час","\u002Fcsharp\u002Ffundamentals\u002Fdates-time-handling","01.csharp\u002F01.fundamentals\u002F06.dates-time-handling",{"title":44,"path":45,"stem":46},"Потік Керування","\u002Fcsharp\u002Ffundamentals\u002Fcontrol-flow","01.csharp\u002F01.fundamentals\u002F07.control-flow",{"title":48,"path":49,"stem":50},"Методи","\u002Fcsharp\u002Ffundamentals\u002Fmethods","01.csharp\u002F01.fundamentals\u002F08.methods",{"title":52,"path":53,"stem":54},"Основи Відлагодження","\u002Fcsharp\u002Ffundamentals\u002Fdebugging-basics","01.csharp\u002F01.fundamentals\u002F09.debugging-basics",{"title":56,"path":57,"stem":58},"Інтерактивна Консоль (Classic)","\u002Fcsharp\u002Ffundamentals\u002Finteractive-console","01.csharp\u002F01.fundamentals\u002F10.interactive-console",false,{"title":61,"icon":62,"path":63,"stem":64,"children":65,"page":59},"OOP","i-lucide-box","\u002Fcsharp\u002Foop","01.csharp\u002F02.oop",[66,70,74,78,82,86],{"title":67,"path":68,"stem":69},"Package Management (Управління Пакетами)","\u002Fcsharp\u002Foop\u002Fpackage-management","01.csharp\u002F02.oop\u002F01.package-management",{"title":71,"path":72,"stem":73},"Класи та Об'єкти","\u002Fcsharp\u002Foop\u002Fclasses-objects","01.csharp\u002F02.oop\u002F02.classes-objects",{"title":75,"path":76,"stem":77},"Властивості та Поля","\u002Fcsharp\u002Foop\u002Fproperties-fields","01.csharp\u002F02.oop\u002F03.properties-fields",{"title":79,"path":80,"stem":81},"Стовпи ООП","\u002Fcsharp\u002Foop\u002Foop-pillars","01.csharp\u002F02.oop\u002F04.oop-pillars",{"title":83,"path":84,"stem":85},"Advanced Types","\u002Fcsharp\u002Foop\u002Fadvanced-types","01.csharp\u002F02.oop\u002F05.advanced-types",{"title":87,"path":88,"stem":89},"Namespaces (Простори Імен)","\u002Fcsharp\u002Foop\u002Fnamespaces","01.csharp\u002F02.oop\u002F06.namespaces",{"title":91,"icon":92,"path":93,"stem":94,"children":95,"page":59},"Advanced Core","i-lucide-zap","\u002Fcsharp\u002Fadvanced-core","01.csharp\u002F03.advanced-core",[96,100,104,108,112,116],{"title":97,"path":98,"stem":99},"Generics (Узагальнення)","\u002Fcsharp\u002Fadvanced-core\u002Fgenerics","01.csharp\u002F03.advanced-core\u002F01.generics",{"title":101,"path":102,"stem":103},"Делегати, Події та Лямбда-вирази","\u002Fcsharp\u002Fadvanced-core\u002Fdelegates-events-lambdas","01.csharp\u002F03.advanced-core\u002F02.delegates-events-lambdas",{"title":105,"path":106,"stem":107},"Interfaces Deep Dive (Інтерфейси: Поглиблений Розгляд)","\u002Fcsharp\u002Fadvanced-core\u002Finterfaces-deep-dive","01.csharp\u002F03.advanced-core\u002F03.interfaces-deep-dive",{"title":109,"path":110,"stem":111},"Обробка Винятків","\u002Fcsharp\u002Fadvanced-core\u002Fexception-handling","01.csharp\u002F03.advanced-core\u002F04.exception-handling",{"title":113,"path":114,"stem":115},"Pattern Matching","\u002Fcsharp\u002Fadvanced-core\u002Fpattern-matching","01.csharp\u002F03.advanced-core\u002F05.pattern-matching",{"title":117,"path":118,"stem":119},"Додаткові Можливості C#","\u002Fcsharp\u002Fadvanced-core\u002Fadditional-features","01.csharp\u002F03.advanced-core\u002F06.additional-features",{"title":121,"icon":122,"path":123,"stem":124,"children":125,"page":59},"Architecture Best Practices","i-lucide-building-2","\u002Fcsharp\u002Farchitecture-best-practices","01.csharp\u002F04.architecture-best-practices",[126,130,149,153,157,161,165,169],{"title":127,"path":128,"stem":129},"Software Design Principles (Частина 1)","\u002Fcsharp\u002Farchitecture-best-practices\u002Fsoftware-design-principles","01.csharp\u002F04.architecture-best-practices\u002F01.software-design-principles",{"title":131,"icon":132,"path":133,"stem":134,"children":135,"page":59},"Design Patterns","i-lucide-folder","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdesign-patterns","01.csharp\u002F04.architecture-best-practices\u002F02.design-patterns",[136],{"title":137,"icon":132,"path":138,"stem":139,"children":140,"page":59},"Creational","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdesign-patterns\u002Fcreational","01.csharp\u002F04.architecture-best-practices\u002F02.design-patterns\u002Fcreational",[141,145],{"title":142,"path":143,"stem":144},"Singleton (Одинак)","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdesign-patterns\u002Fcreational\u002Fsingleton","01.csharp\u002F04.architecture-best-practices\u002F02.design-patterns\u002Fcreational\u002F01.singleton",{"title":146,"path":147,"stem":148},"Builder (Будівельник)","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdesign-patterns\u002Fcreational\u002Fbuilder","01.csharp\u002F04.architecture-best-practices\u002F02.design-patterns\u002Fcreational\u002F02.builder",{"title":150,"path":151,"stem":152},"Building Professional CLIs","\u002Fcsharp\u002Farchitecture-best-practices\u002Fbuilding-professional-clis","01.csharp\u002F04.architecture-best-practices\u002F03.building-professional-clis",{"title":154,"path":155,"stem":156},"Validation & Flow Control","\u002Fcsharp\u002Farchitecture-best-practices\u002Fvalidation-flow-control","01.csharp\u002F04.architecture-best-practices\u002F04.validation-flow-control",{"title":158,"path":159,"stem":160},"The Modern .NET Host (Microsoft.Extensions)","\u002Fcsharp\u002Farchitecture-best-practices\u002Fmodern-dotnet-host","01.csharp\u002F04.architecture-best-practices\u002F05.modern-dotnet-host",{"title":162,"path":163,"stem":164},"Data Mapper: Repository та DAO патерни (Частина 1)","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdata-mapper-part1","01.csharp\u002F04.architecture-best-practices\u002F06.data-mapper-part1",{"title":166,"path":167,"stem":168},"Data Mapper: Repository та DAO патерни (Частина 2)","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdata-mapper-part2","01.csharp\u002F04.architecture-best-practices\u002F07.data-mapper-part2",{"title":170,"icon":132,"path":171,"stem":172,"children":173,"page":59},"Di Ioc","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdi-ioc","01.csharp\u002F04.architecture-best-practices\u002F08.di-ioc",[174,178,182,186,190,194,198],{"title":175,"path":176,"stem":177},"Проблема залежностей та Інверсія Контролю","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdi-ioc\u002Fthe-dependency-problem","01.csharp\u002F04.architecture-best-practices\u002F08.di-ioc\u002F01.the-dependency-problem",{"title":179,"path":180,"stem":181},"Будуємо власний Service Container","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdi-ioc\u002Fbuild-your-own-container","01.csharp\u002F04.architecture-best-practices\u002F08.di-ioc\u002F02.build-your-own-container",{"title":183,"path":184,"stem":185},"Service Locator: Паттерн та Анти-паттерн","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdi-ioc\u002Fservice-locator-pattern","01.csharp\u002F04.architecture-best-practices\u002F08.di-ioc\u002F03.service-locator-pattern",{"title":187,"path":188,"stem":189},"Паттерни Dependency Injection","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdi-ioc\u002Fdependency-injection-patterns","01.csharp\u002F04.architecture-best-practices\u002F08.di-ioc\u002F04.dependency-injection-patterns",{"title":191,"path":192,"stem":193},"Microsoft DI: IServiceCollection та IServiceProvider","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdi-ioc\u002Fmicrosoft-di-deep-dive","01.csharp\u002F04.architecture-best-practices\u002F08.di-ioc\u002F05.microsoft-di-deep-dive",{"title":195,"path":196,"stem":197},"Service Lifetimes та Scopes","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdi-ioc\u002Fservice-lifetimes-and-scopes","01.csharp\u002F04.architecture-best-practices\u002F08.di-ioc\u002F06.service-lifetimes-and-scopes",{"title":199,"path":200,"stem":201},"DI Анти-паттерни та Найкращі Практики","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdi-ioc\u002Fdi-anti-patterns-and-best-practices","01.csharp\u002F04.architecture-best-practices\u002F08.di-ioc\u002F07.di-anti-patterns-and-best-practices",{"title":203,"icon":132,"path":204,"stem":205,"children":206,"page":59},"Standard Library","\u002Fcsharp\u002Fstandard-library","01.csharp\u002F05.standard-library",[207,211,215],{"title":208,"path":209,"stem":210},"Collections (Колекції)","\u002Fcsharp\u002Fstandard-library\u002Fcollections","01.csharp\u002F05.standard-library\u002F01.collections",{"title":212,"path":213,"stem":214},"High Performance Types (Високопродуктивні Типи)","\u002Fcsharp\u002Fstandard-library\u002Fhigh-performance-types","01.csharp\u002F05.standard-library\u002F02.high-performance-types",{"title":216,"path":217,"stem":218},"LINQ (Language Integrated Query)","\u002Fcsharp\u002Fstandard-library\u002Flinq","01.csharp\u002F05.standard-library\u002F03.linq",{"title":220,"icon":221,"path":222,"stem":223,"children":224,"page":59},"System Internals Concurrency","i-lucide-server","\u002Fcsharp\u002Fsystem-internals-concurrency","01.csharp\u002F06.system-internals-concurrency",[225,229,233,237,241,245,249],{"title":226,"path":227,"stem":228},"Memory Management","\u002Fcsharp\u002Fsystem-internals-concurrency\u002Fmemory-management","01.csharp\u002F06.system-internals-concurrency\u002F01.memory-management",{"title":230,"path":231,"stem":232},"Reflection API: System.Type та Метадані","\u002Fcsharp\u002Fsystem-internals-concurrency\u002Freflection-fundamentals","01.csharp\u002F06.system-internals-concurrency\u002F02.reflection-fundamentals",{"title":234,"path":235,"stem":236},"Attributes та Dynamic Language Runtime","\u002Fcsharp\u002Fsystem-internals-concurrency\u002Fattributes-dynamic","01.csharp\u002F06.system-internals-concurrency\u002F03.attributes-dynamic",{"title":238,"path":239,"stem":240},"Expression Trees: Швидка Альтернатива Рефлексії","\u002Fcsharp\u002Fsystem-internals-concurrency\u002Fexpression-trees-compiled","01.csharp\u002F06.system-internals-concurrency\u002F04.expression-trees-compiled",{"title":242,"path":243,"stem":244},"Source Generators: Compile-Time Code Generation","\u002Fcsharp\u002Fsystem-internals-concurrency\u002Fsource-generators","01.csharp\u002F06.system-internals-concurrency\u002F05.source-generators",{"title":246,"path":247,"stem":248},"Multithreading Fundamentals","\u002Fcsharp\u002Fsystem-internals-concurrency\u002Fmultithreading-fundamentals","01.csharp\u002F06.system-internals-concurrency\u002F06.multithreading-fundamentals",{"title":250,"path":251,"stem":252},"Synchronization Primitives","\u002Fcsharp\u002Fsystem-internals-concurrency\u002Fsynchronization-primitives","01.csharp\u002F06.system-internals-concurrency\u002F07.synchronization-primitives",{"title":254,"icon":255,"path":256,"stem":257,"children":258,"page":59},"System Programming Windows","i-lucide-cpu","\u002Fcsharp\u002Fsystem-programming-windows","01.csharp\u002F07.system-programming-windows",[259,263,267,271,275,279,283,287,291,295,299,303,307,311,315,319,323,327,331,335,339,343,347,351,355,359,363,367,371,375],{"title":260,"path":261,"stem":262},"Як Працює Операційна Система","\u002Fcsharp\u002Fsystem-programming-windows\u002Fhow-os-works","01.csharp\u002F07.system-programming-windows\u002F01.how-os-works",{"title":264,"path":265,"stem":266},"Процеси в .NET — API та Запуск","\u002Fcsharp\u002Fsystem-programming-windows\u002Fprocesses-in-dotnet","01.csharp\u002F07.system-programming-windows\u002F02.processes-in-dotnet",{"title":268,"path":269,"stem":270},"Процеси в .NET — IPC та Міжпроцесна Комунікація","\u002Fcsharp\u002Fsystem-programming-windows\u002F02a.processes-ipc","01.csharp\u002F07.system-programming-windows\u002F02a.processes-ipc",{"title":272,"path":273,"stem":274},"Application Domains та Збірки — AppDomain і AssemblyLoadContext","\u002Fcsharp\u002Fsystem-programming-windows\u002Fappdomains-assemblies","01.csharp\u002F07.system-programming-windows\u002F03.appdomains-assemblies",{"title":276,"path":277,"stem":278},"Application Domains та Збірки — Plug-in Система з Hot-Reload","\u002Fcsharp\u002Fsystem-programming-windows\u002F03a.appdomains-plugin-system","01.csharp\u002F07.system-programming-windows\u002F03a.appdomains-plugin-system",{"title":280,"path":281,"stem":282},"Потоки — Основи та API Thread","\u002Fcsharp\u002Fsystem-programming-windows\u002Fthread-fundamentals","01.csharp\u002F07.system-programming-windows\u002F04.thread-fundamentals",{"title":284,"path":285,"stem":286},"Потоки — Lifecycle, Пріоритети та Безпечне Завершення","\u002Fcsharp\u002Fsystem-programming-windows\u002F04a.thread-lifecycle-priorities","01.csharp\u002F07.system-programming-windows\u002F04a.thread-lifecycle-priorities",{"title":288,"path":289,"stem":290},"Проблеми Спільного Стану — Race Condition та Data Race","\u002Fcsharp\u002Fsystem-programming-windows\u002Fshared-state-problems","01.csharp\u002F07.system-programming-windows\u002F05.shared-state-problems",{"title":292,"path":293,"stem":294},"Проблеми Спільного Стану — Memory Model та volatile","\u002Fcsharp\u002Fsystem-programming-windows\u002F05a.shared-state-memory-model","01.csharp\u002F07.system-programming-windows\u002F05a.shared-state-memory-model",{"title":296,"path":297,"stem":298},"Синхронізація — Monitor, lock та еволюція примітивів","\u002Fcsharp\u002Fsystem-programming-windows\u002Fsynchronization-fundamentals","01.csharp\u002F07.system-programming-windows\u002F06.synchronization-fundamentals",{"title":300,"path":301,"stem":302},"Синхронізація — Наскрізний Приклад та Deadlock Detection","\u002Fcsharp\u002Fsystem-programming-windows\u002F06a.synchronization-walkthrough","01.csharp\u002F07.system-programming-windows\u002F06a.synchronization-walkthrough",{"title":304,"path":305,"stem":306},"Синхронізація — Mutex, Semaphore та Event-Based Primitives","\u002Fcsharp\u002Fsystem-programming-windows\u002Fsynchronization-advanced","01.csharp\u002F07.system-programming-windows\u002F07.synchronization-advanced",{"title":308,"path":309,"stem":310},"Синхронізація — Interlocked, Volatile та Lock-Free Структури","\u002Fcsharp\u002Fsystem-programming-windows\u002F07a.synchronization-advanced-walkthrough","01.csharp\u002F07.system-programming-windows\u002F07a.synchronization-advanced-walkthrough",{"title":312,"path":313,"stem":314},"Interlocked, CAS та Lock-Free Структури","\u002Fcsharp\u002Fsystem-programming-windows\u002Finterlocked-cas-lockfree","01.csharp\u002F07.system-programming-windows\u002F08.interlocked-cas-lockfree",{"title":316,"path":317,"stem":318},"Volatile, Memory Model та Spinning","\u002Fcsharp\u002Fsystem-programming-windows\u002F08a.volatile-memory-model","01.csharp\u002F07.system-programming-windows\u002F08a.volatile-memory-model",{"title":320,"path":321,"stem":322},"ThreadPool — Пул Потоків для Ефективного Виконання","\u002Fcsharp\u002Fsystem-programming-windows\u002Fthread-pool","01.csharp\u002F07.system-programming-windows\u002F09.thread-pool",{"title":324,"path":325,"stem":326},"ThreadPool — Просунуті Сценарії та Внутрішня Будова","\u002Fcsharp\u002Fsystem-programming-windows\u002F09a.thread-pool-advanced","01.csharp\u002F07.system-programming-windows\u002F09a.thread-pool-advanced",{"title":328,"path":329,"stem":330},"Concurrent та Immutable Collections","\u002Fcsharp\u002Fsystem-programming-windows\u002Fconcurrent-collections","01.csharp\u002F07.system-programming-windows\u002F10.concurrent-collections",{"title":332,"path":333,"stem":334},"TPL, Task та Композиція — Від Thread до Task","\u002Fcsharp\u002Fsystem-programming-windows\u002Ftpl-parallel-plinq","01.csharp\u002F07.system-programming-windows\u002F11.tpl-parallel-plinq",{"title":336,"path":337,"stem":338},"Parallel Class та PLINQ — Data Parallelism","\u002Fcsharp\u002Fsystem-programming-windows\u002F11a.tpl-parallel-plinq-advanced","01.csharp\u002F07.system-programming-windows\u002F11a.tpl-parallel-plinq-advanced",{"title":340,"path":341,"stem":342},"Async\u002FAwait — Фундамент Асинхронного Програмування","\u002Fcsharp\u002Fsystem-programming-windows\u002Fasync-fundamentals","01.csharp\u002F07.system-programming-windows\u002F12.async-fundamentals",{"title":344,"path":345,"stem":346},"SynchronizationContext та ConfigureAwait — Контекст Виконання","\u002Fcsharp\u002Fsystem-programming-windows\u002Fasync-context-configureawait","01.csharp\u002F07.system-programming-windows\u002F13.async-context-configureawait",{"title":348,"path":349,"stem":350},"Async — Просунуті Паттерни","\u002Fcsharp\u002Fsystem-programming-windows\u002Fasync-advanced","01.csharp\u002F07.system-programming-windows\u002F14.async-advanced",{"title":352,"path":353,"stem":354},"System.Threading.Channels — Async Producer-Consumer","\u002Fcsharp\u002Fsystem-programming-windows\u002Fchannels","01.csharp\u002F07.system-programming-windows\u002F15.channels",{"title":356,"path":357,"stem":358},"Асинхронна Синхронізація","\u002Fcsharp\u002Fsystem-programming-windows\u002Fasync-synchronization","01.csharp\u002F07.system-programming-windows\u002F16.async-synchronization",{"title":360,"path":361,"stem":362},"Unsafe Code та Вказівники","\u002Fcsharp\u002Fsystem-programming-windows\u002Funsafe-code","01.csharp\u002F07.system-programming-windows\u002F17.unsafe-code",{"title":364,"path":365,"stem":366},"P\u002FInvoke та Windows API — Міст між .NET та Native Code","\u002Fcsharp\u002Fsystem-programming-windows\u002Fpinvoke-winapi","01.csharp\u002F07.system-programming-windows\u002F18.pinvoke-winapi",{"title":368,"path":369,"stem":370},"Реєстр Windows — Центральна База Конфігурації Системи","\u002Fcsharp\u002Fsystem-programming-windows\u002Fwindows-registry","01.csharp\u002F07.system-programming-windows\u002F19.windows-registry",{"title":372,"path":373,"stem":374},"Windows Hooks, Hotkeys та Services — Глибока Інтеграція з ОС","\u002Fcsharp\u002Fsystem-programming-windows\u002Fwindows-hooks-services","01.csharp\u002F07.system-programming-windows\u002F20.windows-hooks-services",{"title":376,"path":377,"stem":378},"Системне Програмування C# (Windows) — 07.system-programming-windows","\u002Fcsharp\u002Fsystem-programming-windows\u002Fimplementation_plan","01.csharp\u002F07.system-programming-windows\u002Fimplementation_plan",{"title":380,"icon":132,"path":381,"stem":382,"children":383,"page":59},"Io","\u002Fcsharp\u002Fio","01.csharp\u002F08.io",[384,388,392,396,400],{"title":385,"path":386,"stem":387},"8.1.1. Основи роботи з файловою системою","\u002Fcsharp\u002Fio\u002Ffile-system-basics","01.csharp\u002F08.io\u002F01.file-system-basics",{"title":389,"path":390,"stem":391},"8.1.2. Потоки (Streams) та Серіалізація Даних","\u002Fcsharp\u002Fio\u002Fstreams-serialization","01.csharp\u002F08.io\u002F02.streams-serialization",{"title":393,"path":394,"stem":395},"8.2.1. JSON Serialization з System.Text.Json","\u002Fcsharp\u002Fio\u002Fjson-serialization","01.csharp\u002F08.io\u002F03.json-serialization",{"title":397,"path":398,"stem":399},"8.2.2. XML Serialization та LINQ to XML","\u002Fcsharp\u002Fio\u002Fxml-serialization","01.csharp\u002F08.io\u002F04.xml-serialization",{"title":401,"path":402,"stem":403},"8.2.3. Binary Serialization: MessagePack та Protocol Buffers","\u002Fcsharp\u002Fio\u002Fbinary-serialization","01.csharp\u002F08.io\u002F05.binary-serialization",{"title":405,"icon":132,"path":406,"stem":407,"children":408,"page":59},"Ado Net","\u002Fcsharp\u002Fado-net","01.csharp\u002F09.ado-net",[409,413,417,421,425,429,433,437,441,445,449,453],{"title":410,"path":411,"stem":412},"9.1. Введення в ADO.NET","\u002Fcsharp\u002Fado-net\u002Fintroduction-to-adonet","01.csharp\u002F09.ado-net\u002F01.introduction-to-adonet",{"title":414,"path":415,"stem":416},"9.2. Клас DbConnection — з'єднання з базою даних","\u002Fcsharp\u002Fado-net\u002Fconnection","01.csharp\u002F09.ado-net\u002F02.connection",{"title":418,"path":419,"stem":420},"9.3. Клас DbCommand — виконання SQL-запитів","\u002Fcsharp\u002Fado-net\u002Fcommand-and-queries","01.csharp\u002F09.ado-net\u002F03.command-and-queries",{"title":422,"path":423,"stem":424},"9.4. Клас DbDataReader — ефективне читання даних","\u002Fcsharp\u002Fado-net\u002Fdatareader","01.csharp\u002F09.ado-net\u002F04.datareader",{"title":426,"path":427,"stem":428},"9.5. Параметризовані запити та захист від SQL Injection","\u002Fcsharp\u002Fado-net\u002Fparameters-and-sql-injection","01.csharp\u002F09.ado-net\u002F05.parameters-and-sql-injection",{"title":430,"path":431,"stem":432},"9.6. Транзакції в ADO.NET","\u002Fcsharp\u002Fado-net\u002Ftransactions","01.csharp\u002F09.ado-net\u002F06.transactions",{"title":434,"path":435,"stem":436},"9.7. DbProviderFactory — провайдер-незалежний код","\u002Fcsharp\u002Fado-net\u002Fprovider-factory","01.csharp\u002F09.ado-net\u002F07.provider-factory",{"title":438,"path":439,"stem":440},"9.8. Асинхронний доступ до даних","\u002Fcsharp\u002Fado-net\u002Fasync-data-access","01.csharp\u002F09.ado-net\u002F08.async-data-access",{"title":442,"path":443,"stem":444},"9.9. Від'єднаний режим: DataSet, DataTable, DataRow","\u002Fcsharp\u002Fado-net\u002Fdisconnected-mode-dataset","01.csharp\u002F09.ado-net\u002F09.disconnected-mode-dataset",{"title":446,"path":447,"stem":448},"9.10. DataAdapter — міст між DataSet та базою даних","\u002Fcsharp\u002Fado-net\u002Fdata-adapter","01.csharp\u002F09.ado-net\u002F10.data-adapter",{"title":450,"path":451,"stem":452},"9.11. Data Mapper та Repository: Архітектура доступу до даних","\u002Fcsharp\u002Fado-net\u002Fdata-mapper-repository","01.csharp\u002F09.ado-net\u002F11.data-mapper-repository",{"title":454,"path":455,"stem":456},"9.12. Identity Map, Unit of Work та Specification Pattern","\u002Fcsharp\u002Fado-net\u002Fadvanced-patterns","01.csharp\u002F09.ado-net\u002F12.advanced-patterns",{"title":458,"icon":255,"path":459,"stem":460,"children":461,"page":59},"Ef Core","\u002Fcsharp\u002Fef-core","01.csharp\u002F10.ef-core",[462,466,470,474,478,482,486,490,494,498,502,506,510,514,518,522,526,532,538,542,546,550,554,558,562,566,570,574,578,582,586,590,594,598,602,606,610,614,618,622,626,630,634,638,642,646],{"title":463,"path":464,"stem":465},"Що таке ORM? Від SQL до об'єктів","\u002Fcsharp\u002Fef-core\u002Fwhat-is-orm","01.csharp\u002F10.ef-core\u002F01.what-is-orm",{"title":467,"path":468,"stem":469},"Перший проєкт — від нуля до CRUD","\u002Fcsharp\u002Fef-core\u002Ffirst-project","01.csharp\u002F10.ef-core\u002F02.first-project",{"title":471,"path":472,"stem":473},"DbContext — Серце EF Core","\u002Fcsharp\u002Fef-core\u002Fdbcontext-deep-dive","01.csharp\u002F10.ef-core\u002F03.dbcontext-deep-dive",{"title":475,"path":476,"stem":477},"Провайдери баз даних — Архітектура та Вибір СУБД","\u002Fcsharp\u002Fef-core\u002Fdatabase-providers","01.csharp\u002F10.ef-core\u002F04.database-providers",{"title":479,"path":480,"stem":481},"Конвенції EF Core — Магія без конфігурації","\u002Fcsharp\u002Fef-core\u002Fconventions","01.csharp\u002F10.ef-core\u002F05.conventions",{"title":483,"path":484,"stem":485},"Fluent API та Data Annotations — Явна конфігурація моделі","\u002Fcsharp\u002Fef-core\u002Ffluent-api-vs-annotations","01.csharp\u002F10.ef-core\u002F06.fluent-api-vs-annotations",{"title":487,"path":488,"stem":489},"Зв'язки — One-to-One та One-to-Many","\u002Fcsharp\u002Fef-core\u002Frelationships-basics","01.csharp\u002F10.ef-core\u002F07.relationships-basics",{"title":491,"path":492,"stem":493},"Зв'язки Advanced — Many-to-Many та Складні Сценарії","\u002Fcsharp\u002Fef-core\u002Frelationships-advanced","01.csharp\u002F10.ef-core\u002F08.relationships-advanced",{"title":495,"path":496,"stem":497},"Властивості — Типи, Конвертери, Компаратори (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fproperty-configuration-part1","01.csharp\u002F10.ef-core\u002F09.property-configuration-part1",{"title":499,"path":500,"stem":501},"Властивості — Value Comparers, Generators, Shadow Properties (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fproperty-configuration-part2","01.csharp\u002F10.ef-core\u002F09.property-configuration-part2",{"title":503,"path":504,"stem":505},"Складні типи — Owned Types та Complex Types (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fcomplex-types-owned-part1","01.csharp\u002F10.ef-core\u002F10.complex-types-owned-part1",{"title":507,"path":508,"stem":509},"Складні типи — Complex Types, Keyless Entities, Порівняння (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fcomplex-types-owned-part2","01.csharp\u002F10.ef-core\u002F10.complex-types-owned-part2",{"title":511,"path":512,"stem":513},"JSON Columns — Складні дані у JSON (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fjson-columns-part1","01.csharp\u002F10.ef-core\u002F11.json-columns-part1",{"title":515,"path":516,"stem":517},"JSON Columns — Value Comparers, Індекси, Провайдери (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fjson-columns-part2","01.csharp\u002F10.ef-core\u002F11.json-columns-part2",{"title":519,"path":520,"stem":521},"Успадкування — Абстрактні класи та TPH (Частина 1)","\u002Fcsharp\u002Fef-core\u002Finheritance-part1","01.csharp\u002F10.ef-core\u002F12.inheritance-part1",{"title":523,"path":524,"stem":525},"Успадкування — TPT, TPC та Порівняння Стратегій (Частина 2)","\u002Fcsharp\u002Fef-core\u002Finheritance-part2","01.csharp\u002F10.ef-core\u002F12.inheritance-part2",{"title":527,"path":528,"stem":529,"children":530},"Індекси, Обмеження та Схема (Частина 1)","\u002Fcsharp\u002Fef-core\u002Findexes-constraints-part1","01.csharp\u002F10.ef-core\u002F13.indexes-constraints-part1",[531],{"title":527,"path":528,"stem":529},{"title":533,"path":534,"stem":535,"children":536},"Індекси, Обмеження та Схема (Частина 2)","\u002Fcsharp\u002Fef-core\u002Findexes-constraints-part2","01.csharp\u002F10.ef-core\u002F13.indexes-constraints-part2",[537],{"title":533,"path":534,"stem":535},{"title":539,"path":540,"stem":541},"Seed Data — Початкові Дані (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fseeding-part1","01.csharp\u002F10.ef-core\u002F14.seeding-part1",{"title":543,"path":544,"stem":545},"Seed Data — SQL-скрипти, Bogus та Стратегії (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fseeding-part2","01.csharp\u002F10.ef-core\u002F14.seeding-part2",{"title":547,"path":548,"stem":549},"Global Query Filters — Глобальні Фільтри (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fglobal-query-filters-part1","01.csharp\u002F10.ef-core\u002F15.global-query-filters-part1",{"title":551,"path":552,"stem":553},"Global Query Filters — Підводні камені та Інтеграція (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fglobal-query-filters-part2","01.csharp\u002F10.ef-core\u002F15.global-query-filters-part2",{"title":555,"path":556,"stem":557},"LINQ-запити в EF Core (Частина 1)","\u002Fcsharp\u002Fef-core\u002Flinq-queries-part1","01.csharp\u002F10.ef-core\u002F16.linq-queries-part1",{"title":559,"path":560,"stem":561},"LINQ-запити в EF Core (Частина 2)","\u002Fcsharp\u002Fef-core\u002Flinq-queries-part2","01.csharp\u002F10.ef-core\u002F16.linq-queries-part2",{"title":563,"path":564,"stem":565},"Завантаження Пов'язаних Даних (Частина 1)","\u002Fcsharp\u002Fef-core\u002Floading-related-data-part1","01.csharp\u002F10.ef-core\u002F17.loading-related-data-part1",{"title":567,"path":568,"stem":569},"Завантаження Пов'язаних Даних (Частина 2)","\u002Fcsharp\u002Fef-core\u002Floading-related-data-part2","01.csharp\u002F10.ef-core\u002F17.loading-related-data-part2",{"title":571,"path":572,"stem":573},"Raw SQL, Views та Stored Procedures (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fraw-sql-part1","01.csharp\u002F10.ef-core\u002F18.raw-sql-part1",{"title":575,"path":576,"stem":577},"Raw SQL — Stored Procedures, DbFunction та Bulk Operations (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fraw-sql-part2","01.csharp\u002F10.ef-core\u002F18.raw-sql-part2",{"title":579,"path":580,"stem":581},"Продвинуті Запити — Compiled Queries, Bulk та Оптимізація (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fadvanced-queries-part1","01.csharp\u002F10.ef-core\u002F19.advanced-queries-part1",{"title":583,"path":584,"stem":585},"Продвинуті Запити — Query Tags, Bulk та Interceptors (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fadvanced-queries-part2","01.csharp\u002F10.ef-core\u002F19.advanced-queries-part2",{"title":587,"path":588,"stem":589},"Change Tracker — Відстеження Змін (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fchange-tracking-part1","01.csharp\u002F10.ef-core\u002F20.change-tracking-part1",{"title":591,"path":592,"stem":593},"Change Tracker — Графи Об'єктів та Disconnected (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fchange-tracking-part2","01.csharp\u002F10.ef-core\u002F20.change-tracking-part2",{"title":595,"path":596,"stem":597},"Збереження Даних та Транзакції (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fsaving-data-part1","01.csharp\u002F10.ef-core\u002F21.saving-data-part1",{"title":599,"path":600,"stem":601},"Збереження Даних — Concurrency та Outbox (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fsaving-data-part2","01.csharp\u002F10.ef-core\u002F21.saving-data-part2",{"title":603,"path":604,"stem":605},"Конкурентність та Блокування (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fconcurrency-part1","01.csharp\u002F10.ef-core\u002F22.concurrency-part1",{"title":607,"path":608,"stem":609},"Конкурентність — Дедлоки та Queue Processing (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fconcurrency-part2","01.csharp\u002F10.ef-core\u002F22.concurrency-part2",{"title":611,"path":612,"stem":613},"Міграції в EF Core — Основи (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fmigrations-basics-part1","01.csharp\u002F10.ef-core\u002F23.migrations-basics-part1",{"title":615,"path":616,"stem":617},"Міграції в EF Core — Основи (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fmigrations-basics-part2","01.csharp\u002F10.ef-core\u002F23.migrations-basics-part2",{"title":619,"path":620,"stem":621},"Міграції — Просунуті Сценарії (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fmigrations-advanced-part1","01.csharp\u002F10.ef-core\u002F24.migrations-advanced-part1",{"title":623,"path":624,"stem":625},"Міграції — Просунуті Сценарії (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fmigrations-advanced-part2","01.csharp\u002F10.ef-core\u002F24.migrations-advanced-part2",{"title":627,"path":628,"stem":629},"Управління Схемою та Database-First (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fschema-management-part1","01.csharp\u002F10.ef-core\u002F25.schema-management-part1",{"title":631,"path":632,"stem":633},"Управління Схемою та Database-First (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fschema-management-part2","01.csharp\u002F10.ef-core\u002F25.schema-management-part2",{"title":635,"path":636,"stem":637},"Продуктивність EF Core — Основи (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fperformance-fundamentals-part1","01.csharp\u002F10.ef-core\u002F26.performance-fundamentals-part1",{"title":639,"path":640,"stem":641},"Interceptors в EF Core (Частина 1)","\u002Fcsharp\u002Fef-core\u002Finterceptors-part1","01.csharp\u002F10.ef-core\u002F29.interceptors-part1",{"title":643,"path":644,"stem":645},"Interceptors в EF Core — Connection, Transaction та Materialization (Частина 2)","\u002Fcsharp\u002Fef-core\u002Finterceptors-part2","01.csharp\u002F10.ef-core\u002F29.interceptors-part2",{"title":647,"path":648,"stem":649},"План вивчення Entity Framework Core — Повний курс","\u002Fcsharp\u002Fef-core\u002Fimplementation_plan","01.csharp\u002F10.ef-core\u002Fimplementation_plan",{"title":651,"icon":652,"path":653,"stem":654,"children":655,"page":59},"ASP.NET","i-devicon-dotnetcore","\u002Fcsharp\u002Faspnet","01.csharp\u002F11.aspnet",[656,730,791,869,927,941,967,1057,1111,1182,1212,1289,1346],{"title":657,"icon":658,"path":659,"stem":660,"children":661,"page":59},"Minimal API","i-lucide-network","\u002Fcsharp\u002Faspnet\u002Fminimal-api","01.csharp\u002F11.aspnet\u002F01.minimal-api",[662,666,670,674,678,682,686,690,694,698,702,706,710,714,718,722,726],{"title":663,"path":664,"stem":665},"Вступ до ASP.NET та еволюція фреймворку","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fintroduction","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F01.introduction",{"title":667,"path":668,"stem":669},"Перший додаток на ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Ffirst-application","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F02.first-application",{"title":671,"path":672,"stem":673},"WebApplication, Builder та Dependency Injection","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fwebapplication-builder","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F03.webapplication-builder",{"title":675,"path":676,"stem":677},"Конвеєр запитів та Middleware","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Frequest-pipeline-middleware","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F04.request-pipeline-middleware",{"title":679,"path":680,"stem":681},"Маршрутизація в ASP.NET Core: Основи","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Frouting-basics","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F05.routing-basics",{"title":683,"path":684,"stem":685},"Маршрутизація в ASP.NET Core: Розширені можливості","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Frouting-advanced","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F06.routing-advanced",{"title":687,"path":688,"stem":689},"Статичні файли в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fstatic-files","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F07.static-files",{"title":691,"path":692,"stem":693},"Статичні Активи: MapStaticAssets (ASP.NET Core 9.0)","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fstatic-assets","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F08.static-assets",{"title":695,"path":696,"stem":697},"Конфігурація в ASP.NET Core: Основи","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fconfiguration-fundamentals","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F09.configuration-fundamentals",{"title":699,"path":700,"stem":701},"Конфігурація: Паттерн Options","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fconfiguration-options","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F10.configuration-options",{"title":703,"path":704,"stem":705},"Логування в ASP.NET Core: Основи","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Flogging-basics","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F11.logging-basics",{"title":707,"path":708,"stem":709},"Логування: Serilog та Middleware","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Flogging-advanced","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F12.logging-advanced",{"title":711,"path":712,"stem":713},"Управління станом: HttpContext.Items та Cookies","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fstate-management","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F13.state-management",{"title":715,"path":716,"stem":717},"Стан сесії: Sessions","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fsession-state","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F14.session-state",{"title":719,"path":720,"stem":721},"Структура проєкту: від хаосу до архітектури","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fproject-structure","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F15.project-structure",{"title":723,"path":724,"stem":725},"Scalar у Minimal API: повний проєкт і Fluent OpenAPI","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fscalar-openapi-fluent","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F16.scalar-openapi-fluent",{"title":727,"path":728,"stem":729},"Swagger \u002F Swashbuckle у Minimal API: окремий класичний шлях","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fswagger-swashbuckle","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F17.swagger-swashbuckle",{"title":731,"icon":658,"path":732,"stem":733,"children":734,"page":59},"API","\u002Fcsharp\u002Faspnet\u002Fapi","01.csharp\u002F11.aspnet\u002F02.api",[735,739,743,747,751,755,759,763,767,771,775,779,783,787],{"title":736,"path":737,"stem":738},"Що таке API. Клієнт-серверна архітектура","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fwhat-is-api","01.csharp\u002F11.aspnet\u002F02.api\u002F01.what-is-api",{"title":740,"path":741,"stem":742},"Формати даних: JSON, XML, TOML та бінарні формати","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fdata-formats","01.csharp\u002F11.aspnet\u002F02.api\u002F02.data-formats",{"title":744,"path":745,"stem":746},"Парадигми API та концепція REST","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fapi-paradigms-rest","01.csharp\u002F11.aspnet\u002F02.api\u002F03.api-paradigms-rest",{"title":748,"path":749,"stem":750},"HTTP-методи, статус-коди та заголовки","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fhttp-methods-status-codes","01.csharp\u002F11.aspnet\u002F02.api\u002F04.http-methods-status-codes",{"title":752,"path":753,"stem":754},"Організація HTTP API за принципами REST","\u002Fcsharp\u002Faspnet\u002Fapi\u002Frest-organizing","01.csharp\u002F11.aspnet\u002F02.api\u002F05.rest-organizing",{"title":756,"path":757,"stem":758},"Номенклатура URL та CRUD-операції","\u002Fcsharp\u002Faspnet\u002Fapi\u002Furl-nomenclature-crud","01.csharp\u002F11.aspnet\u002F02.api\u002F06.url-nomenclature-crud",{"title":760,"path":761,"stem":762},"Правила дизайну: іменування та стандарти","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fapi-design-naming","01.csharp\u002F11.aspnet\u002F02.api\u002F07.api-design-naming",{"title":764,"path":765,"stem":766},"Валідація, ліміти та обробка помилок","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fapi-design-validation","01.csharp\u002F11.aspnet\u002F02.api\u002F08.api-design-validation",{"title":768,"path":769,"stem":770},"Обробка помилок у Minimal API","\u002Fcsharp\u002Faspnet\u002Fapi\u002Ferror-handling-http","01.csharp\u002F11.aspnet\u002F02.api\u002F09.error-handling-http",{"title":772,"path":773,"stem":774},"Ідемпотентність та синхронізація стану","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fidempotency-sync","01.csharp\u002F11.aspnet\u002F02.api\u002F10.idempotency-sync",{"title":776,"path":777,"stem":778},"Пагінація та організація списків","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fpagination-lists","01.csharp\u002F11.aspnet\u002F02.api\u002F11.pagination-lists",{"title":780,"path":781,"stem":782},"Безпека API, кешування та інтернаціоналізація","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fsecurity-auth","01.csharp\u002F11.aspnet\u002F02.api\u002F12.security-auth",{"title":784,"path":785,"stem":786},"Процес проєктування API та документування","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fapi-design-process","01.csharp\u002F11.aspnet\u002F02.api\u002F13.api-design-process",{"title":788,"path":789,"stem":790},"OpenAPI: контракт, специфікація та документація API","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fopenapi","01.csharp\u002F11.aspnet\u002F02.api\u002F14.openapi",{"title":792,"icon":793,"path":794,"stem":795,"children":796,"page":59},"Auth","i-lucide-shield-check","\u002Fcsharp\u002Faspnet\u002Fauth","01.csharp\u002F11.aspnet\u002F03.auth",[797,801,805,809,813,817,821,825,829,833,837,841,845,849,853,857,861,865],{"title":798,"path":799,"stem":800},"Основи аутентифікації та авторизації","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fauth-fundamentals","01.csharp\u002F11.aspnet\u002F03.auth\u002F01.auth-fundamentals",{"title":802,"path":803,"stem":804},"JWT-аутентифікація","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fjwt-authentication","01.csharp\u002F11.aspnet\u002F03.auth\u002F02.jwt-authentication",{"title":806,"path":807,"stem":808},"Авторизація: ролі, політики та resource-based доступ","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fauthorization-policies","01.csharp\u002F11.aspnet\u002F03.auth\u002F03.authorization-policies",{"title":810,"path":811,"stem":812},"Cookie-аутентифікація та ASP.NET Core Identity","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fcookie-auth-identity","01.csharp\u002F11.aspnet\u002F03.auth\u002F04.cookie-auth-identity",{"title":814,"path":815,"stem":816},"JWT + Refresh Tokens (HttpOnly Cookie)","\u002Fcsharp\u002Faspnet\u002Fauth\u002F04b.identity-auth-jwt","01.csharp\u002F11.aspnet\u002F03.auth\u002F04b.identity-auth-jwt",{"title":818,"path":819,"stem":820},"Identity: Підтвердження Email та Скидання Пароля","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fidentity-email-confirmation","01.csharp\u002F11.aspnet\u002F03.auth\u002F05.identity-email-confirmation",{"title":822,"path":823,"stem":824},"Identity: Двофакторна Аутентифікація (2FA)","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fidentity-two-factor","01.csharp\u002F11.aspnet\u002F03.auth\u002F06.identity-two-factor",{"title":826,"path":827,"stem":828},"Identity: Внутрішня Архітектура та Кастомізація","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fidentity-internals","01.csharp\u002F11.aspnet\u002F03.auth\u002F07.identity-internals",{"title":830,"path":831,"stem":832},"OAuth 2.0 та зовнішні провайдери","\u002Fcsharp\u002Faspnet\u002Fauth\u002Foauth-external-providers","01.csharp\u002F11.aspnet\u002F03.auth\u002F08.oauth-external-providers",{"title":834,"path":835,"stem":836},"Безпека на практиці: CORS, HTTPS та захист від атак","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fsecurity-hardening","01.csharp\u002F11.aspnet\u002F03.auth\u002F09.security-hardening",{"title":838,"path":839,"stem":840},"Теорія OAuth 2.0: Поняття, Аналогії та Флоу","\u002Fcsharp\u002Faspnet\u002Fauth\u002Foauth-theory","01.csharp\u002F11.aspnet\u002F03.auth\u002F10.oauth-theory",{"title":842,"path":843,"stem":844},"OIDC, OAuth 2.0 та Keycloak в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Fauth\u002Foidc-keycloak","01.csharp\u002F11.aspnet\u002F03.auth\u002F10.oidc-keycloak",{"title":846,"path":847,"stem":848},"API Keys аутентифікація в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fapi-keys","01.csharp\u002F11.aspnet\u002F03.auth\u002F11.api-keys",{"title":850,"path":851,"stem":852},"Rate Limiting та Throttling в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Fauth\u002Frate-limiting","01.csharp\u002F11.aspnet\u002F03.auth\u002F12.rate-limiting",{"title":854,"path":855,"stem":856},"Refresh Token Rotation в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Fauth\u002Frefresh-token-rotation","01.csharp\u002F11.aspnet\u002F03.auth\u002F13.refresh-token-rotation",{"title":858,"path":859,"stem":860},"Certificate Authentication та mTLS в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fcertificate-auth","01.csharp\u002F11.aspnet\u002F03.auth\u002F14.certificate-auth",{"title":862,"path":863,"stem":864},"RBAC, ABAC та ReBAC в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Fauth\u002Frbac-abac-rebac","01.csharp\u002F11.aspnet\u002F03.auth\u002F15.rbac-abac-rebac",{"title":866,"path":867,"stem":868},"Multi-tenancy та ізоляція даних в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fmulti-tenancy","01.csharp\u002F11.aspnet\u002F03.auth\u002F16.multi-tenancy",{"title":870,"icon":871,"path":872,"stem":873,"children":874,"page":59},"Нотифікації","i-lucide-bell","\u002Fcsharp\u002Faspnet\u002Fnotifications","01.csharp\u002F11.aspnet\u002F04.notifications",[875,879,883,887,891,895,899,903,907,911,915,919,923],{"title":876,"path":877,"stem":878},"In-App нотифікації через базу даних","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fin-app-database-notifications","01.csharp\u002F11.aspnet\u002F04.notifications\u002F01.in-app-database-notifications",{"title":880,"path":881,"stem":882},"Polling: Регулярний запит оновлень","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fpolling","01.csharp\u002F11.aspnet\u002F04.notifications\u002F02.polling",{"title":884,"path":885,"stem":886},"Server-Sent Events: Однострімовий push від сервера","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fserver-sent-events","01.csharp\u002F11.aspnet\u002F04.notifications\u002F03.server-sent-events",{"title":888,"path":889,"stem":890},"WebSockets: Двостороннє з'єднання в реальному часі","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fwebsockets","01.csharp\u002F11.aspnet\u002F04.notifications\u002F04.websockets",{"title":892,"path":893,"stem":894},"SignalR: Абстракція над транспортами реального часу","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fsignalr","01.csharp\u002F11.aspnet\u002F04.notifications\u002F05.signalr",{"title":896,"path":897,"stem":898},"Background Services: Фонові задачі в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fbackground-services","01.csharp\u002F11.aspnet\u002F04.notifications\u002F06.background-services",{"title":900,"path":901,"stem":902},"Web Push нотифікації","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fweb-push","01.csharp\u002F11.aspnet\u002F04.notifications\u002F07.web-push",{"title":904,"path":905,"stem":906},"Email нотифікації","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Femail-notifications","01.csharp\u002F11.aspnet\u002F04.notifications\u002F08.email-notifications",{"title":908,"path":909,"stem":910},"Порівняння підходів: Як вибрати правильну технологію нотифікацій","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fchoosing-the-right-approach","01.csharp\u002F11.aspnet\u002F04.notifications\u002F09.choosing-the-right-approach",{"title":912,"path":913,"stem":914},"Hangfire: Надійне планування фонових задач","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fhangfire","01.csharp\u002F11.aspnet\u002F04.notifications\u002F10.hangfire",{"title":916,"path":917,"stem":918},"Практика: Конвертація зображень у WebP через Hangfire","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fhangfire-image-webp","01.csharp\u002F11.aspnet\u002F04.notifications\u002F11.hangfire-image-webp",{"title":920,"path":921,"stem":922},"Практика: Підготовка відео до HLS-стрімінгу через Hangfire","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fhangfire-video-hls","01.csharp\u002F11.aspnet\u002F04.notifications\u002F12.hangfire-video-hls",{"title":924,"path":925,"stem":926},"Telegram-нотифікації: від одного повідомлення до масових розсилок і мульти-канального підходу","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Ftelegram-notifications","01.csharp\u002F11.aspnet\u002F04.notifications\u002F13.telegram-notifications",{"title":928,"icon":929,"path":930,"stem":931,"children":932,"page":59},"Інтернаціоналізація","i-lucide-languages","\u002Fcsharp\u002Faspnet\u002Fi18n","01.csharp\u002F11.aspnet\u002F05.i18n",[933,937],{"title":934,"path":935,"stem":936},"Інтернаціоналізація (i18n) у Minimal API: від A до Я","\u002Fcsharp\u002Faspnet\u002Fi18n\u002Finternationalization","01.csharp\u002F11.aspnet\u002F05.i18n\u002F01.internationalization",{"title":938,"path":939,"stem":940},"Humanizer: людиномовні рядки у .NET","\u002Fcsharp\u002Faspnet\u002Fi18n\u002Fhumanizer","01.csharp\u002F11.aspnet\u002F05.i18n\u002F02.humanizer",{"title":942,"icon":943,"path":944,"stem":945,"children":946,"page":59},"Кешування","i-lucide-layers","\u002Fcsharp\u002Faspnet\u002Fcaching","01.csharp\u002F11.aspnet\u002F06.caching",[947,951,955,959,963],{"title":948,"path":949,"stem":950},"Огляд кешування: чотири рівні і коли що обирати","\u002Fcsharp\u002Faspnet\u002Fcaching\u002Fcaching","01.csharp\u002F11.aspnet\u002F06.caching\u002F01.caching",{"title":952,"path":953,"stem":954},"IMemoryCache: кеш в оперативній пам'яті","\u002Fcsharp\u002Faspnet\u002Fcaching\u002Fmemory-cache","01.csharp\u002F11.aspnet\u002F06.caching\u002F02.memory-cache",{"title":956,"path":957,"stem":958},"IDistributedCache і Redis: розподілений кеш","\u002Fcsharp\u002Faspnet\u002Fcaching\u002Fdistributed-cache","01.csharp\u002F11.aspnet\u002F06.caching\u002F03.distributed-cache",{"title":960,"path":961,"stem":962},"Response Cache: HTTP-кешування через Cache-Control","\u002Fcsharp\u002Faspnet\u002Fcaching\u002Fresponse-cache","01.csharp\u002F11.aspnet\u002F06.caching\u002F04.response-cache",{"title":964,"path":965,"stem":966},"Output Cache: серверний кеш HTTP-відповідей (.NET 7+)","\u002Fcsharp\u002Faspnet\u002Fcaching\u002Foutput-cache","01.csharp\u002F11.aspnet\u002F06.caching\u002F05.output-cache",{"title":968,"icon":969,"path":970,"stem":971,"children":972,"page":59},"Тестування","i-lucide-test-tube","\u002Fcsharp\u002Faspnet\u002Ftesting","01.csharp\u002F11.aspnet\u002F07.testing",[973,977,981,985,989,993,997,1001,1005,1009,1013,1017,1021,1025,1029,1033,1037,1041,1045,1049,1053],{"title":974,"path":975,"stem":976},"Що таке тестування? Від інтуїції до науки","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fwhat-is-testing","01.csharp\u002F11.aspnet\u002F07.testing\u002F01.what-is-testing",{"title":978,"path":979,"stem":980},"Піраміда тестування — Стратегія, а не Догма","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Ftesting-pyramid","01.csharp\u002F11.aspnet\u002F07.testing\u002F02.testing-pyramid",{"title":982,"path":983,"stem":984},"Дві Школи Тестування — Лондон проти Детройту","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Ftesting-schools","01.csharp\u002F11.aspnet\u002F07.testing\u002F03.testing-schools",{"title":986,"path":987,"stem":988},"TDD та BDD — Тести як Дизайн-інструмент","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Ftdd-and-bdd","01.csharp\u002F11.aspnet\u002F07.testing\u002F04.tdd-and-bdd",{"title":990,"path":991,"stem":992},"Що саме тестувати — Техніки аналізу та Циклomatична складність","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fwhat-to-test","01.csharp\u002F11.aspnet\u002F07.testing\u002F05.what-to-test",{"title":994,"path":995,"stem":996},"Тестові Фреймворки — Навіщо вони і що всередині","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Ftest-frameworks","01.csharp\u002F11.aspnet\u002F07.testing\u002F06.test-frameworks",{"title":998,"path":999,"stem":1000},"xUnit — Факти, Теорії та Lifecycle тестів","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fxunit-basics","01.csharp\u002F11.aspnet\u002F07.testing\u002F07.xunit-basics",{"title":1002,"path":1003,"stem":1004},"xUnit Advanced — Fixtures, Кастомізація та Розширення","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fxunit-advanced","01.csharp\u002F11.aspnet\u002F07.testing\u002F08.xunit-advanced",{"title":1006,"path":1007,"stem":1008},"Moq — Глибоке занурення в мокування","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fmocking-with-moq","01.csharp\u002F11.aspnet\u002F07.testing\u002F09.mocking-with-moq",{"title":1010,"path":1011,"stem":1012},"Тестування Баз Даних — EF Core, SQLite та Testcontainers","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fdatabase-testing","01.csharp\u002F11.aspnet\u002F07.testing\u002F10.database-testing",{"title":1014,"path":1015,"stem":1016},"Integration Testing — Частина 1 [Теорія та WebApplicationFactory]","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fintegration-testing","01.csharp\u002F11.aspnet\u002F07.testing\u002F11.integration-testing",{"title":1018,"path":1019,"stem":1020},"Інтеграційне тестування — Практика","\u002Fcsharp\u002Faspnet\u002Ftesting\u002F11a.integration-testing-practice","01.csharp\u002F11.aspnet\u002F07.testing\u002F11a.integration-testing-practice",{"title":1022,"path":1023,"stem":1024},"Integration Testing — Частина 2 [Просунуті Сценарії та Testcontainers]","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fintegration-testing-advanced","01.csharp\u002F11.aspnet\u002F07.testing\u002F12.integration-testing-advanced",{"title":1026,"path":1027,"stem":1028},"Професійний Postman: Колекції, Змінні та GitHub Інтеграція","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fpostman-professional","01.csharp\u002F11.aspnet\u002F07.testing\u002F13.postman-professional",{"title":1030,"path":1031,"stem":1032},"HttpClient у Тестах Частина 1: Архітектура та MockHttpMessageHandler","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fhttpclient-testing","01.csharp\u002F11.aspnet\u002F07.testing\u002F14.httpclient-testing",{"title":1034,"path":1035,"stem":1036},"HttpClient у Тестах Частина 2: WireMock.Net та Resilience","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fwiremock-net","01.csharp\u002F11.aspnet\u002F07.testing\u002F15.wiremock-net",{"title":1038,"path":1039,"stem":1040},"Патерни та Анти-патерни Тестування: Test Smells","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Ftesting-patterns","01.csharp\u002F11.aspnet\u002F07.testing\u002F16.testing-patterns",{"title":1042,"path":1043,"stem":1044},"Просунуті інструменти: Time, Snapshots та Властивості","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fadvanced-testing-tools","01.csharp\u002F11.aspnet\u002F07.testing\u002F17.advanced-testing-tools",{"title":1046,"path":1047,"stem":1048},"Тестування Архітектури з NetArchTest","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Farchitecture-testing","01.csharp\u002F11.aspnet\u002F07.testing\u002F18.architecture-testing",{"title":1050,"path":1051,"stem":1052},"Тестування Продуктивності: BenchmarkDotNet, NBomber та k6","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fperformance-testing","01.csharp\u002F11.aspnet\u002F07.testing\u002F19.performance-testing",{"title":1054,"path":1055,"stem":1056},"Залишок плану для курсу \"Тестування ASP.NET Minimal API\"","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fremaining_plan","01.csharp\u002F11.aspnet\u002F07.testing\u002Fremaining_plan",{"title":1058,"icon":1059,"path":1060,"stem":1061,"children":1062,"page":59},"Платежі","i-lucide-credit-card","\u002Fcsharp\u002Faspnet\u002Fpayments","01.csharp\u002F11.aspnet\u002F08.payments",[1063,1067,1071,1075,1079,1083,1087,1091,1095,1099,1103,1107],{"title":1064,"path":1065,"stem":1066},"Основи платіжної інфраструктури","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Fpayment-fundamentals","01.csharp\u002F11.aspnet\u002F08.payments\u002F01.payment-fundamentals",{"title":1068,"path":1069,"stem":1070},"Методи оплати в Україні","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Fpayment-methods-ukraine","01.csharp\u002F11.aspnet\u002F08.payments\u002F02.payment-methods-ukraine",{"title":1072,"path":1073,"stem":1074},"PCI DSS та безпека платежів","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Fpci-dss-security","01.csharp\u002F11.aspnet\u002F08.payments\u002F03.pci-dss-security",{"title":1076,"path":1077,"stem":1078},"Архітектура платіжної підсистеми","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Fpayment-architecture","01.csharp\u002F11.aspnet\u002F08.payments\u002F04.payment-architecture",{"title":1080,"path":1081,"stem":1082},"Інтеграція LiqPay (ПриватБанк)","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Fliqpay-integration","01.csharp\u002F11.aspnet\u002F08.payments\u002F05.liqpay-integration",{"title":1084,"path":1085,"stem":1086},"Інтеграція Monobank Acquiring API","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Fmonobank-acquiring","01.csharp\u002F11.aspnet\u002F08.payments\u002F06.monobank-acquiring",{"title":1088,"path":1089,"stem":1090},"Інтеграція Stripe","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Fstripe-integration","01.csharp\u002F11.aspnet\u002F08.payments\u002F07.stripe-integration",{"title":1092,"path":1093,"stem":1094},"Webhooks — глибоке занурення","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Fwebhooks-deep-dive","01.csharp\u002F11.aspnet\u002F08.payments\u002F08.webhooks-deep-dive",{"title":1096,"path":1097,"stem":1098},"Підписки та рекурентні платежі","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Fsubscriptions-recurring","01.csharp\u002F11.aspnet\u002F08.payments\u002F09.subscriptions-recurring",{"title":1100,"path":1101,"stem":1102},"Повернення коштів та диспути","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Frefunds-disputes","01.csharp\u002F11.aspnet\u002F08.payments\u002F10.refunds-disputes",{"title":1104,"path":1105,"stem":1106},"Тестування платіжних інтеграцій","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Ftesting-payments","01.csharp\u002F11.aspnet\u002F08.payments\u002F11.testing-payments",{"title":1108,"path":1109,"stem":1110},"Чекліст виходу в Production","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Fproduction-checklist","01.csharp\u002F11.aspnet\u002F08.payments\u002F12.production-checklist",{"title":1112,"icon":1113,"items":1114,"path":1127,"stem":1128,"children":1129,"page":59},"Популярні бібліотеки","lucide:box",[1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126],"01.fluent-validation","02.mapster","03.erroror-result-pattern","04.serilog","05.mediatr","06.polly","07.health-checks","08.feature-management","09.fluent-email","10.quest-pdf","11.bogus","12.humanizer-guard","\u002Fcsharp\u002Faspnet\u002Flibraries","01.csharp\u002F11.aspnet\u002F09.libraries",[1130,1134,1138,1142,1146,1150,1154,1158,1162,1166,1170,1174,1178],{"title":1131,"path":1132,"stem":1133},"Валідація з FluentValidation в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Ffluent-validation","01.csharp\u002F11.aspnet\u002F09.libraries\u002F01.fluent-validation",{"title":1135,"path":1136,"stem":1137},"Маппінг об","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Fmapster","01.csharp\u002F11.aspnet\u002F09.libraries\u002F02.mapster",{"title":1139,"path":1140,"stem":1141},"Обробка помилок з ErrorOr та Result Pattern в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Ferroror-result-pattern","01.csharp\u002F11.aspnet\u002F09.libraries\u002F03.erroror-result-pattern",{"title":1143,"path":1144,"stem":1145},"Структуроване логування з Serilog в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Fserilog","01.csharp\u002F11.aspnet\u002F09.libraries\u002F04.serilog",{"title":1147,"path":1148,"stem":1149},"CQRS та Mediator з MediatR в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Fmediatr","01.csharp\u002F11.aspnet\u002F09.libraries\u002F05.mediatr",{"title":1151,"path":1152,"stem":1153},"Відмовостійкість з Polly в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Fpolly","01.csharp\u002F11.aspnet\u002F09.libraries\u002F06.polly",{"title":1155,"path":1156,"stem":1157},"Health Checks в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Fhealth-checks","01.csharp\u002F11.aspnet\u002F09.libraries\u002F07.health-checks",{"title":1159,"path":1160,"stem":1161},"Feature Management та Feature Flags в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Ffeature-management","01.csharp\u002F11.aspnet\u002F09.libraries\u002F08.feature-management",{"title":1163,"path":1164,"stem":1165},"Відправка Email з FluentEmail в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Ffluent-email","01.csharp\u002F11.aspnet\u002F09.libraries\u002F09.fluent-email",{"title":1167,"path":1168,"stem":1169},"Генерація PDF з QuestPDF в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Fquest-pdf","01.csharp\u002F11.aspnet\u002F09.libraries\u002F10.quest-pdf",{"title":1171,"path":1172,"stem":1173},"Генерація тестових даних з Bogus в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Fbogus","01.csharp\u002F11.aspnet\u002F09.libraries\u002F11.bogus",{"title":1175,"path":1176,"stem":1177},"Humanizer та Guard Clauses в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Fhumanizer-guard","01.csharp\u002F11.aspnet\u002F09.libraries\u002F12.humanizer-guard",{"title":1179,"path":1180,"stem":1181},"План модуля 10.libraries — Популярні бібліотеки ASP.NET","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Fplan","01.csharp\u002F11.aspnet\u002F09.libraries\u002Fplan",{"title":1183,"icon":1184,"path":1185,"stem":1186,"children":1187,"page":59},"Razor Pages","i-lucide-layout-template","\u002Fcsharp\u002Faspnet\u002Frazor-pages","01.csharp\u002F11.aspnet\u002F10.razor-pages",[1188,1192,1196,1200,1204,1208],{"title":1189,"path":1190,"stem":1191},"Від Minimal API до Razor Pages: концептуальний перехід","\u002Fcsharp\u002Faspnet\u002Frazor-pages\u002Ffrom-minimal-api","01.csharp\u002F11.aspnet\u002F10.razor-pages\u002F01.from-minimal-api",{"title":1193,"path":1194,"stem":1195},"PageModel: логіка сторінки Razor Pages","\u002Fcsharp\u002Faspnet\u002Frazor-pages\u002Fpage-model","01.csharp\u002F11.aspnet\u002F10.razor-pages\u002F02.page-model",{"title":1197,"path":1198,"stem":1199},"Razor синтаксис: шаблонізатор у .cshtml","\u002Fcsharp\u002Faspnet\u002Frazor-pages\u002Frazor-syntax","01.csharp\u002F11.aspnet\u002F10.razor-pages\u002F03.razor-syntax",{"title":1201,"path":1202,"stem":1203},"Tag Helpers: типізований HTML","\u002Fcsharp\u002Faspnet\u002Frazor-pages\u002Ftag-helpers","01.csharp\u002F11.aspnet\u002F10.razor-pages\u002F04.tag-helpers",{"title":1205,"path":1206,"stem":1207},"Форми і валідація: повний цикл обробки даних","\u002Fcsharp\u002Faspnet\u002Frazor-pages\u002Fforms-validation","01.csharp\u002F11.aspnet\u002F10.razor-pages\u002F05.forms-validation",{"title":1209,"path":1210,"stem":1211},"Практичний проєкт: TaskManager на Razor Pages","\u002Fcsharp\u002Faspnet\u002Frazor-pages\u002Fproject-task-manager","01.csharp\u002F11.aspnet\u002F10.razor-pages\u002F06.project-task-manager",{"title":1213,"path":1214,"stem":1215,"children":1216,"page":59},"ASP.NET Core MVC","\u002Fcsharp\u002Faspnet\u002Fmvc","01.csharp\u002F11.aspnet\u002F11.mvc",[1217,1221,1225,1229,1233,1237,1241,1245,1249,1253,1257,1261,1265,1269,1273,1277,1281,1285],{"title":1218,"path":1219,"stem":1220},"Патерн MVC: архітектура, що змінила веб","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fmvc-pattern","01.csharp\u002F11.aspnet\u002F11.mvc\u002F01.mvc-pattern",{"title":1222,"path":1223,"stem":1224},"Від Razor Pages до MVC: концептуальний перехід","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Ffrom-razor-pages","01.csharp\u002F11.aspnet\u002F11.mvc\u002F02.from-razor-pages",{"title":1226,"path":1227,"stem":1228},"Controllers та Actions: серце MVC","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fcontrollers-actions","01.csharp\u002F11.aspnet\u002F11.mvc\u002F03.controllers-actions",{"title":1230,"path":1231,"stem":1232},"Маршрутизація в MVC: Convention vs Attribute Routing","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Frouting-mvc","01.csharp\u002F11.aspnet\u002F11.mvc\u002F04.routing-mvc",{"title":1234,"path":1235,"stem":1236},"Model Binding: від HTTP до C#","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fmodel-binding","01.csharp\u002F11.aspnet\u002F11.mvc\u002F05.model-binding",{"title":1238,"path":1239,"stem":1240},"Views, ViewData, ViewBag, TempData і ViewModel","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fviews-viewdata-tempdata","01.csharp\u002F11.aspnet\u002F11.mvc\u002F06.views-viewdata-tempdata",{"title":1242,"path":1243,"stem":1244},"Filters: аспектно-орієнтоване програмування в MVC","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Ffilters","01.csharp\u002F11.aspnet\u002F11.mvc\u002F07.filters",{"title":1246,"path":1247,"stem":1248},"Areas: структурування великих застосунків","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fareas","01.csharp\u002F11.aspnet\u002F11.mvc\u002F08.areas",{"title":1250,"path":1251,"stem":1252},"View Components: повторювані незалежні блоки UI","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fview-components","01.csharp\u002F11.aspnet\u002F11.mvc\u002F09.view-components",{"title":1254,"path":1255,"stem":1256},"Display та Editor Templates","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fdisplay-editor-templates","01.csharp\u002F11.aspnet\u002F11.mvc\u002F10.display-editor-templates",{"title":1258,"path":1259,"stem":1260},"Валідація: IValidatableObject та FluentValidation","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fvalidation-advanced","01.csharp\u002F11.aspnet\u002F11.mvc\u002F11.validation-advanced",{"title":1262,"path":1263,"stem":1264},"HTMX: інтерактивність через HTML-атрибути","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fhtmx","01.csharp\u002F11.aspnet\u002F11.mvc\u002F12.htmx",{"title":1266,"path":1267,"stem":1268},"HTMX у ASP.NET Core MVC: серверна інтеграція","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fajax-htmx-mvc","01.csharp\u002F11.aspnet\u002F11.mvc\u002F13.ajax-htmx-mvc",{"title":1270,"path":1271,"stem":1272},"Практичний проєкт: Каталог товарів з HTMX","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fhtmx-project","01.csharp\u002F11.aspnet\u002F11.mvc\u002F14.htmx-project",{"title":1274,"path":1275,"stem":1276},"Завантаження та обробка файлів","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Ffile-upload","01.csharp\u002F11.aspnet\u002F11.mvc\u002F15.file-upload",{"title":1278,"path":1279,"stem":1280},"Глобалізація та Локалізація MVC","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fglobalization-localization","01.csharp\u002F11.aspnet\u002F11.mvc\u002F16.globalization-localization",{"title":1282,"path":1283,"stem":1284},"Підсумковий проєкт: Блог-платформа","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fmvc-project","01.csharp\u002F11.aspnet\u002F11.mvc\u002F17.mvc-project",{"title":1286,"path":1287,"stem":1288},"План курсу: ASP.NET Core MVC","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fplan","01.csharp\u002F11.aspnet\u002F11.mvc\u002Fplan",{"title":1290,"path":1291,"stem":1292,"children":1293,"page":59},"Web Api","\u002Fcsharp\u002Faspnet\u002Fweb-api","01.csharp\u002F11.aspnet\u002F12.web-api",[1294,1298,1302,1306,1310,1314,1318,1322,1326,1330,1334,1338,1342],{"title":1295,"path":1296,"stem":1297},"Від Minimal API до Controller-based API","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Ffrom-minimal-api-to-controllers","01.csharp\u002F11.aspnet\u002F12.web-api\u002F01.from-minimal-api-to-controllers",{"title":1299,"path":1300,"stem":1301},"ControllerBase, ActionResult\u003CT> та Response Types","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fcontroller-base-actionresult","01.csharp\u002F11.aspnet\u002F12.web-api\u002F02.controller-base-actionresult",{"title":1303,"path":1304,"stem":1305},"Content Negotiation - JSON, XML та власні форматери","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fcontent-negotiation","01.csharp\u002F11.aspnet\u002F12.web-api\u002F03.content-negotiation",{"title":1307,"path":1308,"stem":1309},"Версіонування API","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fapi-versioning","01.csharp\u002F11.aspnet\u002F12.web-api\u002F04.api-versioning",{"title":1311,"path":1312,"stem":1313},"ProblemDetails та структурована обробка помилок","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fproblemdetails-error-handling","01.csharp\u002F11.aspnet\u002F12.web-api\u002F05.problemdetails-error-handling",{"title":1315,"path":1316,"stem":1317},"Фільтри у Web API контексті","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Ffilters-for-api","01.csharp\u002F11.aspnet\u002F12.web-api\u002F06.filters-for-api",{"title":1319,"path":1320,"stem":1321},"Пагінація, фільтрація та сортування","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fpagination-filtering-sorting","01.csharp\u002F11.aspnet\u002F12.web-api\u002F07.pagination-filtering-sorting",{"title":1323,"path":1324,"stem":1325},"HATEOAS та Resource Expansion","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fhateoas-resource-expansion","01.csharp\u002F11.aspnet\u002F12.web-api\u002F08.hateoas-resource-expansion",{"title":1327,"path":1328,"stem":1329},"Гібридна архітектура - Minimal API + Controllers","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fminimal-api-vs-controllers-hybrid","01.csharp\u002F11.aspnet\u002F12.web-api\u002F09.minimal-api-vs-controllers-hybrid",{"title":1331,"path":1332,"stem":1333},"Документація API - Swashbuckle, NSwag та генерація клієнтів","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fapi-documentation-generation","01.csharp\u002F11.aspnet\u002F12.web-api\u002F10.api-documentation-generation",{"title":1335,"path":1336,"stem":1337},"Health Checks та моніторинг API","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fhealth-checks-monitoring","01.csharp\u002F11.aspnet\u002F12.web-api\u002F11.health-checks-monitoring",{"title":1339,"path":1340,"stem":1341},"Підсумковий проєкт - Production-Ready REST API","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fweb-api-project","01.csharp\u002F11.aspnet\u002F12.web-api\u002F12.web-api-project",{"title":1343,"path":1344,"stem":1345},"План курсу: ASP.NET Core Web API (Controllers)","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fplan","01.csharp\u002F11.aspnet\u002F12.web-api\u002Fplan",{"title":1347,"icon":1348,"path":1349,"stem":1350,"children":1351,"page":59},"Моніторинг","i-lucide-activity","\u002Fcsharp\u002Faspnet\u002Fmonitoring","01.csharp\u002F11.aspnet\u002F13.monitoring",[1352,1356,1360],{"title":1353,"path":1354,"stem":1355},"Спостережуваність: від console.log до production-систем","\u002Fcsharp\u002Faspnet\u002Fmonitoring\u002Fobservability-intro","01.csharp\u002F11.aspnet\u002F13.monitoring\u002F01.observability-intro",{"title":1357,"path":1358,"stem":1359},"Health Checks: перший рівень observability","\u002Fcsharp\u002Faspnet\u002Fmonitoring\u002Fhealth-checks","01.csharp\u002F11.aspnet\u002F13.monitoring\u002F02.health-checks",{"title":1361,"path":1362,"stem":1363},"Вбудовані метрики .NET 10 та System.Diagnostics.Metrics","\u002Fcsharp\u002Faspnet\u002Fmonitoring\u002Fdotnet-metrics","01.csharp\u002F11.aspnet\u002F13.monitoring\u002F03.dotnet-metrics",{"title":1365,"icon":1366,"path":1367,"stem":1368,"children":1369,"page":59},"Desktop UI","i-lucide-app-window","\u002Fcsharp\u002Fdesktop-ui","01.csharp\u002F12.desktop-ui",[1370,1374,1378,1382,1386,1390,1394,1398,1402,1406,1410,1414,1418,1422,1426,1430,1434,1438,1442,1446,1450,1454,1458,1462,1466,1470,1474,1478,1482,1486,1490,1494,1498,1502,1506,1510,1514,1518,1522,1526,1530,1534,1538,1542,1546,1550,1554,1558,1562,1566,1570,1574,1578,1582,1586,1590,1594,1598,1602,1606,1610,1614,1618,1622,1626,1630,1634,1638,1642,1646,1650],{"title":1371,"path":1372,"stem":1373},"Що таке десктопна розробка?","\u002Fcsharp\u002Fdesktop-ui\u002Fwhat-is-desktop-dev","01.csharp\u002F12.desktop-ui\u002F01.what-is-desktop-dev",{"title":1375,"path":1376,"stem":1377},"Архітектура WPF — як влаштований графічний інтерфейс","\u002Fcsharp\u002Fdesktop-ui\u002Fwpf-architecture","01.csharp\u002F12.desktop-ui\u002F02.wpf-architecture",{"title":1379,"path":1380,"stem":1381},"Перший WPF-проєкт — від нуля до вікна","\u002Fcsharp\u002Fdesktop-ui\u002Ffirst-wpf-app","01.csharp\u002F12.desktop-ui\u002F03.first-wpf-app",{"title":1383,"path":1384,"stem":1385},"Перший Avalonia-проєкт: WPF для всіх платформ","\u002Fcsharp\u002Fdesktop-ui\u002F03a.first-avalonia-app","01.csharp\u002F12.desktop-ui\u002F03a.first-avalonia-app",{"title":1387,"path":1388,"stem":1389},"XAML: декларативний інтерфейс","\u002Fcsharp\u002Fdesktop-ui\u002Fxaml-basics","01.csharp\u002F12.desktop-ui\u002F04.xaml-basics",{"title":1391,"path":1392,"stem":1393},"Fluent UI у WPF — сучасний дизайн Windows 11","\u002Fcsharp\u002Fdesktop-ui\u002F04a.wpf-fluent-ui","01.csharp\u002F12.desktop-ui\u002F04a.wpf-fluent-ui",{"title":1395,"path":1396,"stem":1397},"WPF UI — сучасна бібліотека Fluent контролів","\u002Fcsharp\u002Fdesktop-ui\u002F04b.wpf-ui-library","01.csharp\u002F12.desktop-ui\u002F04b.wpf-ui-library",{"title":1399,"path":1400,"stem":1401},"HandyControl — велика бібліотека UI контролів для WPF","\u002Fcsharp\u002Fdesktop-ui\u002F04c.handycontrol-library","01.csharp\u002F12.desktop-ui\u002F04c.handycontrol-library",{"title":1403,"path":1404,"stem":1405},"Простори імен та ресурси XAML","\u002Fcsharp\u002Fdesktop-ui\u002Fxaml-namespaces-resources","01.csharp\u002F12.desktop-ui\u002F05.xaml-namespaces-resources",{"title":1407,"path":1408,"stem":1409},"XAML в Avalonia: ключові відмінності від WPF","\u002Fcsharp\u002Fdesktop-ui\u002F05a.avalonia-xaml-differences","01.csharp\u002F12.desktop-ui\u002F05a.avalonia-xaml-differences",{"title":1411,"path":1412,"stem":1413},"Розширення розмітки XAML (Markup Extensions)","\u002Fcsharp\u002Fdesktop-ui\u002Fxaml-markup-extensions","01.csharp\u002F12.desktop-ui\u002F06.xaml-markup-extensions",{"title":1415,"path":1416,"stem":1417},"Панелі Layout: StackPanel, WrapPanel, DockPanel","\u002Fcsharp\u002Fdesktop-ui\u002Flayout-panels-part1","01.csharp\u002F12.desktop-ui\u002F07.layout-panels-part1",{"title":1419,"path":1420,"stem":1421},"Grid, Canvas, UniformGrid","\u002Fcsharp\u002Fdesktop-ui\u002Flayout-panels-part2","01.csharp\u002F12.desktop-ui\u002F07.layout-panels-part2",{"title":1423,"path":1424,"stem":1425},"Просунуті техніки Layout","\u002Fcsharp\u002Fdesktop-ui\u002Flayout-advanced","01.csharp\u002F12.desktop-ui\u002F08.layout-advanced",{"title":1427,"path":1428,"stem":1429},"Адаптивний Layout та найкращі практики","\u002Fcsharp\u002Fdesktop-ui\u002Flayout-responsive","01.csharp\u002F12.desktop-ui\u002F09.layout-responsive",{"title":1431,"path":1432,"stem":1433},"Layout в Avalonia: відмінності та нові можливості","\u002Fcsharp\u002Fdesktop-ui\u002F09a.layout-avalonia","01.csharp\u002F12.desktop-ui\u002F09a.layout-avalonia",{"title":1435,"path":1436,"stem":1437},"Button, Image, ProgressBar та інші базові контроли","\u002Fcsharp\u002Fdesktop-ui\u002Fbasic-controls","01.csharp\u002F12.desktop-ui\u002F10.basic-controls",{"title":1439,"path":1440,"stem":1441},"Контроли в Avalonia: відмінності від WPF","\u002Fcsharp\u002Fdesktop-ui\u002F10a.controls-avalonia","01.csharp\u002F12.desktop-ui\u002F10a.controls-avalonia",{"title":1443,"path":1444,"stem":1445},"Текстові контроли — TextBlock, TextBox, RichTextBox","\u002Fcsharp\u002Fdesktop-ui\u002Ftext-controls","01.csharp\u002F12.desktop-ui\u002F11.text-controls",{"title":1447,"path":1448,"stem":1449},"Контроли вибору — CheckBox, RadioButton, ComboBox, ListBox, DatePicker","\u002Fcsharp\u002Fdesktop-ui\u002Fselection-controls","01.csharp\u002F12.desktop-ui\u002F12.selection-controls",{"title":1451,"path":1452,"stem":1453},"Content Model — GroupBox, Expander, TabControl, StatusBar","\u002Fcsharp\u002Fdesktop-ui\u002Fcontent-controls","01.csharp\u002F12.desktop-ui\u002F13.content-controls",{"title":1455,"path":1456,"stem":1457},"UI\u002FUX принципи десктопних застосунків","\u002Fcsharp\u002Fdesktop-ui\u002F13a.ui-ux-principles","01.csharp\u002F12.desktop-ui\u002F13a.ui-ux-principles",{"title":1459,"path":1460,"stem":1461},"Dependency Properties — Концепція та Value Resolution","\u002Fcsharp\u002Fdesktop-ui\u002Fdependency-properties-part1","01.csharp\u002F12.desktop-ui\u002F14.dependency-properties-part1",{"title":1463,"path":1464,"stem":1465},"Avalonia Property System — StyledProperty та DirectProperty","\u002Fcsharp\u002Fdesktop-ui\u002F14a.avalonia-property-system","01.csharp\u002F12.desktop-ui\u002F14a.avalonia-property-system",{"title":1467,"path":1468,"stem":1469},"Attached Properties — Властивості без меж","\u002Fcsharp\u002Fdesktop-ui\u002Fattached-properties","01.csharp\u002F12.desktop-ui\u002F15.attached-properties",{"title":1471,"path":1472,"stem":1473},"Routed Events — Маршрутизація подій у WPF","\u002Fcsharp\u002Fdesktop-ui\u002Frouted-events","01.csharp\u002F12.desktop-ui\u002F16.routed-events",{"title":1475,"path":1476,"stem":1477},"Data Binding — Від Code-Behind до Декларативності","\u002Fcsharp\u002Fdesktop-ui\u002Fdata-binding-basics-part1","01.csharp\u002F12.desktop-ui\u002F17.data-binding-basics-part1",{"title":1479,"path":1480,"stem":1481},"INotifyPropertyChanged — Живе оновлення UI","\u002Fcsharp\u002Fdesktop-ui\u002Fdata-binding-basics-part2","01.csharp\u002F12.desktop-ui\u002F17.data-binding-basics-part2",{"title":1483,"path":1484,"stem":1485},"Compiled Bindings в Avalonia — Безпека на етапі компіляції","\u002Fcsharp\u002Fdesktop-ui\u002F17a.avalonia-compiled-bindings","01.csharp\u002F12.desktop-ui\u002F17a.avalonia-compiled-bindings",{"title":1487,"path":1488,"stem":1489},"Просунутий Data Binding — ElementName, RelativeSource, MultiBinding","\u002Fcsharp\u002Fdesktop-ui\u002Fdata-binding-advanced","01.csharp\u002F12.desktop-ui\u002F18.data-binding-advanced",{"title":1491,"path":1492,"stem":1493},"Value Converters — Перетворення типів даних у Data Binding","\u002Fcsharp\u002Fdesktop-ui\u002Fvalue-converters","01.csharp\u002F12.desktop-ui\u002F19.value-converters",{"title":1495,"path":1496,"stem":1497},"Data Templates — Візуалізація об'єктів у WPF","\u002Fcsharp\u002Fdesktop-ui\u002Fdata-templates","01.csharp\u002F12.desktop-ui\u002F20.data-templates",{"title":1499,"path":1500,"stem":1501},"Collections Binding Part 1 — ObservableCollection та ItemsControl","\u002Fcsharp\u002Fdesktop-ui\u002Fcollections-binding-part1","01.csharp\u002F12.desktop-ui\u002F21.collections-binding-part1",{"title":1503,"path":1504,"stem":1505},"Collections Binding Part 2 — ICollectionView, Filtering, Sorting та Virtualization","\u002Fcsharp\u002Fdesktop-ui\u002Fcollections-binding-part2","01.csharp\u002F12.desktop-ui\u002F21.collections-binding-part2",{"title":1507,"path":1508,"stem":1509},"MVVM Pattern — Від Spaghetti Code до архітектури","\u002Fcsharp\u002Fdesktop-ui\u002Fmvvm-pattern","01.csharp\u002F12.desktop-ui\u002F22.mvvm-pattern",{"title":1511,"path":1512,"stem":1513},"ViewModel Implementation — Від BaseViewModel до валідації","\u002Fcsharp\u002Fdesktop-ui\u002Fviewmodel-implementation","01.csharp\u002F12.desktop-ui\u002F23.viewmodel-implementation",{"title":1515,"path":1516,"stem":1517},"Commands — Від event handlers до декларативних команд","\u002Fcsharp\u002Fdesktop-ui\u002Fcommands","01.csharp\u002F12.desktop-ui\u002F24.commands",{"title":1519,"path":1520,"stem":1521},"MVVM Toolkit — MVVM без boilerplate через Source Generators","\u002Fcsharp\u002Fdesktop-ui\u002Fmvvm-toolkit","01.csharp\u002F12.desktop-ui\u002F25.mvvm-toolkit",{"title":1523,"path":1524,"stem":1525},"Messenger Pattern — Комунікація між ViewModel без прямих посилань","\u002Fcsharp\u002Fdesktop-ui\u002Fmessenger-pattern","01.csharp\u002F12.desktop-ui\u002F26.messenger-pattern",{"title":1527,"path":1528,"stem":1529},"Стилі WPF — CSS для десктопу","\u002Fcsharp\u002Fdesktop-ui\u002Fstyles-basics","01.csharp\u002F12.desktop-ui\u002F27.styles-basics",{"title":1531,"path":1532,"stem":1533},"CSS-like стилі Avalonia","\u002Fcsharp\u002Fdesktop-ui\u002F27a.avalonia-css-styling","01.csharp\u002F12.desktop-ui\u002F27a.avalonia-css-styling",{"title":1535,"path":1536,"stem":1537},"Control Templates — Частина 1. Концепція та TemplateBinding","\u002Fcsharp\u002Fdesktop-ui\u002Fcontrol-templates-part1","01.csharp\u002F12.desktop-ui\u002F28.control-templates-part1",{"title":1539,"path":1540,"stem":1541},"Control Templates — Частина 2. Named Parts та ContentPresenter","\u002Fcsharp\u002Fdesktop-ui\u002Fcontrol-templates-part2","01.csharp\u002F12.desktop-ui\u002F28.control-templates-part2",{"title":1543,"path":1544,"stem":1545},"Control Themes в Avalonia — нова ера стилізації","\u002Fcsharp\u002Fdesktop-ui\u002F28a.avalonia-control-themes","01.csharp\u002F12.desktop-ui\u002F28a.avalonia-control-themes",{"title":1547,"path":1548,"stem":1549},"Triggers та Visual State Manager у WPF","\u002Fcsharp\u002Fdesktop-ui\u002Ftriggers-visual-states","01.csharp\u002F12.desktop-ui\u002F29.triggers-visual-states",{"title":1551,"path":1552,"stem":1553},"Pseudo-classes в Avalonia — замість WPF Triggers","\u002Fcsharp\u002Fdesktop-ui\u002F29a.avalonia-pseudo-classes","01.csharp\u002F12.desktop-ui\u002F29a.avalonia-pseudo-classes",{"title":1555,"path":1556,"stem":1557},"Теми та ресурсні словники у WPF","\u002Fcsharp\u002Fdesktop-ui\u002Fresources-themes","01.csharp\u002F12.desktop-ui\u002F30.resources-themes",{"title":1559,"path":1560,"stem":1561},"Avalonia Themes — Fluent Design та система тематизації","\u002Fcsharp\u002Fdesktop-ui\u002F30a.avalonia-themes-fluent","01.csharp\u002F12.desktop-ui\u002F30a.avalonia-themes-fluent",{"title":1563,"path":1564,"stem":1565},"Контроли колекцій — глибоке занурення","\u002Fcsharp\u002Fdesktop-ui\u002Fcollection-controls","01.csharp\u002F12.desktop-ui\u002F31.collection-controls",{"title":1567,"path":1568,"stem":1569},"DataGrid — колонки та базове відображення","\u002Fcsharp\u002Fdesktop-ui\u002Fdatagrid-part1","01.csharp\u002F12.desktop-ui\u002F32.datagrid-part1",{"title":1571,"path":1572,"stem":1573},"DataGrid — сортування, фільтрація, редагування","\u002Fcsharp\u002Fdesktop-ui\u002Fdatagrid-part2","01.csharp\u002F12.desktop-ui\u002F32.datagrid-part2",{"title":1575,"path":1576,"stem":1577},"TreeView та GridView","\u002Fcsharp\u002Fdesktop-ui\u002Ftreeview-listview","01.csharp\u002F12.desktop-ui\u002F33.treeview-listview",{"title":1579,"path":1580,"stem":1581},"Меню, Toolbar, ContextMenu, StatusBar","\u002Fcsharp\u002Fdesktop-ui\u002Fmenus-toolbars","01.csharp\u002F12.desktop-ui\u002F34.menus-toolbars",{"title":1583,"path":1584,"stem":1585},"Навігація та керування вікнами. Частина 1: вікна та сторінки","\u002Fcsharp\u002Fdesktop-ui\u002Fnavigation-windows-part1","01.csharp\u002F12.desktop-ui\u002F35.navigation-windows-part1",{"title":1587,"path":1588,"stem":1589},"Навігація та керування вікнами. Частина 2: MVVM-навігація","\u002Fcsharp\u002Fdesktop-ui\u002Fnavigation-windows-part2","01.csharp\u002F12.desktop-ui\u002F35.navigation-windows-part2",{"title":1591,"path":1592,"stem":1593},"Avalonia — Навігація та діалоги","\u002Fcsharp\u002Fdesktop-ui\u002F35a.avalonia-navigation-dialogs","01.csharp\u002F12.desktop-ui\u002F35a.avalonia-navigation-dialogs",{"title":1595,"path":1596,"stem":1597},"Діалоги та File Pickers у WPF","\u002Fcsharp\u002Fdesktop-ui\u002Fdialogs-file-pickers","01.csharp\u002F12.desktop-ui\u002F36.dialogs-file-pickers",{"title":1599,"path":1600,"stem":1601},"UserControl: компонентний підхід у WPF","\u002Fcsharp\u002Fdesktop-ui\u002Fuser-controls","01.csharp\u002F12.desktop-ui\u002F37.user-controls",{"title":1603,"path":1604,"stem":1605},"Custom Controls: Lookless Controls у WPF","\u002Fcsharp\u002Fdesktop-ui\u002Fcustom-controls","01.csharp\u002F12.desktop-ui\u002F38.custom-controls",{"title":1607,"path":1608,"stem":1609},"Avalonia TemplatedControl — Lookless Controls","\u002Fcsharp\u002Fdesktop-ui\u002F38a.avalonia-templated-controls","01.csharp\u002F12.desktop-ui\u002F38a.avalonia-templated-controls",{"title":1611,"path":1612,"stem":1613},"Анімації у WPF: Storyboard та Easing Functions","\u002Fcsharp\u002Fdesktop-ui\u002Fanimations-transitions","01.csharp\u002F12.desktop-ui\u002F39.animations-transitions",{"title":1615,"path":1616,"stem":1617},"Анімації в Avalonia","\u002Fcsharp\u002Fdesktop-ui\u002F39a.avalonia-animations","01.csharp\u002F12.desktop-ui\u002F39a.avalonia-animations",{"title":1619,"path":1620,"stem":1621},"2D Графіка та Мультимедіа у WPF","\u002Fcsharp\u002Fdesktop-ui\u002Fmedia-graphics","01.csharp\u002F12.desktop-ui\u002F40.media-graphics",{"title":1623,"path":1624,"stem":1625},"Dependency Injection у WPF та Avalonia","\u002Fcsharp\u002Fdesktop-ui\u002Fdi-integration","01.csharp\u002F12.desktop-ui\u002F41.di-integration",{"title":1627,"path":1628,"stem":1629},"SQLite та EF Core у десктопних додатках","\u002Fcsharp\u002Fdesktop-ui\u002Fdata-persistence-part1","01.csharp\u002F12.desktop-ui\u002F42.data-persistence-part1",{"title":1631,"path":1632,"stem":1633},"Repository Pattern та Unit of Work","\u002Fcsharp\u002Fdesktop-ui\u002Fdata-persistence-part2","01.csharp\u002F12.desktop-ui\u002F43.data-persistence-part2",{"title":1635,"path":1636,"stem":1637},"Тестування ViewModels","\u002Fcsharp\u002Fdesktop-ui\u002Fviewmodel-testing","01.csharp\u002F12.desktop-ui\u002F44.viewmodel-testing",{"title":1639,"path":1640,"stem":1641},"Avalonia Headless Testing — тестування UI без вікон","\u002Fcsharp\u002Fdesktop-ui\u002F44a.avalonia-headless-testing","01.csharp\u002F12.desktop-ui\u002F44a.avalonia-headless-testing",{"title":1643,"path":1644,"stem":1645},"Кросплатформна розробка з Avalonia","\u002Fcsharp\u002Fdesktop-ui\u002Favalonia-cross-platform","01.csharp\u002F12.desktop-ui\u002F45.avalonia-cross-platform",{"title":1647,"path":1648,"stem":1649},"Пакування та розгортання Avalonia додатків","\u002Fcsharp\u002Fdesktop-ui\u002Favalonia-packaging-deployment","01.csharp\u002F12.desktop-ui\u002F46.avalonia-packaging-deployment",{"title":1651,"path":1652,"stem":1653},"Розгортання WPF застосунків","\u002Fcsharp\u002Fdesktop-ui\u002Fwpf-packaging-deployment","01.csharp\u002F12.desktop-ui\u002F47.wpf-packaging-deployment",{"title":1655,"icon":658,"path":1656,"stem":1657,"children":1658,"page":59},"Network Programming","\u002Fcsharp\u002Fnetwork-programming","01.csharp\u002F13.network-programming",[1659,1663,1667,1671,1675,1679,1683,1687,1691,1695,1699],{"title":1660,"path":1661,"stem":1662},"Основи комп'ютерних мереж","\u002Fcsharp\u002Fnetwork-programming\u002Ffoundations","01.csharp\u002F13.network-programming\u002F01.foundations",{"title":1664,"path":1665,"stem":1666},"Модель OSI та стек TCP\u002FIP","\u002Fcsharp\u002Fnetwork-programming\u002Fosi-model","01.csharp\u002F13.network-programming\u002F02.osi-model",{"title":1668,"path":1669,"stem":1670},"IP-протокол та адресація","\u002Fcsharp\u002Fnetwork-programming\u002Fip-addressing","01.csharp\u002F13.network-programming\u002F03.ip-addressing",{"title":1672,"path":1673,"stem":1674},"UDP — протокол без з'єднання","\u002Fcsharp\u002Fnetwork-programming\u002Fudp","01.csharp\u002F13.network-programming\u002F05.udp",{"title":1676,"path":1677,"stem":1678},"UDP Broadcast та Multicast","\u002Fcsharp\u002Fnetwork-programming\u002Fudp-broadcast-multicast","01.csharp\u002F13.network-programming\u002F06.udp-broadcast-multicast",{"title":1680,"path":1681,"stem":1682},"HTTP — протокол вебу","\u002Fcsharp\u002Fnetwork-programming\u002Fhttp-fundamentals","01.csharp\u002F13.network-programming\u002F07.http-fundamentals",{"title":1684,"path":1685,"stem":1686},"HttpListener — вбудований HTTP-сервер .NET","\u002Fcsharp\u002Fnetwork-programming\u002F07a.http-listener","01.csharp\u002F13.network-programming\u002F07a.http-listener",{"title":1688,"path":1689,"stem":1690},"HTTP Advanced — cookies, аутентифікація та HTTPS","\u002Fcsharp\u002Fnetwork-programming\u002Fhttp-advanced","01.csharp\u002F13.network-programming\u002F08.http-advanced",{"title":1692,"path":1693,"stem":1694},"SMTP та протоколи електронної пошти","\u002Fcsharp\u002Fnetwork-programming\u002Fsmtp","01.csharp\u002F13.network-programming\u002F09.smtp",{"title":1696,"path":1697,"stem":1698},"WebSocket — повнодуплексний протокол реального часу","\u002Fcsharp\u002Fnetwork-programming\u002Fwebsockets","01.csharp\u002F13.network-programming\u002F10.websockets",{"title":1700,"path":1701,"stem":1702},"TLS\u002FSSL — криптографічний захист мережевих з'єднань","\u002Fcsharp\u002Fnetwork-programming\u002Ftls-ssl","01.csharp\u002F13.network-programming\u002F11.tls-ssl",{"title":1704,"path":1705,"stem":1706},"C# & .NET: The Ultimate Roadmap","\u002Fcsharp\u002Froadmap","01.csharp\u002Froadmap",{"title":1708,"icon":1709,"path":1710,"stem":1711,"children":1712,"page":59},"C++","i-devicon-cplusplus","\u002Fcpp","02.cpp",[1713,1717,1721,1725,1729,1733,1737,1741,1745,1748,1752,1756,1760,1764,1768,1772,1776,1780,1784,1788,1792,1796,1800,1804,1808,1812,1816,1820,1824,1828,1832,1836,1840,1844,1848,1852,1856,1860,1864,1868,1872,1876,1880,1884,1888,1892,1896,1900,1904,1908],{"title":1714,"path":1715,"stem":1716},"Вступ у програмування та алгоритми","\u002Fcpp\u002Fintro-algorithms","02.cpp\u002F01.intro-algorithms",{"title":1718,"path":1719,"stem":1720},"Code Style: угоди про оформлення коду","\u002Fcpp\u002Fcode-style","02.cpp\u002F02.code-style",{"title":1722,"path":1723,"stem":1724},"Середовище розробки та перший проєкт","\u002Fcpp\u002Fide-setup","02.cpp\u002F03.ide-setup",{"title":1726,"path":1727,"stem":1728},"Вивід даних на екран","\u002Fcpp\u002Fdata-output","02.cpp\u002F04.data-output",{"title":1730,"path":1731,"stem":1732},"Типи даних, змінні та константи","\u002Fcpp\u002Fdata-types-variables","02.cpp\u002F05.data-types-variables",{"title":1734,"path":1735,"stem":1736},"Ввід даних з клавіатури","\u002Fcpp\u002Fdata-input","02.cpp\u002F06.data-input",{"title":1738,"path":1739,"stem":1740},"Оператори, перетворення типів та логічні операції","\u002Fcpp\u002Foperators-type-conversion","02.cpp\u002F07.operators-type-conversion",{"title":1742,"path":1743,"stem":1744},"Цикли","\u002Fcpp\u002Floops","02.cpp\u002F08.loops",{"title":32,"path":1746,"stem":1747},"\u002Fcpp\u002Farrays","02.cpp\u002F09.arrays",{"title":1749,"path":1750,"stem":1751},"Алгоритми сортування та аналіз складності","\u002Fcpp\u002Fsorting","02.cpp\u002F10.sorting",{"title":1753,"path":1754,"stem":1755},"Алгоритми пошуку","\u002Fcpp\u002Fsearching","02.cpp\u002F11.searching",{"title":1757,"path":1758,"stem":1759},"Функції: основи","\u002Fcpp\u002Ffunctions-basics","02.cpp\u002F12.functions-basics",{"title":1761,"path":1762,"stem":1763},"Функції: прототипи, область видимості та додаткові можливості","\u002Fcpp\u002Ffunctions-scope","02.cpp\u002F13.functions-scope",{"title":1765,"path":1766,"stem":1767},"Функції: перевантаження та шаблони","\u002Fcpp\u002Ffunctions-overloading-templates","02.cpp\u002F14.functions-overloading-templates",{"title":1769,"path":1770,"stem":1771},"Вказівники: основи","\u002Fcpp\u002Fpointers-basics","02.cpp\u002F15.pointers-basics",{"title":1773,"path":1774,"stem":1775},"Посилання (References)","\u002Fcpp\u002Freferences","02.cpp\u002F16.references",{"title":1777,"path":1778,"stem":1779},"Вказівники, const і масиви","\u002Fcpp\u002Fpointers-const-arrays","02.cpp\u002F17.pointers-const-arrays",{"title":1781,"path":1782,"stem":1783},"Адресна арифметика","\u002Fcpp\u002Fpointer-arithmetic","02.cpp\u002F18.pointer-arithmetic",{"title":1785,"path":1786,"stem":1787},"Динамічна пам'ять","\u002Fcpp\u002Fdynamic-memory","02.cpp\u002F19.dynamic-memory",{"title":1789,"path":1790,"stem":1791},"Вказівники типу void","\u002Fcpp\u002Fvoid-pointers","02.cpp\u002F20.void-pointers",{"title":1793,"path":1794,"stem":1795},"Вказівники на вказівники","\u002Fcpp\u002Fpointers-to-pointers","02.cpp\u002F21.pointers-to-pointers",{"title":1797,"path":1798,"stem":1799},"Оператор доступу до членів через вказівник (->)","\u002Fcpp\u002Fmember-access-operator","02.cpp\u002F22.member-access-operator",{"title":1801,"path":1802,"stem":1803},"Цикл for-each (Range-based for)","\u002Fcpp\u002Fforeach-loop","02.cpp\u002F23.foreach-loop",{"title":1805,"path":1806,"stem":1807},"Вказівники на функції","\u002Fcpp\u002Ffunction-pointers","02.cpp\u002F24.function-pointers",{"title":1809,"path":1810,"stem":1811},"Лямбда-вирази","\u002Fcpp\u002Flambdas","02.cpp\u002F25.lambdas",{"title":1813,"path":1814,"stem":1815},"Лямбда-захоплення","\u002Fcpp\u002Flambda-captures","02.cpp\u002F26.lambda-captures",{"title":1817,"path":1818,"stem":1819},"Еліпсис","\u002Fcpp\u002Fellipsis","02.cpp\u002F27.ellipsis",{"title":1821,"path":1822,"stem":1823},"Безпечні альтернативи еліпсису","\u002Fcpp\u002F27a.ellipsis","02.cpp\u002F27a.ellipsis",{"title":1825,"path":1826,"stem":1827},"Аргументи командного рядка","\u002Fcpp\u002Fcommand-line-arguments","02.cpp\u002F28.command-line-arguments",{"title":1829,"path":1830,"stem":1831},"Перерахування (enum)","\u002Fcpp\u002Fenum","02.cpp\u002F29.enum",{"title":1833,"path":1834,"stem":1835},"Класи-перерахування (enum class)","\u002Fcpp\u002Fenum-class","02.cpp\u002F30.enum-class",{"title":1837,"path":1838,"stem":1839},"Псевдоніми типів (typedef і using)","\u002Fcpp\u002Ftype-aliases","02.cpp\u002F31.type-aliases",{"title":1841,"path":1842,"stem":1843},"Системи числення та двійкова арифметика","\u002Fcpp\u002Fnumber-systems","02.cpp\u002F32.number-systems",{"title":1845,"path":1846,"stem":1847},"Структури (struct): агрегування даних","\u002Fcpp\u002Fstruct","02.cpp\u002F33.struct",{"title":1849,"path":1850,"stem":1851},"Структури у функціях","\u002Fcpp\u002Fstruct-functions","02.cpp\u002F34.struct-functions",{"title":1853,"path":1854,"stem":1855},"Масиви структур і вкладені структури","\u002Fcpp\u002Fstruct-arrays","02.cpp\u002F35.struct-arrays",{"title":1857,"path":1858,"stem":1859},"Патерни struct та межі застосування","\u002Fcpp\u002Fstruct-patterns","02.cpp\u002F36.struct-patterns",{"title":1861,"path":1862,"stem":1863},"Символи та таблиця ASCII","\u002Fcpp\u002Fascii-characters","02.cpp\u002F37.ascii-characters",{"title":1865,"path":1866,"stem":1867},"Unicode та кодування UTF","\u002Fcpp\u002Funicode-utf","02.cpp\u002F38.unicode-utf",{"title":1869,"path":1870,"stem":1871},"C-style рядки","\u002Fcpp\u002Fc-strings","02.cpp\u002F39.c-strings",{"title":1873,"path":1874,"stem":1875},"Вступ до std::string","\u002Fcpp\u002Fstd-string-intro","02.cpp\u002F40.std-string-intro",{"title":1877,"path":1878,"stem":1879},"Довжина, ємність та доступ до символів std::string","\u002Fcpp\u002Fstd-string-capacity-access","02.cpp\u002F41.std-string-capacity-access",{"title":1881,"path":1882,"stem":1883},"Модифікація std::string: присвоювання, додавання, вставка, видалення та заміна","\u002Fcpp\u002Fstd-string-modification","02.cpp\u002F42.std-string-modification",{"title":1885,"path":1886,"stem":1887},"Пошук у std::string: find, npos та практичні патерни","\u002Fcpp\u002Fstd-string-search","02.cpp\u002F43.std-string-search",{"title":1889,"path":1890,"stem":1891},"std::string_view: невласницький погляд на рядок без копіювання","\u002Fcpp\u002Fstd-string-view","02.cpp\u002F44.std-string-view",{"title":1893,"path":1894,"stem":1895},"Об'єднання (union): один блок пам'яті, кілька інтерпретацій","\u002Fcpp\u002Funion","02.cpp\u002F45.union",{"title":1897,"path":1898,"stem":1899},"Організація коду: файли, препроцесор, простори імен","\u002Fcpp\u002Fmultifile-programs","02.cpp\u002F46.multifile-programs",{"title":1901,"path":1902,"stem":1903},"Робота з файлами: C-стиль (stdio.h)","\u002Fcpp\u002Fc-style-files","02.cpp\u002F47.c-style-files",{"title":1905,"path":1906,"stem":1907},"Робота з файлами: C++-стиль (fstream)","\u002Fcpp\u002Fcpp-style-files","02.cpp\u002F48.cpp-style-files",{"title":1909,"path":1910,"stem":1911},"План навчання: Курс C++ — Продовження (Статті 29–60+)","\u002Fcpp\u002Fcurriculum-plan","02.cpp\u002Fcurriculum-plan",{"title":1913,"icon":1914,"path":1915,"stem":1916,"children":1917,"page":59},"JavaScript","i-devicon-javascript","\u002Fjavascript","03.javascript",[1918,1944,1998,2020,2324,2362],{"title":1919,"icon":1920,"path":1921,"stem":1922,"children":1923,"page":59},"Events","i-lucide-mouse-pointer-click","\u002Fjavascript\u002Fevents","03.javascript\u002F01.events",[1924,1928,1932,1936,1940],{"title":1925,"path":1926,"stem":1927},"Вступ до подій браузера","\u002Fjavascript\u002Fevents\u002Fintro","03.javascript\u002F01.events\u002F01.intro",{"title":1929,"path":1930,"stem":1931},"Бульбашковий механізм (Bubbling) та занурення (Capturing)","\u002Fjavascript\u002Fevents\u002Fbubbling-capturing","03.javascript\u002F01.events\u002F02.bubbling-capturing",{"title":1933,"path":1934,"stem":1935},"Делегування подій (Event Delegation)","\u002Fjavascript\u002Fevents\u002Fdelegate-events","03.javascript\u002F01.events\u002F03.delegate-events",{"title":1937,"path":1938,"stem":1939},"Типові дії браузера та preventDefault()","\u002Fjavascript\u002Fevents\u002Fprevent-default","03.javascript\u002F01.events\u002F04.prevent-default",{"title":1941,"path":1942,"stem":1943},"Запуск користувацьких подій (Custom Events)","\u002Fjavascript\u002Fevents\u002Fcustom-events","03.javascript\u002F01.events\u002F05.custom-events",{"title":1945,"icon":1946,"path":1947,"stem":1948,"children":1949,"page":59},"Network","i-lucide-globe","\u002Fjavascript\u002Fnetwork","03.javascript\u002F02.network",[1950,1954,1958,1962,1966,1970,1974,1978,1982,1986,1990,1994],{"title":1951,"path":1952,"stem":1953},"Fetch API - Сучасний підхід до HTTP-запитів","\u002Fjavascript\u002Fnetwork\u002F01-fetch-api","03.javascript\u002F02.network\u002F01-fetch-api",{"title":1955,"path":1956,"stem":1957},"FormData - Робота з формами та файлами","\u002Fjavascript\u002Fnetwork\u002F02-formdata","03.javascript\u002F02.network\u002F02-formdata",{"title":1959,"path":1960,"stem":1961},"Відстеження прогресу завантаження","\u002Fjavascript\u002Fnetwork\u002F03-download-progress","03.javascript\u002F02.network\u002F03-download-progress",{"title":1963,"path":1964,"stem":1965},"Переривання fetch-запитів","\u002Fjavascript\u002Fnetwork\u002F04-abort-requests","03.javascript\u002F02.network\u002F04-abort-requests",{"title":1967,"path":1968,"stem":1969},"CORS - Запити між різними джерелами","\u002Fjavascript\u002Fnetwork\u002F05-cors","03.javascript\u002F02.network\u002F05-cors",{"title":1971,"path":1972,"stem":1973},"Fetch API - Повний довідник опцій","\u002Fjavascript\u002Fnetwork\u002F06-fetch-options","03.javascript\u002F02.network\u002F06-fetch-options",{"title":1975,"path":1976,"stem":1977},"URL Objects - Робота з посиланнями","\u002Fjavascript\u002Fnetwork\u002F07-url-objects","03.javascript\u002F02.network\u002F07-url-objects",{"title":1979,"path":1980,"stem":1981},"XMLHttpRequest - AJAX та низькорівневі запити","\u002Fjavascript\u002Fnetwork\u002F08-xmlhttprequest","03.javascript\u002F02.network\u002F08-xmlhttprequest",{"title":1983,"path":1984,"stem":1985},"Відновлюване завантаження файлів","\u002Fjavascript\u002Fnetwork\u002F09-resumable-upload","03.javascript\u002F02.network\u002F09-resumable-upload",{"title":1987,"path":1988,"stem":1989},"Cookies, document.cookie та світ після \"Cookiepocalypse\"","\u002Fjavascript\u002Fnetwork\u002F10-cookies","03.javascript\u002F02.network\u002F10-cookies",{"title":1991,"path":1992,"stem":1993},"js-cookie: Керування Cookies без Болю","\u002Fjavascript\u002Fnetwork\u002F11-js-cookie","03.javascript\u002F02.network\u002F11-js-cookie",{"title":1995,"path":1996,"stem":1997},"Axios: Потужний HTTP-клієнт для JavaScript","\u002Fjavascript\u002Fnetwork\u002F12-axios","03.javascript\u002F02.network\u002F12-axios",{"title":1999,"icon":2000,"path":2001,"stem":2002,"children":2003,"page":59},"Bom","i-lucide-monitor","\u002Fjavascript\u002Fbom","03.javascript\u002F03.bom",[2004,2008,2012,2016],{"title":2005,"path":2006,"stem":2007},"LocalStorage, SessionStorage та patterns збереження даних","\u002Fjavascript\u002Fbom\u002F01-localstorage","03.javascript\u002F03.bom\u002F01-localstorage",{"title":2009,"path":2010,"stem":2011},"Location Object - Керування адресою сторінки","\u002Fjavascript\u002Fbom\u002F02-location-object","03.javascript\u002F03.bom\u002F02-location-object",{"title":2013,"path":2014,"stem":2015},"History API - Керування історією браузера","\u002Fjavascript\u002Fbom\u002F03-history-api","03.javascript\u002F03.bom\u002F03-history-api",{"title":2017,"path":2018,"stem":2019},"Navigator Object - Ідентифікація та Можливості Пристрою","\u002Fjavascript\u002Fbom\u002F04-navigator-object","03.javascript\u002F03.bom\u002F04-navigator-object",{"title":2021,"icon":2022,"path":2023,"stem":2024,"children":2025},"React","i-devicon-react","\u002Fjavascript\u002Freact","03.javascript\u002F04.react\u002Findex",[2026,2027,2031,2035,2039,2043,2106,2141,2293],{"title":2021,"path":2023,"stem":2024},{"title":2028,"path":2029,"stem":2030},"Робота з Формами в React","\u002Fjavascript\u002Freact\u002Freact-forms","03.javascript\u002F04.react\u002F01.react-forms",{"title":2032,"path":2033,"stem":2034},"React Hook Form: Професійна Робота з Формами","\u002Fjavascript\u002Freact\u002Freact-hook-form","03.javascript\u002F04.react\u002F02.react-hook-form",{"title":2036,"path":2037,"stem":2038},"React Hook Form: Глибоке Розуміння Архітектури та Оптимізації","\u002Fjavascript\u002Freact\u002Freact-hook-form-new","03.javascript\u002F04.react\u002F02.react-hook-form-new",{"title":2040,"path":2041,"stem":2042},"Axios та React: Професійна Архітектура Запитів","\u002Fjavascript\u002Freact\u002Fdata-fetching-axios","03.javascript\u002F04.react\u002F03.data-fetching-axios",{"title":2044,"icon":132,"path":2045,"stem":2046,"children":2047},"Tanstack Query","\u002Fjavascript\u002Freact\u002Ftanstack-query","03.javascript\u002F04.react\u002F04.tanstack-query\u002Findex",[2048,2050,2054,2058,2062,2066,2070,2074,2078,2082,2086,2090,2094,2098,2102],{"title":2049,"path":2045,"stem":2046},"TanStack Query: Майстерність Керування Станом Сервера",{"title":2051,"path":2052,"stem":2053},"Парадигма Server State: Чому useEffect недостатньо","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Fserver-state-paradigm","03.javascript\u002F04.react\u002F04.tanstack-query\u002F01.server-state-paradigm",{"title":2055,"path":2056,"stem":2057},"Встановлення та Налаштування: Фундамент","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Finstallation-and-devtools","03.javascript\u002F04.react\u002F04.tanstack-query\u002F02.installation-and-devtools",{"title":2059,"path":2060,"stem":2061},"Основи Запитів та Магія Ключів","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Fquery-basics-and-keys","03.javascript\u002F04.react\u002F04.tanstack-query\u002F03.query-basics-and-keys",{"title":2063,"path":2064,"stem":2065},"Синхронізація Даних: Життєвий Цикл Запиту","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Fdata-synchronization","03.javascript\u002F04.react\u002F04.tanstack-query\u002F04.data-synchronization",{"title":2067,"path":2068,"stem":2069},"Мутації та Інвалідація: Зміна Даних","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Fmutations-and-invalidation","03.javascript\u002F04.react\u002F04.tanstack-query\u002F05.mutations-and-invalidation",{"title":2071,"path":2072,"stem":2073},"Оптимістичні Оновлення: Швидше за Світло","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Foptimistic-updates","03.javascript\u002F04.react\u002F04.tanstack-query\u002F06.optimistic-updates",{"title":2075,"path":2076,"stem":2077},"Пагінація та Infinite Scroll","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Fpagination-and-load-more","03.javascript\u002F04.react\u002F04.tanstack-query\u002F07.pagination-and-load-more",{"title":2079,"path":2080,"stem":2081},"Просунуті Патерни та Оптимізація","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Fadvanced-patterns","03.javascript\u002F04.react\u002F04.tanstack-query\u002F08.advanced-patterns",{"title":2083,"path":2084,"stem":2085},"Архітектура та Best Practices","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Farchitecture-and-best-practices","03.javascript\u002F04.react\u002F04.tanstack-query\u002F09.architecture-and-best-practices",{"title":2087,"path":2088,"stem":2089},"Server-Side Rendering (SSR) та Гідратація","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Fserver-side-rendering","03.javascript\u002F04.react\u002F04.tanstack-query\u002F10.server-side-rendering",{"title":2091,"path":2092,"stem":2093},"Стратегії Тестування","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Ftesting-strategies","03.javascript\u002F04.react\u002F04.tanstack-query\u002F11.testing-strategies",{"title":2095,"path":2096,"stem":2097},"Аутентифікація та Обробка Помилок","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Fauthentication-and-errors","03.javascript\u002F04.react\u002F04.tanstack-query\u002F12.authentication-and-errors",{"title":2099,"path":2100,"stem":2101},"React Suspense та Майбутнє","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Freact-suspense","03.javascript\u002F04.react\u002F04.tanstack-query\u002F13.react-suspense",{"title":2103,"path":2104,"stem":2105},"Глибоке Занурення в Продуктивність","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Fperformance-deep-dive","03.javascript\u002F04.react\u002F04.tanstack-query\u002F14.performance-deep-dive",{"title":2107,"icon":2022,"path":2108,"stem":2109,"children":2110},"React Router","\u002Fjavascript\u002Freact\u002Freact-router","03.javascript\u002F04.react\u002F05.react-router\u002Findex",[2111,2113,2117,2121,2125,2129,2133,2137],{"title":2112,"path":2108,"stem":2109},"React Router: Навігаційна система сучасного вебу",{"title":2114,"path":2115,"stem":2116},"Налаштування та Базовий Роутинг","\u002Fjavascript\u002Freact\u002Freact-router\u002Fsetup-and-basic-routing","03.javascript\u002F04.react\u002F05.react-router\u002F01.setup-and-basic-routing",{"title":2118,"path":2119,"stem":2120},"Динамічна Навігація","\u002Fjavascript\u002Freact\u002Freact-router\u002Fnavigation-and-links","03.javascript\u002F04.react\u002F05.react-router\u002F02.navigation-and-links",{"title":2122,"path":2123,"stem":2124},"Вкладені Маршрути та Макети","\u002Fjavascript\u002Freact\u002Freact-router\u002Fnested-routes-and-layouts","03.javascript\u002F04.react\u002F05.react-router\u002F03.nested-routes-and-layouts",{"title":2126,"path":2127,"stem":2128},"Динамічні Маршрути та Параметри","\u002Fjavascript\u002Freact\u002Freact-router\u002Fdynamic-routing","03.javascript\u002F04.react\u002F05.react-router\u002F04.dynamic-routing",{"title":2130,"path":2131,"stem":2132},"Data APIs: Loaders та Actions","\u002Fjavascript\u002Freact\u002Freact-router\u002Fdata-loading","03.javascript\u002F04.react\u002F05.react-router\u002F05.data-loading",{"title":2134,"path":2135,"stem":2136},"Просунуті Патерни","\u002Fjavascript\u002Freact\u002Freact-router\u002Fadvanced-patterns","03.javascript\u002F04.react\u002F05.react-router\u002F06.advanced-patterns",{"title":2138,"path":2139,"stem":2140},"Legacy Routing: Компонентний підхід","\u002Fjavascript\u002Freact\u002Freact-router\u002Flegacy-routing","03.javascript\u002F04.react\u002F05.react-router\u002F07.legacy-routing",{"title":2142,"icon":132,"path":2143,"stem":2144,"children":2145},"Redux","\u002Fjavascript\u002Freact\u002Fredux","03.javascript\u002F04.react\u002F06.redux\u002Findex",[2146,2148,2164,2193,2202,2223,2239,2268],{"title":2147,"path":2143,"stem":2144},"Redux: Еволюція управління станом",{"title":14,"icon":15,"path":2149,"stem":2150,"children":2151,"page":59},"\u002Fjavascript\u002Freact\u002Fredux\u002Ffundamentals","03.javascript\u002F04.react\u002F06.redux\u002F01.fundamentals",[2152,2156,2160],{"title":2153,"path":2154,"stem":2155},"Вступ до State Management","\u002Fjavascript\u002Freact\u002Fredux\u002Ffundamentals\u002Fintro-state-management","03.javascript\u002F04.react\u002F06.redux\u002F01.fundamentals\u002F01.intro-state-management",{"title":2157,"path":2158,"stem":2159},"Філософія Redux та Три Принципи","\u002Fjavascript\u002Freact\u002Fredux\u002Ffundamentals\u002Fredux-philosophy","03.javascript\u002F04.react\u002F06.redux\u002F01.fundamentals\u002F02.redux-philosophy",{"title":2161,"path":2162,"stem":2163},"Чисті функції та Іммутабельність","\u002Fjavascript\u002Freact\u002Fredux\u002Ffundamentals\u002Fpure-functions-immutability","03.javascript\u002F04.react\u002F06.redux\u002F01.fundamentals\u002F03.pure-functions-immutability",{"title":2165,"icon":132,"path":2166,"stem":2167,"children":2168,"page":59},"Classic Redux","\u002Fjavascript\u002Freact\u002Fredux\u002Fclassic-redux","03.javascript\u002F04.react\u002F06.redux\u002F02.classic-redux",[2169,2173,2177,2181,2185,2189],{"title":2170,"path":2171,"stem":2172},"Створення Store (Classic Redux)","\u002Fjavascript\u002Freact\u002Fredux\u002Fclassic-redux\u002Fstore-setup","03.javascript\u002F04.react\u002F06.redux\u002F02.classic-redux\u002F01.store-setup",{"title":2174,"path":2175,"stem":2176},"Actions, Constants та Action Creators","\u002Fjavascript\u002Freact\u002Fredux\u002Fclassic-redux\u002Factions-constants","03.javascript\u002F04.react\u002F06.redux\u002F02.classic-redux\u002F02.actions-constants",{"title":2178,"path":2179,"stem":2180},"Логіка Reducers","\u002Fjavascript\u002Freact\u002Fredux\u002Fclassic-redux\u002Freducers","03.javascript\u002F04.react\u002F06.redux\u002F02.classic-redux\u002F03.reducers",{"title":2182,"path":2183,"stem":2184},"Комбінування Reducers (Root Reducer)","\u002Fjavascript\u002Freact\u002Fredux\u002Fclassic-redux\u002Fdata-flow","03.javascript\u002F04.react\u002F06.redux\u002F02.classic-redux\u002F04.data-flow",{"title":2186,"path":2187,"stem":2188},"Підключення до React (React-Redux)","\u002Fjavascript\u002Freact\u002Fredux\u002Fclassic-redux\u002Freact-redux-connection","03.javascript\u002F04.react\u002F06.redux\u002F02.classic-redux\u002F05.react-redux-connection",{"title":2190,"path":2191,"stem":2192},"Middleware та Асинхронність (Redux Thunk)","\u002Fjavascript\u002Freact\u002Fredux\u002Fclassic-redux\u002Fmiddleware-thunk","03.javascript\u002F04.react\u002F06.redux\u002F02.classic-redux\u002F06.middleware-thunk",{"title":2194,"icon":132,"path":2195,"stem":2196,"children":2197,"page":59},"Transition To Rtk","\u002Fjavascript\u002Freact\u002Fredux\u002Ftransition-to-rtk","03.javascript\u002F04.react\u002F06.redux\u002F03.transition-to-rtk",[2198],{"title":2199,"path":2200,"stem":2201},"Проблеми класичного Redux","\u002Fjavascript\u002Freact\u002Fredux\u002Ftransition-to-rtk\u002Fproblems-with-classic","03.javascript\u002F04.react\u002F06.redux\u002F03.transition-to-rtk\u002F01.problems-with-classic",{"title":2203,"icon":132,"path":2204,"stem":2205,"children":2206,"page":59},"Redux Toolkit","\u002Fjavascript\u002Freact\u002Fredux\u002Fredux-toolkit","03.javascript\u002F04.react\u002F06.redux\u002F04.redux-toolkit",[2207,2211,2215,2219],{"title":2208,"path":2209,"stem":2210},"Налаштування Store з configureStore","\u002Fjavascript\u002Freact\u002Fredux\u002Fredux-toolkit\u002Fconfigure-store","03.javascript\u002F04.react\u002F06.redux\u002F04.redux-toolkit\u002F01.configure-store",{"title":2212,"path":2213,"stem":2214},"createSlice: Революція в Redux","\u002Fjavascript\u002Freact\u002Fredux\u002Fredux-toolkit\u002Fcreate-slice","03.javascript\u002F04.react\u002F06.redux\u002F04.redux-toolkit\u002F02.create-slice",{"title":2216,"path":2217,"stem":2218},"Асинхронність з createAsyncThunk","\u002Fjavascript\u002Freact\u002Fredux\u002Fredux-toolkit\u002Fasync-thunks","03.javascript\u002F04.react\u002F06.redux\u002F04.redux-toolkit\u002F03.async-thunks",{"title":2220,"path":2221,"stem":2222},"04. Entity Adapter: Керування нормалізованим станом","\u002Fjavascript\u002Freact\u002Fredux\u002Fredux-toolkit\u002Fentity-adapter","03.javascript\u002F04.react\u002F06.redux\u002F04.redux-toolkit\u002F04.entity-adapter",{"title":2224,"icon":92,"path":2225,"stem":2226,"children":2227,"page":59},"Advanced","\u002Fjavascript\u002Freact\u002Fredux\u002Fadvanced","03.javascript\u002F04.react\u002F06.redux\u002F05.advanced",[2228,2232,2236],{"title":2229,"path":2230,"stem":2231},"Мемоізація та Селектори: Повний Гайд по Reselect","\u002Fjavascript\u002Freact\u002Fredux\u002Fadvanced\u002Fselectors-reselect","03.javascript\u002F04.react\u002F06.redux\u002F05.advanced\u002F01.selectors-reselect",{"title":2233,"path":2234,"stem":2235},"RTK Query: Архітектура Серверного Кешу","\u002Fjavascript\u002Freact\u002Fredux\u002Fadvanced\u002Frtk-query-intro","03.javascript\u002F04.react\u002F06.redux\u002F05.advanced\u002F02.rtk-query-intro",{"title":2083,"path":2237,"stem":2238},"\u002Fjavascript\u002Freact\u002Fredux\u002Fadvanced\u002Farchitecture-best-practices","03.javascript\u002F04.react\u002F06.redux\u002F05.advanced\u002F03.architecture-best-practices",{"title":2240,"icon":132,"path":2241,"stem":2242,"children":2243,"page":59},"Project Kanban","\u002Fjavascript\u002Freact\u002Fredux\u002Fproject-kanban","03.javascript\u002F04.react\u002F06.redux\u002F06.project-kanban",[2244,2248,2252,2256,2260,2264],{"title":2245,"path":2246,"stem":2247},"Проєкт: Kanban Board (Trello Clone)","\u002Fjavascript\u002Freact\u002Fredux\u002Fproject-kanban\u002Fproject-overview","03.javascript\u002F04.react\u002F06.redux\u002F06.project-kanban\u002F01.project-overview",{"title":2249,"path":2250,"stem":2251},"Налаштування та Типізація","\u002Fjavascript\u002Freact\u002Fredux\u002Fproject-kanban\u002Fsetup-and-types","03.javascript\u002F04.react\u002F06.redux\u002F06.project-kanban\u002F02.setup-and-types",{"title":2253,"path":2254,"stem":2255},"Board Slice: Серце Дошки","\u002Fjavascript\u002Freact\u002Fredux\u002Fproject-kanban\u002Fboard-slice","03.javascript\u002F04.react\u002F06.redux\u002F06.project-kanban\u002F03.board-slice",{"title":2257,"path":2258,"stem":2259},"Логіка Drag & Drop","\u002Fjavascript\u002Freact\u002Fredux\u002Fproject-kanban\u002Fdrag-and-drop-logic","03.javascript\u002F04.react\u002F06.redux\u002F06.project-kanban\u002F04.drag-and-drop-logic",{"title":2261,"path":2262,"stem":2263},"Інтеграція з RTK Query","\u002Fjavascript\u002Freact\u002Fredux\u002Fproject-kanban\u002Frtk-query-integration","03.javascript\u002F04.react\u002F06.redux\u002F06.project-kanban\u002F05.rtk-query-integration",{"title":2265,"path":2266,"stem":2267},"Optimistic Updates","\u002Fjavascript\u002Freact\u002Fredux\u002Fproject-kanban\u002Foptimistic-updates","03.javascript\u002F04.react\u002F06.redux\u002F06.project-kanban\u002F06.optimistic-updates",{"title":2269,"icon":132,"path":2270,"stem":2271,"children":2272,"page":59},"Testing","\u002Fjavascript\u002Freact\u002Fredux\u002Ftesting","03.javascript\u002F04.react\u002F06.redux\u002F07.testing",[2273,2277,2281,2285,2289],{"title":2274,"path":2275,"stem":2276},"Тестування Redux","\u002Fjavascript\u002Freact\u002Fredux\u002Ftesting\u002Fintro-testing","03.javascript\u002F04.react\u002F06.redux\u002F07.testing\u002F01.intro-testing",{"title":2278,"path":2279,"stem":2280},"Тестування Reducers","\u002Fjavascript\u002Freact\u002Fredux\u002Ftesting\u002Ftesting-reducers","03.javascript\u002F04.react\u002F06.redux\u002F07.testing\u002F02.testing-reducers",{"title":2282,"path":2283,"stem":2284},"Тестування Селекторів","\u002Fjavascript\u002Freact\u002Fredux\u002Ftesting\u002Ftesting-selectors","03.javascript\u002F04.react\u002F06.redux\u002F07.testing\u002F03.testing-selectors",{"title":2286,"path":2287,"stem":2288},"Тестування Компонентів (Integration)","\u002Fjavascript\u002Freact\u002Fredux\u002Ftesting\u002Ftesting-components","03.javascript\u002F04.react\u002F06.redux\u002F07.testing\u002F04.testing-components",{"title":2290,"path":2291,"stem":2292},"Тестування Async Thunks","\u002Fjavascript\u002Freact\u002Fredux\u002Ftesting\u002Ftesting-thunks","03.javascript\u002F04.react\u002F06.redux\u002F07.testing\u002F05.testing-thunks",{"title":2294,"icon":132,"path":2295,"stem":2296,"children":2297},"Ui Libraries","\u002Fjavascript\u002Freact\u002Fui-libraries","03.javascript\u002F04.react\u002F07.ui-libraries\u002Findex",[2298,2300,2304,2308,2312,2316,2320],{"title":2299,"path":2295,"stem":2296},"UI Бібліотеки в React",{"title":2301,"path":2302,"stem":2303},"Вступ до UI Бібліотек: Навіщо Винаходити Велосипед Двічі?","\u002Fjavascript\u002Freact\u002Fui-libraries\u002Fintroduction-to-ui-libraries","03.javascript\u002F04.react\u002F07.ui-libraries\u002F01.introduction-to-ui-libraries",{"title":2305,"path":2306,"stem":2307},"Філософія shadcn\u002Fui: \"Not a Component Library\"","\u002Fjavascript\u002Freact\u002Fui-libraries\u002Fshadcn-philosophy","03.javascript\u002F04.react\u002F07.ui-libraries\u002F02.shadcn-philosophy",{"title":2309,"path":2310,"stem":2311},"Установка та Налаштування shadcn\u002Fui","\u002Fjavascript\u002Freact\u002Fui-libraries\u002Fshadcn-installation","03.javascript\u002F04.react\u002F07.ui-libraries\u002F03.shadcn-installation",{"title":2313,"path":2314,"stem":2315},"Базові Компоненти shadcn\u002Fui: Фундамент Інтерфейсу","\u002Fjavascript\u002Freact\u002Fui-libraries\u002Fshadcn-components-basics","03.javascript\u002F04.react\u002F07.ui-libraries\u002F04.shadcn-components-basics",{"title":2317,"path":2318,"stem":2319},"Компоненти Форм: Побудова Інтерактивних Form","\u002Fjavascript\u002Freact\u002Fui-libraries\u002Fshadcn-components-forms","03.javascript\u002F04.react\u002F07.ui-libraries\u002F05.shadcn-components-forms",{"title":2321,"path":2322,"stem":2323},"Складні Компоненти: Dialog, Dropdown, Table та Command","\u002Fjavascript\u002Freact\u002Fui-libraries\u002Fshadcn-components-advanced","03.javascript\u002F04.react\u002F07.ui-libraries\u002F06.shadcn-components-advanced",{"title":2325,"icon":2326,"path":2327,"stem":2328,"children":2329,"page":59},"TypeScript","i-devicon-typescript","\u002Fjavascript\u002Ftypescript","03.javascript\u002F05.typescript",[2330,2334,2338,2342,2346,2350,2354,2358],{"title":2331,"path":2332,"stem":2333},"TypeScript: Броня для вашого коду","\u002Fjavascript\u002Ftypescript\u002Fintro-and-basic-types","03.javascript\u002F05.typescript\u002F01.intro-and-basic-types",{"title":2335,"path":2336,"stem":2337},"Майстерність Моделювання Даних: Інтерфейси та Просунуті Типи","\u002Fjavascript\u002Ftypescript\u002Finterfaces-and-advanced-types","03.javascript\u002F05.typescript\u002F02.interfaces-and-advanced-types",{"title":2339,"path":2340,"stem":2341},"Алхімія Типів: Generics та Utility Types","\u002Fjavascript\u002Ftypescript\u002Fgenerics-and-utilities","03.javascript\u002F05.typescript\u002F03.generics-and-utilities",{"title":2343,"path":2344,"stem":2345},"Архітектура та Шаблони: Класи в TypeScript","\u002Fjavascript\u002Ftypescript\u002Fclasses-and-oop","03.javascript\u002F05.typescript\u002F04.classes-and-oop",{"title":2347,"path":2348,"stem":2349},"Продакшн та Екосистема: Advanced Config & Workflow","\u002Fjavascript\u002Ftypescript\u002Fadvanced-patterns-and-config","03.javascript\u002F05.typescript\u002F05.advanced-patterns-and-config",{"title":2351,"path":2352,"stem":2353},"TypeScript у світі React","\u002Fjavascript\u002Ftypescript\u002Freact-basics","03.javascript\u002F05.typescript\u002F06.react-basics",{"title":2355,"path":2356,"stem":2357},"React + TypeScript: Продвинуті патерни","\u002Fjavascript\u002Ftypescript\u002Freact-advanced","03.javascript\u002F05.typescript\u002F07.react-advanced",{"title":2359,"path":2360,"stem":2361},"React + TypeScript: Екосистема та бібліотеки","\u002Fjavascript\u002Ftypescript\u002Freact-ecosystem","03.javascript\u002F05.typescript\u002F08.react-ecosystem",{"title":2363,"path":2364,"stem":2365},"Atomic Design","\u002Fjavascript\u002Fatomic-design","03.javascript\u002F2.atomic-design",{"title":2367,"icon":2368,"path":2369,"stem":2370,"children":2371,"page":59},"Java","i-devicon-java","\u002Fjava","04.java",[2372,2375,2378,2382,2386,2390,2394],{"title":162,"path":2373,"stem":2374},"\u002Fjava\u002Fdata-mapper-part1","04.java\u002F01.data-mapper-part1",{"title":166,"path":2376,"stem":2377},"\u002Fjava\u002Fdata-mapper-part2","04.java\u002F02.data-mapper-part2",{"title":2379,"path":2380,"stem":2381},"Service Layer: Організація бізнес-логіки","\u002Fjava\u002Fservice-layer","04.java\u002F03.service-layer",{"title":2383,"path":2384,"stem":2385},"Rich Domain Model та State Pattern","\u002Fjava\u002Frich-domain-model","04.java\u002F04.rich-domain-model",{"title":2387,"path":2388,"stem":2389},"Патерни для складної бізнес-логіки","\u002Fjava\u002Fbusiness-logic-patterns","04.java\u002F05.business-logic-patterns",{"title":2391,"path":2392,"stem":2393},"Обробка помилок та валідація","\u002Fjava\u002Ferror-handling-validation","04.java\u002F06.error-handling-validation",{"title":2395,"path":2396,"stem":2397,"children":2398,"page":59},"Проектування баз даних","\u002Fjava\u002Fpr2","04.java\u002Fpr2",[2399,2403,2407,2411,2415,2419,2423,2427,2431,2435,2439,2443,2447,2451,2455,2459,2463,2467,2471,2475,2479,2483,2487,2491,2495,2499,2503,2507,2511,2515,2519,2523,2527,2531,2535,2539,2543],{"title":2400,"path":2401,"stem":2402},"Концептуальне моделювання: Мистецтво розуміння предметної області","\u002Fjava\u002Fpr2\u002Fconceptual-modeling","04.java\u002Fpr2\u002F01.conceptual-modeling",{"title":2404,"path":2405,"stem":2406},"Логічне моделювання: Від бізнес-ідей до структур даних","\u002Fjava\u002Fpr2\u002Flogical-modeling","04.java\u002Fpr2\u002F02.logical-modeling",{"title":2408,"path":2409,"stem":2410},"Нормалізація: Гігієна даних та боротьба з аномаліями","\u002Fjava\u002Fpr2\u002Fnormalization","04.java\u002Fpr2\u002F03.normalization",{"title":2412,"path":2413,"stem":2414},"Фізична схема: Від абстракції до DDL","\u002Fjava\u002Fpr2\u002Fphysical-schema","04.java\u002Fpr2\u002F04.physical-schema",{"title":2416,"path":2417,"stem":2418},"Архітектурна класифікація таблиць","\u002Fjava\u002Fpr2\u002Ftable-classification","04.java\u002Fpr2\u002F05.table-classification",{"title":2420,"path":2421,"stem":2422},"Database Migrations: Версіонування схеми з Flyway","\u002Fjava\u002Fpr2\u002Fdatabase-migrations","04.java\u002Fpr2\u002F06.database-migrations",{"title":2424,"path":2425,"stem":2426},"А що, якби це була не реляційна БД?","\u002Fjava\u002Fpr2\u002Fbeyond-relational","04.java\u002Fpr2\u002F07.beyond-relational",{"title":2428,"path":2429,"stem":2430},"Object-Relational Impedance Mismatch: Два світи, що не хочуть дружити","\u002Fjava\u002Fpr2\u002Fimpedance-mismatch","04.java\u002Fpr2\u002F09.impedance-mismatch",{"title":2432,"path":2433,"stem":2434},"JDBC: Перший контакт із базою даних","\u002Fjava\u002Fpr2\u002Fjdbc-fundamentals","04.java\u002Fpr2\u002F10.jdbc-fundamentals",{"title":2436,"path":2437,"stem":2438},"Якість коду: Spotless, SpotBugs та SonarQube","\u002Fjava\u002Fpr2\u002F10a.code-quality","04.java\u002Fpr2\u002F10a.code-quality",{"title":2440,"path":2441,"stem":2442},"Connection Pool: Патерн Object Pool для JDBC-з'єднань","\u002Fjava\u002Fpr2\u002Fconnection-pool","04.java\u002Fpr2\u002F11.connection-pool",{"title":2444,"path":2445,"stem":2446},"Row Data Gateway: Об'єкт як обгортка рядка таблиці","\u002Fjava\u002Fpr2\u002Frow-data-gateway","04.java\u002Fpr2\u002F12.row-data-gateway",{"title":2448,"path":2449,"stem":2450},"Table Data Gateway: Фасад таблиці як архітектурний відступ","\u002Fjava\u002Fpr2\u002Ftable-data-gateway","04.java\u002Fpr2\u002F13.table-data-gateway",{"title":2452,"path":2453,"stem":2454},"Repository + Data Mapper: Правильна шарова архітектура з JDBC","\u002Fjava\u002Fpr2\u002Frepository-data-mapper","04.java\u002Fpr2\u002F14.repository-data-mapper",{"title":2456,"path":2457,"stem":2458},"Identity Map: Кешування сутностей у рамках сесії","\u002Fjava\u002Fpr2\u002Fidentity-map","04.java\u002Fpr2\u002F15.identity-map",{"title":2460,"path":2461,"stem":2462},"Unit of Work: Відстеження змін і координація JDBC-транзакцій","\u002Fjava\u002Fpr2\u002Funit-of-work","04.java\u002Fpr2\u002F16.unit-of-work",{"title":2464,"path":2465,"stem":2466},"Strategy: Замінювані SQL-стратегії для підтримки різних СУБД","\u002Fjava\u002Fpr2\u002Fstrategy-sql","04.java\u002Fpr2\u002F17.strategy-sql",{"title":2468,"path":2469,"stem":2470},"Proxy: Lazy Loading для One-To-Many колекцій","\u002Fjava\u002Fpr2\u002Fproxy-lazy-loading","04.java\u002Fpr2\u002F18.proxy-lazy-loading",{"title":2472,"path":2473,"stem":2474},"Generic Repository через Java Reflection: анотації та динамічний SQL","\u002Fjava\u002Fpr2\u002Fgeneric-repository-reflection","04.java\u002Fpr2\u002F19.generic-repository-reflection",{"title":2476,"path":2477,"stem":2478},"Specification Pattern: Композиція бізнес-правил для складних запитів","\u002Fjava\u002Fpr2\u002Fspecification-pattern","04.java\u002Fpr2\u002F20.specification-pattern",{"title":2480,"path":2481,"stem":2482},"Розширені можливості Specification Pattern: підзапити, агрегації та гібридний підхід","\u002Fjava\u002Fpr2\u002F20a.advanced-specifications","04.java\u002Fpr2\u002F20a.advanced-specifications",{"title":2484,"path":2485,"stem":2486},"Асинхронність у JDBC: Від блокуючих викликів до CompletableFuture","\u002Fjava\u002Fpr2\u002Fasynchronous-jdbc","04.java\u002Fpr2\u002F21.asynchronous-jdbc",{"title":2488,"path":2489,"stem":2490},"Інтеграційне тестування JDBC-репозиторіїв: Embedded H2 та патерн AAA","\u002Fjava\u002Fpr2\u002Fintegration-testing-h2","04.java\u002Fpr2\u002F22.integration-testing-h2",{"title":2492,"path":2493,"stem":2494},"Testcontainers: Тестування з реальною PostgreSQL у Docker-контейнерах","\u002Fjava\u002Fpr2\u002Fintegration-testing-testcontainers","04.java\u002Fpr2\u002F23.integration-testing-testcontainers",{"title":2496,"path":2497,"stem":2498},"Google Guice: Впровадження залежностей у JavaFX-проєкті","\u002Fjava\u002Fpr2\u002Fdependency-injection-guice","04.java\u002Fpr2\u002F24.dependency-injection-guice",{"title":2500,"path":2501,"stem":2502},"JavaFX: Основи побудови графічних інтерфейсів","\u002Fjava\u002Fpr2\u002Fjavafx-fundamentals","04.java\u002Fpr2\u002F25.javafx-fundamentals",{"title":2504,"path":2505,"stem":2506},"Properties та Bindings: Реактивність у JavaFX","\u002Fjava\u002Fpr2\u002Fjavafx-properties-bindings","04.java\u002Fpr2\u002F26.javafx-properties-bindings",{"title":2508,"path":2509,"stem":2510},"MVC vs MVP vs MVVM: Еволюція архітектурних патернів UI","\u002Fjava\u002Fpr2\u002Fui-architecture-patterns","04.java\u002Fpr2\u002F27.ui-architecture-patterns",{"title":2512,"path":2513,"stem":2514},"MVVM на практиці: Побудова ViewModel","\u002Fjava\u002Fpr2\u002Fmvvm-viewmodel-implementation","04.java\u002Fpr2\u002F28.mvvm-viewmodel-implementation",{"title":2516,"path":2517,"stem":2518},"View та Controller: Зв'язування з ViewModel через FXML","\u002Fjava\u002Fpr2\u002Fmvvm-view-controller","04.java\u002Fpr2\u002F29.mvvm-view-controller",{"title":2520,"path":2521,"stem":2522},"Інтеграція MVVM з Guice: Автоматична ін'єкція залежностей","\u002Fjava\u002Fpr2\u002Fmvvm-guice-integration","04.java\u002Fpr2\u002F30.mvvm-guice-integration",{"title":2524,"path":2525,"stem":2526},"Валідація та обробка помилок у MVVM","\u002Fjava\u002Fpr2\u002Fmvvm-validation-error-handling","04.java\u002Fpr2\u002F31.mvvm-validation-error-handling",{"title":2528,"path":2529,"stem":2530},"Навігація та управління екранами у JavaFX MVVM","\u002Fjava\u002Fpr2\u002Fmvvm-navigation-screen-management","04.java\u002Fpr2\u002F32.mvvm-navigation-screen-management",{"title":2532,"path":2533,"stem":2534},"Тестування JavaFX MVVM-додатків","\u002Fjava\u002Fpr2\u002Fmvvm-testing","04.java\u002Fpr2\u002F33.mvvm-testing",{"title":2536,"path":2537,"stem":2538},"Стилізація та теми у JavaFX: CSS та User Experience","\u002Fjava\u002Fpr2\u002Fjavafx-styling-themes","04.java\u002Fpr2\u002F34.javafx-styling-themes",{"title":2540,"path":2541,"stem":2542},"AtlantaFX: Сучасні теми для JavaFX додатків","\u002Fjava\u002Fpr2\u002Fatlantafx-modern-themes","04.java\u002Fpr2\u002F35.atlantafx-modern-themes",{"title":2544,"path":2545,"stem":2546},"Пакування та розповсюдження JavaFX-додатків","\u002Fjava\u002Fpr2\u002Fjar-packaging-distribution","04.java\u002Fpr2\u002F36.jar-packaging-distribution",{"title":2548,"icon":2549,"path":2550,"stem":2551,"children":2552,"page":59},"Python","i-devicon-python","\u002Fpython","05.python",[2553,2557,2560,2564,2568,2572,2576,2580,2584,2588,2592,2596,2600,2604,2608,2669],{"title":2554,"path":2555,"stem":2556},"Модулі, Пакети та Віртуальні Середовища","\u002Fpython\u002Fmodules-packages-venv","05.python\u002F00.modules-packages-venv",{"title":71,"path":2558,"stem":2559},"\u002Fpython\u002Fclasses-objects","05.python\u002F01.classes-objects",{"title":2561,"path":2562,"stem":2563},"Інкапсуляція, Керування Доступом та Властивості","\u002Fpython\u002Fencapsulation","05.python\u002F02.encapsulation",{"title":2565,"path":2566,"stem":2567},"Наслідування, MRO та суперсила super()","\u002Fpython\u002Finheritance-mro","05.python\u002F03.inheritance-mro",{"title":2569,"path":2570,"stem":2571},"Абстракція — ABC проти Статичних Протоколів (PEP 544)","\u002Fpython\u002Fabstraction-protocols","05.python\u002F04.abstraction-protocols",{"title":2573,"path":2574,"stem":2575},"Магічні методи (Dunder) та Емуляція протоколів","\u002Fpython\u002Fdunder-methods","05.python\u002F05.dunder-methods",{"title":2577,"path":2578,"stem":2579},"Декоратори та Керування життєвим циклом методів","\u002Fpython\u002Fdecorators-static-class","05.python\u002F06.decorators-static-class",{"title":2581,"path":2582,"stem":2583},"Дескриптори — Магія доступу до атрибутів","\u002Fpython\u002Fdescriptors","05.python\u002F07.descriptors",{"title":2585,"path":2586,"stem":2587},"Метакласи — Динамічне створення класів під капотом CPython","\u002Fpython\u002Fmetaclasses","05.python\u002F08.metaclasses",{"title":2589,"path":2590,"stem":2591},"Dataclasses, NamedTuple та сучасні контейнери Python","\u002Fpython\u002Fmodern-containers","05.python\u002F09.modern-containers",{"title":2593,"path":2594,"stem":2595},"GIL та модель конкурентності CPython — фундамент перед потоками і процесами","\u002Fpython\u002Fgil-concurrency-intro","05.python\u002F11.gil-concurrency-intro",{"title":2597,"path":2598,"stem":2599},"Threading — конкурентність для I\u002FO-bound задач","\u002Fpython\u002Fthreading","05.python\u002F12.threading",{"title":2601,"path":2602,"stem":2603},"Multiprocessing — справжній паралелізм для CPU-bound задач","\u002Fpython\u002Fmultiprocessing","05.python\u002F13.multiprocessing",{"title":2605,"path":2606,"stem":2607},"asyncio — кооперативна конкурентність та event loop","\u002Fpython\u002Fasyncio","05.python\u002F14.asyncio",{"title":2609,"icon":92,"path":2610,"stem":2611,"children":2612,"page":59},"FastAPI","\u002Fpython\u002Ffastapi","05.python\u002Ffastapi",[2613,2617,2621,2625,2629,2633,2637,2641,2645,2649,2653,2657,2661,2665],{"title":2614,"path":2615,"stem":2616},"Глибокий Typing та Pydantic v2 — від анотацій до валідації","\u002Fpython\u002Ffastapi\u002Ftyping-pydantic","05.python\u002Ffastapi\u002F15.typing-pydantic",{"title":2618,"path":2619,"stem":2620},"WSGI, ASGI та Python Web-екосистема","\u002Fpython\u002Ffastapi\u002Fwsgi-asgi-ecosystem","05.python\u002Ffastapi\u002F16.wsgi-asgi-ecosystem",{"title":2622,"path":2623,"stem":2624},"FastAPI: Перший додаток, Uvicorn та OpenAPI","\u002Fpython\u002Ffastapi\u002Ffastapi-intro","05.python\u002Ffastapi\u002F17.fastapi-intro",{"title":2626,"path":2627,"stem":2628},"Маршрутизація, параметри запитів та APIRouter","\u002Fpython\u002Ffastapi\u002Ffastapi-routing-params","05.python\u002Ffastapi\u002F18.fastapi-routing-params",{"title":2630,"path":2631,"stem":2632},"Pydantic v2 у FastAPI — схеми, валідація та серіалізація","\u002Fpython\u002Ffastapi\u002Ffastapi-pydantic-schemas","05.python\u002Ffastapi\u002F19.fastapi-pydantic-schemas",{"title":2634,"path":2635,"stem":2636},"Dependency Injection — серце архітектури FastAPI","\u002Fpython\u002Ffastapi\u002Ffastapi-dependency-injection","05.python\u002Ffastapi\u002F20.fastapi-dependency-injection",{"title":2638,"path":2639,"stem":2640},"Обробка помилок, Middleware та CORS у FastAPI","\u002Fpython\u002Ffastapi\u002Ffastapi-errors-middleware","05.python\u002Ffastapi\u002F21.fastapi-errors-middleware",{"title":2642,"path":2643,"stem":2644},"SQLAlchemy 2.0 — ORM, Core та Async Engine","\u002Fpython\u002Ffastapi\u002Fsqlalchemy-orm","05.python\u002Ffastapi\u002F22.sqlalchemy-orm",{"title":2646,"path":2647,"stem":2648},"Alembic — міграції бази даних","\u002Fpython\u002Ffastapi\u002Falembic-migrations","05.python\u002Ffastapi\u002F23.alembic-migrations",{"title":2650,"path":2651,"stem":2652},"Repository Pattern та Clean Architecture у FastAPI","\u002Fpython\u002Ffastapi\u002Ffastapi-repository-clean-arch","05.python\u002Ffastapi\u002F24.fastapi-repository-clean-arch",{"title":2654,"path":2655,"stem":2656},"Автентифікація та авторизація — JWT, OAuth2, RBAC","\u002Fpython\u002Ffastapi\u002Ffastapi-auth-security","05.python\u002Ffastapi\u002F25.fastapi-auth-security",{"title":2658,"path":2659,"stem":2660},"Тестування FastAPI — pytest, httpx, fixtures","\u002Fpython\u002Ffastapi\u002Ffastapi-testing","05.python\u002Ffastapi\u002F26.fastapi-testing",{"title":2662,"path":2663,"stem":2664},"Async на повну — Background Tasks, WebSockets, SSE та Celery","\u002Fpython\u002Ffastapi\u002Ffastapi-async-advanced","05.python\u002Ffastapi\u002F27.fastapi-async-advanced",{"title":2666,"path":2667,"stem":2668},"Deployment — Docker, CI\u002FCD, Monitoring","\u002Fpython\u002Ffastapi\u002Ffastapi-deployment","05.python\u002Ffastapi\u002F28.fastapi-deployment",{"title":2670,"path":2671,"stem":2672},"[object Object]","\u002Fpython\u002Foop-plan","05.python\u002Foop-plan",{"title":2674,"icon":2675,"path":2676,"stem":2677,"children":2678,"page":59},"Бази даних","i-lucide-database","\u002Fdatabases","06.databases",[2679,2709,2732,2769,2798,2816,2850,2862,2871],{"title":2680,"icon":2681,"path":2682,"stem":2683,"children":2684,"page":59},"Intro","i-lucide-play","\u002Fdatabases\u002Fintro","06.databases\u002F01.intro",[2685,2689,2693,2697,2701,2705],{"title":2686,"path":2687,"stem":2688},"Введення в теорію баз даних","\u002Fdatabases\u002Fintro\u002Fintroduction-to-databases","06.databases\u002F01.intro\u002F01.introduction-to-databases",{"title":2690,"path":2691,"stem":2692},"Реляційна модель даних","\u002Fdatabases\u002Fintro\u002Frelational-model-theory","06.databases\u002F01.intro\u002F02.relational-model-theory",{"title":2694,"path":2695,"stem":2696},"ER-моделювання","\u002Fdatabases\u002Fintro\u002Fer-modeling","06.databases\u002F01.intro\u002F03.er-modeling",{"title":2698,"path":2699,"stem":2700},"Логічне проектування БД","\u002Fdatabases\u002Fintro\u002Flogical-schema","06.databases\u002F01.intro\u002F04.logical-schema",{"title":2702,"path":2703,"stem":2704},"Класифікація таблиць","\u002Fdatabases\u002Fintro\u002Ftable-classification","06.databases\u002F01.intro\u002F05.table-classification",{"title":2706,"path":2707,"stem":2708},"PlantUML для баз даних","\u002Fdatabases\u002Fintro\u002Fplantuml-diagrams","06.databases\u002F01.intro\u002F06.plantuml-diagrams",{"title":2710,"icon":2675,"path":2711,"stem":2712,"children":2713,"page":59},"MS SQL Server Start","\u002Fdatabases\u002Fms-sql-server-start","06.databases\u002F02.ms-sql-server-start",[2714,2718,2724,2728],{"title":2715,"path":2716,"stem":2717},"Типи даних у MS SQL Server","\u002Fdatabases\u002Fms-sql-server-start\u002Fdata-types","06.databases\u002F02.ms-sql-server-start\u002F01.data-types",{"title":2719,"path":2720,"stem":2721,"children":2722},"Індекси у MS SQL Server","\u002Fdatabases\u002Fms-sql-server-start\u002Fsql-indexes","06.databases\u002F02.ms-sql-server-start\u002F02.sql-indexes",[2723],{"title":2719,"path":2720,"stem":2721},{"title":2725,"path":2726,"stem":2727},"Системні бази даних MS SQL Server","\u002Fdatabases\u002Fms-sql-server-start\u002Fsystem-databases","06.databases\u002F02.ms-sql-server-start\u002F03.system-databases",{"title":2729,"path":2730,"stem":2731},"Огляд мови SQL та запитів","\u002Fdatabases\u002Fms-sql-server-start\u002Fsql-queries-overview","06.databases\u002F02.ms-sql-server-start\u002F04.sql-queries-overview",{"title":2733,"icon":2675,"path":2734,"stem":2735,"children":2736,"page":59},"SQL","\u002Fdatabases\u002Fsql","06.databases\u002F03.sql",[2737,2741,2745,2749,2753,2757,2761,2765],{"title":2738,"path":2739,"stem":2740},"Налаштування демонстраційної бази даних","\u002Fdatabases\u002Fsql\u002Fsample-database-setup","06.databases\u002F03.sql\u002F00.sample-database-setup",{"title":2742,"path":2743,"stem":2744},"DDL - Створення таблиць (CREATE TABLE)","\u002Fdatabases\u002Fsql\u002Fddl-create-table","06.databases\u002F03.sql\u002F01.ddl-create-table",{"title":2746,"path":2747,"stem":2748},"DDL - Зміна та видалення таблиць (ALTER, DROP)","\u002Fdatabases\u002Fsql\u002Fddl-alter-drop-table","06.databases\u002F03.sql\u002F02.ddl-alter-drop-table",{"title":2750,"path":2751,"stem":2752},"SELECT запити - Основи","\u002Fdatabases\u002Fsql\u002Fselect-queries-fundamentals","06.databases\u002F03.sql\u002F03.select-queries-fundamentals",{"title":2754,"path":2755,"stem":2756},"SELECT запити - Розширені можливості","\u002Fdatabases\u002Fsql\u002Fselect-queries-advanced","06.databases\u002F03.sql\u002F04.select-queries-advanced",{"title":2758,"path":2759,"stem":2760},"INSERT запити - Додавання даних","\u002Fdatabases\u002Fsql\u002Finsert-queries","06.databases\u002F03.sql\u002F05.insert-queries",{"title":2762,"path":2763,"stem":2764},"UPDATE та DELETE запити","\u002Fdatabases\u002Fsql\u002Fupdate-delete-queries","06.databases\u002F03.sql\u002F06.update-delete-queries",{"title":2766,"path":2767,"stem":2768},"Транзакції в SQL","\u002Fdatabases\u002Fsql\u002Ftransactions","06.databases\u002F03.sql\u002F07.transactions",{"title":2770,"icon":2675,"path":2771,"stem":2772,"children":2773,"page":59},"Multi Table Databases","\u002Fdatabases\u002Fmulti-table-databases","06.databases\u002F04.multi-table-databases",[2774,2778,2782,2786,2790,2794],{"title":2775,"path":2776,"stem":2777},"Зв'язки та нормалізація БД","\u002Fdatabases\u002Fmulti-table-databases\u002Frelationships-and-normalization","06.databases\u002F04.multi-table-databases\u002F00.relationships-and-normalization",{"title":2779,"path":2780,"stem":2781},"INNER JOIN - З'єднання таблиць","\u002Fdatabases\u002Fmulti-table-databases\u002Finner-join","06.databases\u002F04.multi-table-databases\u002F01.inner-join",{"title":2783,"path":2784,"stem":2785},"OUTER JOINs - LEFT, RIGHT, FULL","\u002Fdatabases\u002Fmulti-table-databases\u002Fouter-joins","06.databases\u002F04.multi-table-databases\u002F02.outer-joins",{"title":2787,"path":2788,"stem":2789},"CROSS та SELF JOINs","\u002Fdatabases\u002Fmulti-table-databases\u002Fcross-self-joins","06.databases\u002F04.multi-table-databases\u002F03.cross-self-joins",{"title":2791,"path":2792,"stem":2793},"Підзапити (Subqueries)","\u002Fdatabases\u002Fmulti-table-databases\u002Fsubqueries","06.databases\u002F04.multi-table-databases\u002F04.subqueries",{"title":2795,"path":2796,"stem":2797},"Агрегації з JOIN","\u002Fdatabases\u002Fmulti-table-databases\u002Faggregations-with-joins","06.databases\u002F04.multi-table-databases\u002F05.aggregations-with-joins",{"title":2799,"icon":2800,"path":2801,"stem":2802,"children":2803,"page":59},"Aggregate Functions","i-lucide-calculator","\u002Fdatabases\u002Faggregate-functions","06.databases\u002F05.aggregate-functions",[2804,2808,2812],{"title":2805,"path":2806,"stem":2807},"Функції агрегування в MS SQL Server","\u002Fdatabases\u002Faggregate-functions\u002Fintroduction-aggregate-functions","06.databases\u002F05.aggregate-functions\u002F01.introduction-aggregate-functions",{"title":2809,"path":2810,"stem":2811},"Групування даних в MS SQL Server","\u002Fdatabases\u002Faggregate-functions\u002Fgrouping-data","06.databases\u002F05.aggregate-functions\u002F02.grouping-data",{"title":2813,"path":2814,"stem":2815},"Підзапити з агрегатними функціями","\u002Fdatabases\u002Faggregate-functions\u002Fsubqueries-aggregates","06.databases\u002F05.aggregate-functions\u002F03.subqueries-aggregates",{"title":2817,"icon":2818,"path":2819,"stem":2820,"children":2821,"page":59},"Тригери та зберігаємі процедури","i-lucide-database-zap","\u002Fdatabases\u002Ftriggers-stored-procedures","06.databases\u002F07.triggers-stored-procedures",[2822,2826,2830,2834,2838,2842,2846],{"title":2823,"path":2824,"stem":2825},"DML-тригери","\u002Fdatabases\u002Ftriggers-stored-procedures\u002Fdml-triggers","06.databases\u002F07.triggers-stored-procedures\u002F01.dml-triggers",{"title":2827,"path":2828,"stem":2829},"DDL-тригери","\u002Fdatabases\u002Ftriggers-stored-procedures\u002Fddl-triggers","06.databases\u002F07.triggers-stored-procedures\u002F02.ddl-triggers",{"title":2831,"path":2832,"stem":2833},"Transact-SQL розширення","\u002Fdatabases\u002Ftriggers-stored-procedures\u002Ftransact-sql-extensions","06.databases\u002F07.triggers-stored-procedures\u002F03.transact-sql-extensions",{"title":2835,"path":2836,"stem":2837},"Транзакції","\u002Fdatabases\u002Ftriggers-stored-procedures\u002Ftransactions","06.databases\u002F07.triggers-stored-procedures\u002F04.transactions",{"title":2839,"path":2840,"stem":2841},"Зберігаємі процедури","\u002Fdatabases\u002Ftriggers-stored-procedures\u002Fstored-procedures","06.databases\u002F07.triggers-stored-procedures\u002F05.stored-procedures",{"title":2843,"path":2844,"stem":2845},"Користувацькі функції","\u002Fdatabases\u002Ftriggers-stored-procedures\u002Fuser-defined-functions","06.databases\u002F07.triggers-stored-procedures\u002F06.user-defined-functions",{"title":2847,"path":2848,"stem":2849},"Безпека баз даних","\u002Fdatabases\u002Ftriggers-stored-procedures\u002Fsecurity","06.databases\u002F07.triggers-stored-procedures\u002F08.security",{"title":2847,"icon":793,"path":2851,"stem":2852,"children":2853,"page":59},"\u002Fdatabases\u002Fsecurity","06.databases\u002F08.security",[2854,2858],{"title":2855,"path":2856,"stem":2857},"Вступ до безпеки баз даних","\u002Fdatabases\u002Fsecurity\u002Fintroduction","06.databases\u002F08.security\u002F01.introduction",{"title":2859,"path":2860,"stem":2861},"Системні представлення та метадані","\u002Fdatabases\u002Fsecurity\u002Fsystem-views","06.databases\u002F08.security\u002F02.system-views",{"title":2863,"icon":2864,"path":2865,"stem":2866,"children":2867,"page":59},"Резервне копіювання та відновлення","i-lucide-database-backup","\u002Fdatabases\u002Fbackup-recovery","06.databases\u002F09.backup-recovery",[2868],{"title":2863,"path":2869,"stem":2870},"\u002Fdatabases\u002Fbackup-recovery\u002Fbackup-restore","06.databases\u002F09.backup-recovery\u002F01.backup-restore",{"title":2872,"icon":2873,"path":2874,"stem":2875,"children":2876,"page":59},"Повнотекстовий пошук","i-lucide-search","\u002Fdatabases\u002Ffull-text-search","06.databases\u002F10.full-text-search",[2877],{"title":2872,"path":2878,"stem":2879},"\u002Fdatabases\u002Ffull-text-search\u002Ffull-text-search","06.databases\u002F10.full-text-search\u002F01.full-text-search",{"title":2881,"icon":2882,"path":2883,"stem":2884,"children":2885,"page":59},"Tools","i-lucide-wrench","\u002Ftools","07.tools",[2886,2962],{"title":2887,"icon":2888,"path":2889,"stem":2890,"children":2891},"Docker","i-simple-icons-docker","\u002Ftools\u002Fdocker","07.tools\u002F01.docker\u002Findex",[2892,2894,2898,2902,2906,2910,2914,2918,2922,2926,2930,2934,2938,2942,2946,2950,2954,2958],{"title":2893,"path":2889,"stem":2890},"Docker: від нуля до production",{"title":2895,"path":2896,"stem":2897},"Контейнеризація — від проблеми до рішення","\u002Ftools\u002Fdocker\u002Fcontainerization-concept","07.tools\u002F01.docker\u002F01.containerization-concept",{"title":2899,"path":2900,"stem":2901},"Docker — що це і навіщо?","\u002Ftools\u002Fdocker\u002Fdocker-what-and-why","07.tools\u002F01.docker\u002F02.docker-what-and-why",{"title":2903,"path":2904,"stem":2905},"Архітектура Docker Engine","\u002Ftools\u002Fdocker\u002Fdocker-architecture","07.tools\u002F01.docker\u002F03.docker-architecture",{"title":2907,"path":2908,"stem":2909},"Встановлення Docker","\u002Ftools\u002Fdocker\u002Finstallation","07.tools\u002F01.docker\u002F04.installation",{"title":2911,"path":2912,"stem":2913},"Перший контейнер — docker run","\u002Ftools\u002Fdocker\u002Ffirst-container","07.tools\u002F01.docker\u002F05.first-container",{"title":2915,"path":2916,"stem":2917},"Життєвий цикл контейнера","\u002Ftools\u002Fdocker\u002Fcontainer-lifecycle","07.tools\u002F01.docker\u002F06.container-lifecycle",{"title":2919,"path":2920,"stem":2921},"Docker Images — фундаментальні концепції","\u002Ftools\u002Fdocker\u002Fdocker-images-fundamentals","07.tools\u002F01.docker\u002F07.docker-images-fundamentals",{"title":2923,"path":2924,"stem":2925},"Dockerfile — основи","\u002Ftools\u002Fdocker\u002Fdockerfile-basics","07.tools\u002F01.docker\u002F08.dockerfile-basics",{"title":2927,"path":2928,"stem":2929},"Dockerfile — просунуті техніки","\u002Ftools\u002Fdocker\u002Fdockerfile-advanced","07.tools\u002F01.docker\u002F09.dockerfile-advanced",{"title":2931,"path":2932,"stem":2933},"Build Context та кешування шарів","\u002Ftools\u002Fdocker\u002Fbuild-context-and-cache","07.tools\u002F01.docker\u002F10.build-context-and-cache",{"title":2935,"path":2936,"stem":2937},"Реєстри Docker-образів","\u002Ftools\u002Fdocker\u002Fimage-registries","07.tools\u002F01.docker\u002F11.image-registries",{"title":2939,"path":2940,"stem":2941},"Контейнеризація .NET додатків","\u002Ftools\u002Fdocker\u002Fdotnet-containerization","07.tools\u002F01.docker\u002F12.dotnet-containerization",{"title":2943,"path":2944,"stem":2945},"Томи та збереження даних","\u002Ftools\u002Fdocker\u002Fvolumes-and-data","07.tools\u002F01.docker\u002F13.volumes-and-data",{"title":2947,"path":2948,"stem":2949},"Основи мережі в Docker","\u002Ftools\u002Fdocker\u002Fnetworking-basics","07.tools\u002F01.docker\u002F14.networking-basics",{"title":2951,"path":2952,"stem":2953},"Змінні оточення та конфігурація","\u002Ftools\u002Fdocker\u002Fenvironment-and-configuration","07.tools\u002F01.docker\u002F15.environment-and-configuration",{"title":2955,"path":2956,"stem":2957},"Docker Compose — оркестрація контейнерів","\u002Ftools\u002Fdocker\u002Fdocker-compose-basics","07.tools\u002F01.docker\u002F16.docker-compose-basics",{"title":2959,"path":2960,"stem":2961},"Docker Compose — Multi-Service застосунки","\u002Ftools\u002Fdocker\u002Fcompose-multi-service","07.tools\u002F01.docker\u002F17.compose-multi-service",{"title":2963,"icon":2964,"path":2965,"stem":2966,"children":2967},"Kubernetes","simple-icons:kubernetes","\u002Ftools\u002Fkubernetes","07.tools\u002F02.kubernetes\u002Findex",[2968,2970,2974,2978,2982,2986,2990,2994,2998],{"title":2969,"path":2965,"stem":2966},"Kubernetes: від розробки до production",{"title":2971,"path":2972,"stem":2973},"Kubernetes — коли Docker Compose більше не вистачає","\u002Ftools\u002Fkubernetes\u002Fwhy-kubernetes","07.tools\u002F02.kubernetes\u002F01.why-kubernetes",{"title":2975,"path":2976,"stem":2977},"Архітектура Kubernetes — анатомія кластера","\u002Ftools\u002Fkubernetes\u002Fkubernetes-architecture","07.tools\u002F02.kubernetes\u002F02.kubernetes-architecture",{"title":2979,"path":2980,"stem":2981},"Локальне середовище — minikube, kind та k3s","\u002Ftools\u002Fkubernetes\u002Flocal-environment","07.tools\u002F02.kubernetes\u002F03.local-environment",{"title":2983,"path":2984,"stem":2985},"Pod — атомарна одиниця Kubernetes","\u002Ftools\u002Fkubernetes\u002Fpods-and-containers","07.tools\u002F02.kubernetes\u002F04.pods-and-containers",{"title":2987,"path":2988,"stem":2989},"Патерни використання Pod","\u002Ftools\u002Fkubernetes\u002Fpod-patterns","07.tools\u002F02.kubernetes\u002F05.pod-patterns",{"title":2991,"path":2992,"stem":2993},"Deployment — декларативне управління Pod","\u002Ftools\u002Fkubernetes\u002Fdeployment-basics","07.tools\u002F02.kubernetes\u002F06.deployment-basics",{"title":2995,"path":2996,"stem":2997},"Rolling Updates та управління життєвим циклом Deployment","\u002Ftools\u002Fkubernetes\u002Fdeployment-rolling-updates","07.tools\u002F02.kubernetes\u002F07.deployment-rolling-updates",{"title":2999,"path":3000,"stem":3001},"Service — мережева абстракція для Pod","\u002Ftools\u002Fkubernetes\u002Fservices-networking","07.tools\u002F02.kubernetes\u002F08.services-networking",{"title":3003,"icon":3004,"path":3005,"stem":3006,"children":3007,"page":59},"Software Engineering","i-lucide-code-2","\u002Fsoftware-engineering","09.software-engineering",[3008,3012,3016,3020,3024,3028,3032,3036,3040,3044,3048],{"title":3009,"path":3010,"stem":3011},"1. Аналіз предметної області. Експертні знання та складність","\u002Fsoftware-engineering\u002Fintro-subdomains","09.software-engineering\u002F01.intro-subdomains",{"title":3013,"path":3014,"stem":3015},"2. Обмежені контексти. Інтеграція обмежених контекстів","\u002Fsoftware-engineering\u002Fintegrating-limited-contexts","09.software-engineering\u002F02.integrating-limited-contexts",{"title":3017,"path":3018,"stem":3019},"3. Реалізація простої бізнес-логіки","\u002Fsoftware-engineering\u002Fsimple","09.software-engineering\u002F03.simple",{"title":3021,"path":3022,"stem":3023},"4. Опрацювання складної бізнес-логіки","\u002Fsoftware-engineering\u002Fcomplex-business-logic","09.software-engineering\u002F04.complex-business-logic",{"title":3025,"path":3026,"stem":3027},"5. Моделювання фактора часу. Подієво-орієнтована архітектура.","\u002Fsoftware-engineering\u002Fmodelling-the-time-factor","09.software-engineering\u002F05.modelling-the-time-factor",{"title":3029,"path":3030,"stem":3031},"6. Архітектурні патерни","\u002Fsoftware-engineering\u002Farchitectural-patterns","09.software-engineering\u002F06.architectural-patterns",{"title":3033,"path":3034,"stem":3035},"Паттерни взаємодії","\u002Fsoftware-engineering\u002Fpatterns-of-interaction","09.software-engineering\u002F07.patterns-of-interaction",{"title":3037,"path":3038,"stem":3039},"Евристика проєктування","\u002Fsoftware-engineering\u002Fdesign-heuristics","09.software-engineering\u002F08.design-heuristics",{"title":3041,"path":3042,"stem":3043},"Еволюція проєктних рішень","\u002Fsoftware-engineering\u002Fevolution-of-design-solutions","09.software-engineering\u002F09.evolution-of-design-solutions",{"title":3045,"path":3046,"stem":3047},"EventStorming","\u002Fsoftware-engineering\u002Feventstorming","09.software-engineering\u002F10.eventstorming",{"title":3049,"path":3050,"stem":3051},"DDD на практиці","\u002Fsoftware-engineering\u002Fddd-in-practice","09.software-engineering\u002F11.ddd-in-practice",{"title":3053,"icon":943,"path":3054,"stem":3055,"children":3056,"page":59},"DDD","\u002Fddd","10.ddd",[3057,3061,3065,3069,3073,3077,3081,3085,3089,3093,3097,3101,3105],{"title":3058,"path":3059,"stem":3060},"Аналіз предметної області","\u002Fddd\u002Fdomain-analysis","10.ddd\u002F01.domain-analysis",{"title":3062,"path":3063,"stem":3064},"Експертні знання про предметну область","\u002Fddd\u002Fdomain-expert-knowledge","10.ddd\u002F02.domain-expert-knowledge",{"title":3066,"path":3067,"stem":3068},"Як осмислити складність предметної області","\u002Fddd\u002Fmanaging-domain-complexity","10.ddd\u002F03.managing-domain-complexity",{"title":3070,"path":3071,"stem":3072},"Інтеграція обмежених контекстів","\u002Fddd\u002Fbounded-context-integration","10.ddd\u002F04.bounded-context-integration",{"title":3074,"path":3075,"stem":3076},"Реалізація простої бізнес-логіки","\u002Fddd\u002Fsimple-business-logic","10.ddd\u002F05.simple-business-logic",{"title":3078,"path":3079,"stem":3080},"Обробка складної бізнес-логіки","\u002Fddd\u002Fcomplex-business-logic","10.ddd\u002F06.complex-business-logic",{"title":3082,"path":3083,"stem":3084},"Моделювання фактора часу","\u002Fddd\u002Ftime-modeling","10.ddd\u002F07.time-modeling",{"title":3086,"path":3087,"stem":3088},"Глава 8. Архітектурні Патерни","\u002Fddd\u002Farchitectural-patterns","10.ddd\u002F08.architectural-patterns",{"title":3090,"path":3091,"stem":3092},"Глава 9. Патерни Взаємодії","\u002Fddd\u002Finteraction-patterns","10.ddd\u002F09.interaction-patterns",{"title":3094,"path":3095,"stem":3096},"Глава 10. Проектні Евристики","\u002Fddd\u002Fdesign-heuristics","10.ddd\u002F10.design-heuristics",{"title":3098,"path":3099,"stem":3100},"Глава 11. Еволюція Проектних Рішень","\u002Fddd\u002Fevolution-of-design-decisions","10.ddd\u002F11.evolution-of-design-decisions",{"title":3102,"path":3103,"stem":3104},"Глава 12. EventStorming","\u002Fddd\u002Fevent-storming","10.ddd\u002F12.event-storming",{"title":3106,"path":3107,"stem":3108},"Глава 13. DDD на Практиці","\u002Fddd\u002Fddd-in-practice","10.ddd\u002F13.ddd-in-practice",{"title":3110,"icon":3111,"path":3112,"stem":3113,"children":3114,"page":59},"Media Streaming","i-lucide-video","\u002Fmedia-streaming","11.media-streaming",[3115,3119,3123,3127,3131,3135,3139],{"title":3116,"path":3117,"stem":3118},"01. Магія Стрімінгу: Що відбувається, коли ви натискаєте \"Play\"","\u002Fmedia-streaming\u002Fintroduction","11.media-streaming\u002F01.introduction",{"title":3120,"path":3121,"stem":3122},"02. Анатомія Медіа: Кодеки, Контейнери та Стиснення","\u002Fmedia-streaming\u002Faudio-video-anatomy","11.media-streaming\u002F02.audio-video-anatomy",{"title":3124,"path":3125,"stem":3126},"03. The Gym: FFmpeg Deep Dive","\u002Fmedia-streaming\u002Fffmpeg-gym","11.media-streaming\u002F03.ffmpeg-gym",{"title":3128,"path":3129,"stem":3130},"04. HLS Protocol: HTTP Live Streaming у Деталях","\u002Fmedia-streaming\u002Fhls-protocol","11.media-streaming\u002F04.hls-protocol",{"title":3132,"path":3133,"stem":3134},"05. DASH Protocol: Відкритий Стандарт","\u002Fmedia-streaming\u002Fdash-protocol","11.media-streaming\u002F05.dash-protocol",{"title":3136,"path":3137,"stem":3138},"06. Масштабування: CDN та Adaptive Bitrate","\u002Fmedia-streaming\u002Fcdn-and-adaptive-bitrate","11.media-streaming\u002F06.cdn-and-adaptive-bitrate",{"title":3140,"path":3141,"stem":3142},"07. Війна із Затримкою (Latency)","\u002Fmedia-streaming\u002Frealtime-latency","11.media-streaming\u002F07.realtime-latency",{"title":3144,"icon":3145,"path":3146,"stem":3147,"children":3148,"page":59},"HTML & CSS","i-devicon-html5","\u002Fhtml-css","12.html-css",[3149,3153,3157,3161,3165,3169,3173,3177,3181,3185,3189,3193,3197,3201,3205,3209,3213,3217,3221,3225,3229,3233,3237,3241,3245,3249,3253,3257,3261,3265],{"title":3150,"path":3151,"stem":3152},"Вступ до HTML. Структура документа","\u002Fhtml-css\u002Fintro-html-structure","12.html-css\u002F01.intro-html-structure",{"title":3154,"path":3155,"stem":3156},"Форматування тексту в HTML","\u002Fhtml-css\u002Fhtml-text-formatting","12.html-css\u002F02.html-text-formatting",{"title":3158,"path":3159,"stem":3160},"Посилання та зображення в HTML","\u002Fhtml-css\u002Fhtml-links-images","12.html-css\u002F03.html-links-images",{"title":3162,"path":3163,"stem":3164},"Списки та таблиці в HTML","\u002Fhtml-css\u002Fhtml-lists-tables","12.html-css\u002F04.html-lists-tables",{"title":3166,"path":3167,"stem":3168},"Форми в HTML","\u002Fhtml-css\u002Fhtml-forms","12.html-css\u002F05.html-forms",{"title":3170,"path":3171,"stem":3172},"Семантичні елементи HTML5","\u002Fhtml-css\u002Fhtml-semantic-elements","12.html-css\u002F06.html-semantic-elements",{"title":3174,"path":3175,"stem":3176},"Мультимедіа та розширені елементи HTML","\u002Fhtml-css\u002Fhtml-multimedia-advanced","12.html-css\u002F07.html-multimedia-advanced",{"title":3178,"path":3179,"stem":3180},"Мікророзмітка та SEO в HTML","\u002Fhtml-css\u002Fhtml-microdata-seo","12.html-css\u002F08.html-microdata-seo",{"title":3182,"path":3183,"stem":3184},"Вступ до CSS. Селектори та специфічність","\u002Fhtml-css\u002Fcss-intro-selectors","12.html-css\u002F09.css-intro-selectors",{"title":3186,"path":3187,"stem":3188},"Блокова модель CSS. Відступи. Box Sizing","\u002Fhtml-css\u002Fcss-box-model","12.html-css\u002F10.css-box-model",{"title":3190,"path":3191,"stem":3192},"Розміри у CSS: повний довідник одиниць і ключових слів","\u002Fhtml-css\u002F10a.css-sizing","12.html-css\u002F10a.css-sizing",{"title":3194,"path":3195,"stem":3196},"Типографіка в CSS. Шрифти та текст","\u002Fhtml-css\u002Fcss-typography","12.html-css\u002F11.css-typography",{"title":3198,"path":3199,"stem":3200},"Кольори та фони в CSS","\u002Fhtml-css\u002Fcss-colors-backgrounds","12.html-css\u002F12.css-colors-backgrounds",{"title":3202,"path":3203,"stem":3204},"Тіні та фільтри в CSS","\u002Fhtml-css\u002F12b.css-shadows-filters","12.html-css\u002F12b.css-shadows-filters",{"title":3206,"path":3207,"stem":3208},"CSS Flexbox: Фундамент гнучких макетів","\u002Fhtml-css\u002Fcss-flexbox-fundamentals","12.html-css\u002F13.css-flexbox-fundamentals",{"title":3210,"path":3211,"stem":3212},"CSS Flexbox: Вирівнювання та Позиціонування","\u002Fhtml-css\u002Fcss-flexbox-alignment-sizing-and-patterns","12.html-css\u002F14.css-flexbox-alignment-sizing-and-patterns",{"title":3214,"path":3215,"stem":3216},"CSS Grid. Двовимірний макет. Частина 1","\u002Fhtml-css\u002Fcss-layout-grid","12.html-css\u002F15.css-layout-grid",{"title":3218,"path":3219,"stem":3220},"CSS Grid. Двовимірний макет. Частина 2","\u002Fhtml-css\u002Fcss-layout-grid-advanced","12.html-css\u002F16.css-layout-grid-advanced",{"title":3222,"path":3223,"stem":3224},"Позиціонування в CSS. Z-index. Stacking Context","\u002Fhtml-css\u002Fcss-positioning","12.html-css\u002F17.css-positioning",{"title":3226,"path":3227,"stem":3228},"CSS Анімації та Переходи","\u002Fhtml-css\u002Fcss-animations-transitions","12.html-css\u002F18.css-animations-transitions",{"title":3230,"path":3231,"stem":3232},"Адаптивний дизайн. Media Queries. Частина 1","\u002Fhtml-css\u002Fcss-responsive-media-queries","12.html-css\u002F19.css-responsive-media-queries",{"title":3234,"path":3235,"stem":3236},"Адаптивний дизайн. Частина 2: clamp(), Container Queries, @layer","\u002Fhtml-css\u002Fcss-responsive-advanced","12.html-css\u002F20.css-responsive-advanced",{"title":3238,"path":3239,"stem":3240},"CSS Custom Properties. Методології. Сучасний CSS","\u002Fhtml-css\u002Fcss-variables-methodologies","12.html-css\u002F21.css-variables-methodologies",{"title":3242,"path":3243,"stem":3244},"Сучасний CSS 2023–2025: Нові можливості","\u002Fhtml-css\u002Fcss-modern-features","12.html-css\u002F22.css-modern-features",{"title":3246,"path":3247,"stem":3248},"CSS Nesting, @layer, @scope та @property: нативний препроцесор","\u002Fhtml-css\u002F22a.css-nesting-modern-syntax","12.html-css\u002F22a.css-nesting-modern-syntax",{"title":3250,"path":3251,"stem":3252},"CSS для форм та інтерактивних станів","\u002Fhtml-css\u002Fcss-forms-interactive-states","12.html-css\u002F23.css-forms-interactive-states",{"title":3254,"path":3255,"stem":3256},"Доступність у CSS (CSS Accessibility)","\u002Fhtml-css\u002Fcss-accessibility","12.html-css\u002F24.css-accessibility",{"title":3258,"path":3259,"stem":3260},"CSS-функції та сучасні sizing primitives","\u002Fhtml-css\u002Fcss-functions-sizing","12.html-css\u002F25.css-functions-sizing",{"title":3262,"path":3263,"stem":3264},"Rendering Pipeline і CSS Performance","\u002Fhtml-css\u002Fcss-rendering-performance","12.html-css\u002F26.css-rendering-performance",{"title":3266,"path":3267,"stem":3268},"CSS Best Practices: типові ситуації та правильні рішення","\u002Fhtml-css\u002Fcss-best-practices","12.html-css\u002F27.css-best-practices",{"title":3270,"path":3271,"stem":3272,"children":3273,"page":59},"AWS","\u002Faws","13.aws",[3274,3278,3282,3286,3290,3294,3298,3302,3306,3310,3314,3318,3322,3326,3330,3334,3338,3342],{"title":3275,"path":3276,"stem":3277},"Реєстрація AWS акаунту та студентські програми","\u002Faws\u002Faccount-registration","13.aws\u002F00.account-registration",{"title":3279,"path":3280,"stem":3281},"Вступ до хмарних обчислень та AWS","\u002Faws\u002Fintroduction-to-cloud","13.aws\u002F01.introduction-to-cloud",{"title":3283,"path":3284,"stem":3285},"AWS IAM — Identity and Access Management","\u002Faws\u002Fiam","13.aws\u002F02.iam",{"title":3287,"path":3288,"stem":3289},"AWS IAM CLI — Довідник команд","\u002Faws\u002F02a.iam-doc","13.aws\u002F02a.iam-doc",{"title":3291,"path":3292,"stem":3293},"Docker та контейнеризація в AWS — ECR, ECS та Fargate","\u002Faws\u002Fdocker-ecs","13.aws\u002F03.docker-ecs",{"title":3295,"path":3296,"stem":3297},"AWS ECR \u002F ECS CLI — Довідник команд","\u002Faws\u002F03a.docker-ecs-doc","13.aws\u002F03a.docker-ecs-doc",{"title":3299,"path":3300,"stem":3301},"Amazon EC2 — Elastic Compute Cloud","\u002Faws\u002Fec2","13.aws\u002F04.ec2",{"title":3303,"path":3304,"stem":3305},"AWS EC2 CLI — Довідник команд","\u002Faws\u002F04a.ec2-doc","13.aws\u002F04a.ec2-doc",{"title":3307,"path":3308,"stem":3309},"Elastic Load Balancing та Auto Scaling","\u002Faws\u002Falb-asg","13.aws\u002F05.alb-asg",{"title":3311,"path":3312,"stem":3313},"Amazon S3 — Simple Storage Service","\u002Faws\u002Fs3","13.aws\u002F06.s3",{"title":3315,"path":3316,"stem":3317},"Amazon CloudFront — Content Delivery Network","\u002Faws\u002Fcloudfront","13.aws\u002F07.cloudfront",{"title":3319,"path":3320,"stem":3321},"Amazon RDS — Relational Database Service","\u002Faws\u002Frds","13.aws\u002F08.rds",{"title":3323,"path":3324,"stem":3325},"Amazon DynamoDB — NoSQL Database","\u002Faws\u002Fdynamodb","13.aws\u002F09.dynamodb",{"title":3327,"path":3328,"stem":3329},"AWS Lambda та Serverless Compute","\u002Faws\u002Flambda","13.aws\u002F10.lambda",{"title":3331,"path":3332,"stem":3333},"Amazon Bedrock - Foundation Models, RAG та Agents","\u002Faws\u002Fbedrock","13.aws\u002F22.bedrock",{"title":3335,"path":3336,"stem":3337},"Amazon Rekognition - Комп'ютерний зір","\u002Faws\u002Frekognition","13.aws\u002F23.rekognition",{"title":3339,"path":3340,"stem":3341},"Amazon Textract - Інтелектуальний аналіз документів","\u002Faws\u002Ftextract","13.aws\u002F24.textract",{"title":3343,"path":3344,"stem":3345},"Amazon Polly, Transcribe, Comprehend та Translate","\u002Faws\u002Faudio-nlp-services","13.aws\u002F25.audio-nlp-services",{"title":3347,"path":3348,"stem":3349,"children":3350,"page":59},"Ai Development","\u002Fai-development","14.ai-development",[3351],{"title":3352,"path":3353,"stem":3354,"children":3355,"page":59},"Foundations","\u002Fai-development\u002Ffoundations","14.ai-development\u002F00.foundations",[3356],{"title":3357,"path":3358,"stem":3359},"Модуль 0.1. Що таке Large Language Model (LLM)","\u002Fai-development\u002Ffoundations\u002Fwhat-is-llm","14.ai-development\u002F00.foundations\u002F01.what-is-llm",{"title":3361,"path":3362,"stem":3363,"children":3364,"page":59},"React Native","\u002Freact-native","15.react-native",[3365,3386],{"title":3366,"path":3367,"stem":3368,"children":3369,"page":59},"Version1","\u002Freact-native\u002Fversion1","15.react-native\u002Fversion1",[3370,3374,3378,3382],{"title":3371,"path":3372,"stem":3373},"Що таке React Native","\u002Freact-native\u002Fversion1\u002Fwhat-is-react-native","15.react-native\u002Fversion1\u002F01.what-is-react-native",{"title":3375,"path":3376,"stem":3377},"Як влаштований React Native «під капотом»","\u002Freact-native\u002Fversion1\u002Freact-native-architecture","15.react-native\u002Fversion1\u002F02.react-native-architecture",{"title":3379,"path":3380,"stem":3381},"Від React до React Native: ключові відмінності","\u002Freact-native\u002Fversion1\u002Freact-native-vs-react","15.react-native\u002Fversion1\u002F03.react-native-vs-react",{"title":3383,"path":3384,"stem":3385},"View та Text — фундаментальні будівельні блоки","\u002Freact-native\u002Fversion1\u002Fview-and-text","15.react-native\u002Fversion1\u002F04.view-and-text",{"title":3387,"path":3388,"stem":3389,"children":3390,"page":59},"Version2","\u002Freact-native\u002Fversion2","15.react-native\u002Fversion2",[3391,3395,3399,3403,3407,3411,3415,3419,3423,3427,3431,3435,3439,3443,3447,3451,3455,3459,3463,3467,3471,3475,3479,3483,3487,3491],{"title":3392,"path":3393,"stem":3394},"React Native — навіщо він потрібен","\u002Freact-native\u002Fversion2\u002Fwhy-react-native","15.react-native\u002Fversion2\u002F01.why-react-native",{"title":3396,"path":3397,"stem":3398},"Налаштування середовища розробки","\u002Freact-native\u002Fversion2\u002Fenvironment-setup","15.react-native\u002Fversion2\u002F02.environment-setup",{"title":3400,"path":3401,"stem":3402},"Expo і класичний React Native — два шляхи одного фреймворку","\u002Freact-native\u002Fversion2\u002Fexpo-vs-cli-landscape","15.react-native\u002Fversion2\u002F03.expo-vs-cli-landscape",{"title":3404,"path":3405,"stem":3406},"Середовище Expo — перший запуск","\u002Freact-native\u002Fversion2\u002Fexpo-setup-and-tooling","15.react-native\u002Fversion2\u002F04.expo-setup-and-tooling",{"title":3408,"path":3409,"stem":3410},"Структура проєкту та перші UI-примітиви","\u002Freact-native\u002Fversion2\u002Fproject-structure-and-conventions","15.react-native\u002Fversion2\u002F05.project-structure-and-conventions",{"title":3412,"path":3413,"stem":3414},"Базові компоненти React Native","\u002Freact-native\u002Fversion2\u002Fcore-components","15.react-native\u002Fversion2\u002F06.core-components",{"title":3416,"path":3417,"stem":3418},"Flexbox і layout у React Native","\u002Freact-native\u002Fversion2\u002Fflexbox-and-layout","15.react-native\u002Fversion2\u002F07.flexbox-and-layout",{"title":3420,"path":3421,"stem":3422},"StyleSheet і теми (light \u002F dark)","\u002Freact-native\u002Fversion2\u002Fstylesheet-and-theming","15.react-native\u002Fversion2\u002F08.stylesheet-and-theming",{"title":3424,"path":3425,"stem":3426},"Списки та віртуалізація","\u002Freact-native\u002Fversion2\u002Flists-and-virtualization","15.react-native\u002Fversion2\u002F09.lists-and-virtualization",{"title":3428,"path":3429,"stem":3430},"Форми, ввід і валідація","\u002Freact-native\u002Fversion2\u002Fforms-input-validation","15.react-native\u002Fversion2\u002F10.forms-input-validation",{"title":3432,"path":3433,"stem":3434},"Основи Expo Router","\u002Freact-native\u002Fversion2\u002Fexpo-router-basics","15.react-native\u002Fversion2\u002F11.expo-router-basics",{"title":3436,"path":3437,"stem":3438},"Вкладені навігатори та модалки","\u002Freact-native\u002Fversion2\u002Fnested-navigators-and-modals","15.react-native\u002Fversion2\u002F12.nested-navigators-and-modals",{"title":3440,"path":3441,"stem":3442},"Deep linking і параметри маршрутів","\u002Freact-native\u002Fversion2\u002Fdeep-linking-and-params","15.react-native\u002Fversion2\u002F13.deep-linking-and-params",{"title":3444,"path":3445,"stem":3446},"Робота з мережею та життєвий цикл застосунку","\u002Freact-native\u002Fversion2\u002Fnetworking-and-app-lifecycle","15.react-native\u002Fversion2\u002F14.networking-and-app-lifecycle",{"title":3448,"path":3449,"stem":3450},"Redux Toolkit на мобільних платформах","\u002Freact-native\u002Fversion2\u002Fredux-toolkit-on-mobile","15.react-native\u002Fversion2\u002F15.redux-toolkit-on-mobile",{"title":3452,"path":3453,"stem":3454},"RTK Query на мобільних платформах","\u002Freact-native\u002Fversion2\u002Frtk-query-mobile","15.react-native\u002Fversion2\u002F16.rtk-query-mobile",{"title":3456,"path":3457,"stem":3458},"Автентифікація та Безпечне Зберігання","\u002Freact-native\u002Fversion2\u002Fauth-secure-storage","15.react-native\u002Fversion2\u002F18.auth-secure-storage",{"title":3460,"path":3461,"stem":3462},"Локальне сховище — AsyncStorage, MMKV, SQLite","\u002Freact-native\u002Fversion2\u002Flocal-storage-mmkv-sqlite","15.react-native\u002Fversion2\u002F19.local-storage-mmkv-sqlite",{"title":3464,"path":3465,"stem":3466},"Офлайн-First і синхронізація","\u002Freact-native\u002Fversion2\u002Foffline-first-sync","15.react-native\u002Fversion2\u002F20.offline-first-sync",{"title":3468,"path":3469,"stem":3470},"Камера, медіа та файлова система","\u002Freact-native\u002Fversion2\u002Fcamera-media-filesystem","15.react-native\u002Fversion2\u002F21.camera-media-filesystem",{"title":3472,"path":3473,"stem":3474},"Карти та геолокація","\u002Freact-native\u002Fversion2\u002Fmaps-and-location","15.react-native\u002Fversion2\u002F22.maps-and-location",{"title":3476,"path":3477,"stem":3478},"Жести та дотики","\u002Freact-native\u002Fversion2\u002Fgestures-and-touch","15.react-native\u002Fversion2\u002F23.gestures-and-touch",{"title":3480,"path":3481,"stem":3482},"Анімації з Reanimated","\u002Freact-native\u002Fversion2\u002Freanimated-animations","15.react-native\u002Fversion2\u002F24.reanimated-animations",{"title":3484,"path":3485,"stem":3486},"Push і локальні сповіщення","\u002Freact-native\u002Fversion2\u002Fpush-and-local-notifications","15.react-native\u002Fversion2\u002F25.push-and-local-notifications",{"title":3488,"path":3489,"stem":3490},"Доступність та інтернаціоналізація","\u002Freact-native\u002Fversion2\u002Faccessibility-and-i18n","15.react-native\u002Fversion2\u002F26.accessibility-and-i18n",{"title":3492,"path":3493,"stem":3494},"EAS Build та профілі збірки","\u002Freact-native\u002Fversion2\u002Feas-build-and-profiles","15.react-native\u002Fversion2\u002F29.eas-build-and-profiles",{"title":3496,"path":3497,"stem":3498,"children":3499,"page":59},"Ai Python","\u002Fai-python","16.ai-python",[3500,3504,3508],{"title":3501,"path":3502,"stem":3503},"Вступ до штучного інтелекту та машинного навчання","\u002Fai-python\u002Fintro-to-ai","16.ai-python\u002F01.intro-to-ai",{"title":3505,"path":3506,"stem":3507},"Знайомство з Jupyter Notebook та JupyterLab","\u002Fai-python\u002Fjupyter-notebook","16.ai-python\u002F02.jupyter-notebook",{"title":3509,"path":3510,"stem":3511},"Робота з даними з використанням NumPy і pandas","\u002Fai-python\u002Fnumpy-pandas","16.ai-python\u002F03.numpy-pandas",{"title":3513,"icon":658,"path":3514,"stem":3515,"children":3516,"page":59},"Клієнт-серверна архітектура","\u002Fclient-server-architecture","17.client-server-architecture",[3517,3521],{"title":3518,"path":3519,"stem":3520},"Архітектура клієнт-серверних систем та основи Go","\u002Fclient-server-architecture\u002Fclient-server-architecture-and-go","17.client-server-architecture\u002F01.client-server-architecture-and-go",{"title":3522,"path":3523,"stem":3524},"Система типів та модель пам’яті мови Go","\u002Fclient-server-architecture\u002Ftype-system-and-memory-model","17.client-server-architecture\u002F02.type-system-and-memory-model",{"title":3526,"icon":1946,"path":3527,"stem":3528,"children":3529,"page":59},"Розробка WEB-застосувань","\u002Fweb-development","18.web-development",[3530,3575,3613,3642],{"title":3531,"icon":658,"path":3532,"stem":3533,"children":3534,"page":59},"Архітектура комп'ютерних мереж та мережеві протоколи","\u002Fweb-development\u002Fnetwork-architecture-and-protocols","18.web-development\u002F01.network-architecture-and-protocols",[3535,3539,3543,3547,3551,3555,3559,3563,3567,3571],{"title":3536,"path":3537,"stem":3538},"Еволюція веброзробки та модель клієнт-сервер","\u002Fweb-development\u002Fnetwork-architecture-and-protocols\u002Fweb-evolution-client-server","18.web-development\u002F01.network-architecture-and-protocols\u002F01.web-evolution-client-server",{"title":3540,"path":3541,"stem":3542},"Еталонна модель OSI","\u002Fweb-development\u002Fnetwork-architecture-and-protocols\u002Fosi-model","18.web-development\u002F01.network-architecture-and-protocols\u002F02.osi-model",{"title":3544,"path":3545,"stem":3546},"Стек протоколів TCP\u002FIP","\u002Fweb-development\u002Fnetwork-architecture-and-protocols\u002Ftcp-ip-stack","18.web-development\u002F01.network-architecture-and-protocols\u002F03.tcp-ip-stack",{"title":3548,"path":3549,"stem":3550},"IP-адресація, порти та сокети","\u002Fweb-development\u002Fnetwork-architecture-and-protocols\u002Fip-addressing-ports-sockets","18.web-development\u002F01.network-architecture-and-protocols\u002F04.ip-addressing-ports-sockets",{"title":3552,"path":3553,"stem":3554},"Протоколи TCP та UDP","\u002Fweb-development\u002Fnetwork-architecture-and-protocols\u002Ftcp-udp-protocols","18.web-development\u002F01.network-architecture-and-protocols\u002F05.tcp-udp-protocols",{"title":3556,"path":3557,"stem":3558},"Система доменних імен DNS","\u002Fweb-development\u002Fnetwork-architecture-and-protocols\u002Fdns-system","18.web-development\u002F01.network-architecture-and-protocols\u002F06.dns-system",{"title":3560,"path":3561,"stem":3562},"Протокол SMTP та поштові протоколи","\u002Fweb-development\u002Fnetwork-architecture-and-protocols\u002Fsmtp-email-protocols","18.web-development\u002F01.network-architecture-and-protocols\u002F07.smtp-email-protocols",{"title":3564,"path":3565,"stem":3566},"Протокол WebSocket","\u002Fweb-development\u002Fnetwork-architecture-and-protocols\u002Fwebsocket-protocol","18.web-development\u002F01.network-architecture-and-protocols\u002F08.websocket-protocol",{"title":3568,"path":3569,"stem":3570},"Протокол SSH","\u002Fweb-development\u002Fnetwork-architecture-and-protocols\u002Fssh-protocol","18.web-development\u002F01.network-architecture-and-protocols\u002F09.ssh-protocol",{"title":3572,"path":3573,"stem":3574},"Огляд сучасних серверних технологій","\u002Fweb-development\u002Fnetwork-architecture-and-protocols\u002Fmodern-backend-technologies","18.web-development\u002F01.network-architecture-and-protocols\u002F10.modern-backend-technologies",{"title":3576,"icon":3577,"path":3578,"stem":3579,"children":3580,"page":59},"Протокол HTTP та захищена передача даних HTTPS","i-lucide-lock","\u002Fweb-development\u002Fhttp-and-https","18.web-development\u002F02.http-and-https",[3581,3585,3589,3593,3597,3601,3605,3609],{"title":3582,"path":3583,"stem":3584},"Вступ до протоколу HTTP та еволюція веб-технологій","\u002Fweb-development\u002Fhttp-and-https\u002Fintroduction-and-evolution","18.web-development\u002F02.http-and-https\u002F01.introduction-and-evolution",{"title":3586,"path":3587,"stem":3588},"Анатомія HTTP-запиту","\u002Fweb-development\u002Fhttp-and-https\u002Fhttp-request-structure","18.web-development\u002F02.http-and-https\u002F02.http-request-structure",{"title":3590,"path":3591,"stem":3592},"Анатомія HTTP-відповіді","\u002Fweb-development\u002Fhttp-and-https\u002Fhttp-response-structure","18.web-development\u002F02.http-and-https\u002F03.http-response-structure",{"title":3594,"path":3595,"stem":3596},"Методи HTTP та їхня семантика","\u002Fweb-development\u002Fhttp-and-https\u002Fhttp-methods","18.web-development\u002F02.http-and-https\u002F04.http-methods",{"title":3598,"path":3599,"stem":3600},"Коди статусу HTTP та їхнє призначення","\u002Fweb-development\u002Fhttp-and-https\u002Fhttp-status-codes","18.web-development\u002F02.http-and-https\u002F05.http-status-codes",{"title":3602,"path":3603,"stem":3604},"HTTP-заголовки та їхнє призначення","\u002Fweb-development\u002Fhttp-and-https\u002Fhttp-headers","18.web-development\u002F02.http-and-https\u002F06.http-headers",{"title":3606,"path":3607,"stem":3608},"CORS та механізми безпеки HTTP","\u002Fweb-development\u002Fhttp-and-https\u002Fcors-and-security","18.web-development\u002F02.http-and-https\u002F07.cors-and-security",{"title":3610,"path":3611,"stem":3612},"HTTPS та криптографічні основи TLS","\u002Fweb-development\u002Fhttp-and-https\u002Fhttps-and-tls","18.web-development\u002F02.http-and-https\u002F08.https-and-tls",{"title":3614,"icon":2326,"path":3615,"stem":3616,"children":3617,"page":59},"Система типів мови TypeScript","\u002Fweb-development\u002Ftypescript-type-system","18.web-development\u002F03.typescript-type-system",[3618,3622,3626,3630,3634,3638],{"title":3619,"path":3620,"stem":3621},"Знайомство з TypeScript Compiler","\u002Fweb-development\u002Ftypescript-type-system\u002Fintroduction-compiler-config","18.web-development\u002F03.typescript-type-system\u002F01.introduction-compiler-config",{"title":3623,"path":3624,"stem":3625},"Примітивні типи даних: string, number, boolean","\u002Fweb-development\u002Ftypescript-type-system\u002Fprimitive-special-types","18.web-development\u002F03.typescript-type-system\u002F02.primitive-special-types",{"title":3627,"path":3628,"stem":3629},"Масиви, кортежі та об","\u002Fweb-development\u002Ftypescript-type-system\u002Farrays-tuples-objects","18.web-development\u002F03.typescript-type-system\u002F03.arrays-tuples-objects",{"title":3631,"path":3632,"stem":3633},"Union типи, Intersection типи та літеральні типи","\u002Fweb-development\u002Ftypescript-type-system\u002Funion-intersection-literals","18.web-development\u002F03.typescript-type-system\u002F04.union-intersection-literals",{"title":3635,"path":3636,"stem":3637},"Type Narrowing (звуження типів)","\u002Fweb-development\u002Ftypescript-type-system\u002Ftype-narrowing","18.web-development\u002F03.typescript-type-system\u002F05.type-narrowing",{"title":3639,"path":3640,"stem":3641},"Типізація функцій","\u002Fweb-development\u002Ftypescript-type-system\u002Ffunctions-typing","18.web-development\u002F03.typescript-type-system\u002F06.functions-typing",{"title":3643,"icon":2326,"path":3644,"stem":3645,"children":3646,"page":59},"Розширені засоби мови TypeScript","\u002Fweb-development\u002Ftypescript-advanced","18.web-development\u002F04.typescript-advanced",[3647,3651,3655,3659,3663,3667],{"title":3648,"path":3649,"stem":3650},"Interfaces та Classes","\u002Fweb-development\u002Ftypescript-advanced\u002Finterfaces-classes","18.web-development\u002F04.typescript-advanced\u002F01.interfaces-classes",{"title":3652,"path":3653,"stem":3654},"Основи Generic типів","\u002Fweb-development\u002Ftypescript-advanced\u002Fgenerics-fundamentals","18.web-development\u002F04.typescript-advanced\u002F02.generics-fundamentals",{"title":3656,"path":3657,"stem":3658},"Enums та Decorators","\u002Fweb-development\u002Ftypescript-advanced\u002Fenums-decorators","18.web-development\u002F04.typescript-advanced\u002F03.enums-decorators",{"title":3660,"path":3661,"stem":3662},"Utility Types","\u002Fweb-development\u002Ftypescript-advanced\u002Futility-types","18.web-development\u002F04.typescript-advanced\u002F04.utility-types",{"title":3664,"path":3665,"stem":3666},"Mapped та Conditional Types","\u002Fweb-development\u002Ftypescript-advanced\u002Fmapped-conditional-types","18.web-development\u002F04.typescript-advanced\u002F05.mapped-conditional-types",{"title":3668,"path":3669,"stem":3670},"Модулі та Strict Mode","\u002Fweb-development\u002Ftypescript-advanced\u002Fmodules-strict-mode","18.web-development\u002F04.typescript-advanced\u002F06.modules-strict-mode",{"title":3672,"path":3673,"stem":3674,"children":3675,"page":59},"Tailwind","\u002Ftailwind","21.tailwind",[3676,3680,3684,3688,3692,3696,3700,3704,3708,3712,3716,3720],{"title":3677,"path":3678,"stem":3679},"Що таке Tailwind CSS і навіщо він потрібен","\u002Ftailwind\u002Ftailwind-intro-philosophy","21.tailwind\u002F01.tailwind-intro-philosophy",{"title":3681,"path":3682,"stem":3683},"Встановлення та налаштування Tailwind CSS v4","\u002Ftailwind\u002Ftailwind-installation-setup","21.tailwind\u002F02.tailwind-installation-setup",{"title":3685,"path":3686,"stem":3687},"Utility-класи: основи та система Tailwind","\u002Ftailwind\u002Ftailwind-utility-classes-core","21.tailwind\u002F03.tailwind-utility-classes-core",{"title":3689,"path":3690,"stem":3691},"Layout: Flexbox та Grid через Tailwind","\u002Ftailwind\u002Ftailwind-flexbox-grid","21.tailwind\u002F04.tailwind-flexbox-grid",{"title":3693,"path":3694,"stem":3695},"Кастомізація теми через @theme у Tailwind v4","\u002Ftailwind\u002Ftailwind-theme-customization","21.tailwind\u002F05.tailwind-theme-customization",{"title":3697,"path":3698,"stem":3699},"Варіанти: hover, focus, responsive, dark mode та нові v4","\u002Ftailwind\u002Ftailwind-variants-states","21.tailwind\u002F06.tailwind-variants-states",{"title":3701,"path":3702,"stem":3703},"Типографіка та система кольорів у Tailwind v4","\u002Ftailwind\u002Ftailwind-typography-colors","21.tailwind\u002F07.tailwind-typography-colors",{"title":3705,"path":3706,"stem":3707},"Компоненти та повторюваність: @apply, @utility та патерни","\u002Ftailwind\u002Ftailwind-components-patterns","21.tailwind\u002F08.tailwind-components-patterns",{"title":3709,"path":3710,"stem":3711},"Темна тема та система дизайн-токенів у Tailwind v4","\u002Ftailwind\u002Ftailwind-dark-mode-theming","21.tailwind\u002F09.tailwind-dark-mode-theming",{"title":3713,"path":3714,"stem":3715},"Довільні значення та контейнерні запити у Tailwind v4","\u002Ftailwind\u002Ftailwind-arbitrary-container-queries","21.tailwind\u002F10.tailwind-arbitrary-container-queries",{"title":3717,"path":3718,"stem":3719},"Анімації, трансформації та 3D у Tailwind v4","\u002Ftailwind\u002Ftailwind-animations-transforms","21.tailwind\u002F11.tailwind-animations-transforms",{"title":3721,"path":3722,"stem":3723},"Tailwind CLI, PostCSS та інтеграція з фреймворками","\u002Ftailwind\u002Ftailwind-cli-tooling","21.tailwind\u002F12.tailwind-cli-tooling",{"title":3725,"path":3726,"stem":3727},"Тестування компонентів діаграм","\u002Ftest-components","98.test-components",{"id":3729,"title":3440,"body":3730,"description":39861,"extension":13114,"links":39862,"meta":39863,"navigation":4362,"path":3441,"seo":39864,"stem":3442,"__hash__":39865},"docs\u002F15.react-native\u002Fversion2\u002F13.deep-linking-and-params.md",{"type":3731,"value":3732,"toc":39764},"minimark",[3733,3737,3742,3755,3810,3813,3850,3862,3870,3877,3882,3975,3994,3997,4001,4004,4013,4017,4023,4040,4048,4051,4055,4069,4075,4078,4082,4196,4202,4204,4210,4213,4219,4230,4247,4263,4281,4285,4288,4294,4303,4305,4309,4312,4316,4319,4420,4438,4445,4448,4619,4651,4655,4661,4667,4681,4683,4691,4694,4700,4706,4800,4806,4813,4820,4831,4837,4840,5025,5029,5032,5056,5062,5257,5259,5263,5269,5275,5282,5286,5293,5319,5321,5328,5343,5349,5411,5418,5451,5455,5461,5475,5477,5484,5491,5497,5559,5562,5812,5814,5818,5821,5828,5857,5864,5898,5900,5904,5907,5913,5930,5932,5936,5939,5951,5961,5968,5972,6057,6061,6064,6126,6133,6135,6139,6143,6163,6169,6191,6195,6217,6224,6242,6246,6268,6270,6274,6278,6292,6296,6326,6330,6336,6340,6496,6500,6506,6855,6862,7130,7137,8588,8595,9871,9875,9900,9904,9949,9951,9955,9959,9970,9974,9990,9995,10009,10013,39475,39479,39510,39514,39590,39592,39596,39600,39621,39625,39643,39647,39665,39667,39671,39718,39720,39724,39734,39761],[3734,3735,3440],"h1",{"id":3736},"deep-linking-і-параметри-маршрутів",[3738,3739,3741],"h2",{"id":3740},"вступ-параметризація-маршрутів-та-архітектура-глибоких-посилань-deep-linking","Вступ: Параметризація маршрутів та архітектура глибоких посилань (Deep Linking)",[3743,3744,3745,3746,3750,3751,3754],"p",{},"У попередніх розділах курсу було сформовано розвинену навігаційну структуру застосунку: кореневий стек ",[3747,3748,3749],"code",{},"Stack",", панель вкладок ",[3747,3752,3753],{},"Tabs",", вкладений навігатор для детального перегляду та модальні оверлеї. При цьому перехід до конкретної поїздки здійснювався за допомогою виклику:",[3756,3757,3762],"pre",{"className":3758,"code":3759,"language":3760,"meta":3761,"style":3761},"language-tsx shiki shiki-themes light-plus dark-plus dark-plus","router.push(`\u002Ftrips\u002F${trip.id}`);\n","tsx","",[3747,3763,3764],{"__ignoreMap":3761},[3765,3766,3769,3773,3777,3781,3784,3788,3792,3795,3798,3801,3804,3807],"span",{"class":3767,"line":3768},"line",1,[3765,3770,3772],{"class":3771},"siwwj","router",[3765,3774,3776],{"class":3775},"sHH4Y",".",[3765,3778,3780],{"class":3779},"s8Opu","push",[3765,3782,3783],{"class":3775},"(",[3765,3785,3787],{"class":3786},"sbdoH","`\u002Ftrips\u002F",[3765,3789,3791],{"class":3790},"su1O8","${",[3765,3793,3794],{"class":3771},"trip",[3765,3796,3776],{"class":3797},"sD7JJ",[3765,3799,3800],{"class":3771},"id",[3765,3802,3803],{"class":3790},"}",[3765,3805,3806],{"class":3786},"`",[3765,3808,3809],{"class":3775},");\n",[3743,3811,3812],{},"а цільовий екран вилучав ідентифікатор через призначений хук:",[3756,3814,3816],{"className":3758,"code":3815,"language":3760,"meta":3761,"style":3761},"const { id } = useLocalSearchParams\u003C{ id: string }>();\n",[3747,3817,3818],{"__ignoreMap":3761},[3765,3819,3820,3823,3826,3829,3832,3835,3838,3840,3843,3847],{"class":3767,"line":3768},[3765,3821,3822],{"class":3790},"const",[3765,3824,3825],{"class":3775}," { ",[3765,3827,3800],{"class":3828},"s-QsJ",[3765,3830,3831],{"class":3775}," } = ",[3765,3833,3834],{"class":3779},"useLocalSearchParams",[3765,3836,3837],{"class":3775},"\u003C{ ",[3765,3839,3800],{"class":3771},[3765,3841,3842],{"class":3775},": ",[3765,3844,3846],{"class":3845},"sN1BT","string",[3765,3848,3849],{"class":3775}," }>();\n",[3743,3851,3852,3853,3857,3858,3861],{},"Цей механізм забезпечував базове функціонування інтерфейсу, проте залишав відкритими важливі питання роботи з параметрами: як передавати аргументи в рядку адреси, які існують відмінності між сегментами шляху (",[3854,3855,3856],"em",{},"Path Parameters",") та параметрами запиту (",[3854,3859,3860],{},"Query Parameters","), як гарантувати типізацію та перевірку значень у TypeScript, а також як відкрити відповідний екран із зовнішніх посилань операційної системи.",[3743,3863,3864,3865,3869],{},"У реальному мобільному продукті один і той самий екранний шаблон обслуговує безліч різних сутностей: сотні туристичних маршрутів, тисячі карток товарів чи профілів користувачів. Створення окремого статичного файлу під кожен екземпляр даних є неможливим. Замість цього розробник проєктує ",[3866,3867,3868],"strong",{},"параметризований шаблон маршруту (Dynamic Route Component)",", який динамічно підставляє вміст на основі переданих аргументів.",[3743,3871,3872,3873,3876],{},"Більше того, мобільний застосунок не існує у вакуумі. Користувач взаємодіє з посиланнями у сторонніх месенджерах, електронній пошті, системних push-повідомленнях, веб-браузерах та QR-кодах. Механізм ",[3866,3874,3875],{},"Deep Linking (Глибоке зв'язування)"," дозволяє операційній системі перехопити зовнішнє посилання, запустити мобільний клієнт та автоматично перенаправити користувача безпосередньо до потрібного екрана з відновленням навігаційного контексту.",[3878,3879,3881],"h3",{"id":3880},"навчальні-цілі-розділу","Навчальні цілі розділу:",[3883,3884,3885,3896,3903,3914,3926,3933,3949,3959,3969],"ul",{},[3886,3887,3888,3889,3892,3893,3776],"li",{},"Зрозуміти відмінності між ",[3866,3890,3891],{},"динамічними сегментами шляху (Path Params)"," та ",[3866,3894,3895],{},"параметрами запиту (Query Params)",[3886,3897,3898,3899,3902],{},"Дослідити конвенцію синтаксису файлової системи ",[3747,3900,3901],{},"[param].tsx"," та зрозуміти алгоритм зіставлення динамічних шаблонів із фізичними маршрутами.",[3886,3904,3905,3906,3909,3910,3913],{},"Засвоїти механізми передачі параметрів через декларативний компонент ",[3747,3907,3908],{},"Link"," та імперативний метод ",[3747,3911,3912],{},"router.push()"," (як у формі строкових URL-шаблонів, так і через типізовані конфігураційні об'єкти).",[3886,3915,3916,3917,3892,3919,3922,3923,3776],{},"Опанувати методи безпечного читання та нормалізації параметрів за допомогою хуків ",[3747,3918,3834],{},[3747,3920,3921],{},"useGlobalSearchParams",", усуваючи ризики розбіжності типів ",[3747,3924,3925],{},"string | string[]",[3886,3927,3928,3929,3932],{},"Спроєктувати надійну архітектуру обробки відсутніх або невалідних ідентифікаторів (",[3854,3930,3931],{},"Missing Entity Fallback",") без аварійного завершення застосунку.",[3886,3934,3935,3936,3939,3940,3943,3944,3776],{},"Налаштувати власну схему URL (",[3866,3937,3938],{},"Custom URL Scheme",") у файлі ",[3747,3941,3942],{},"app.json"," та дослідити взаємодію з підсистемою ",[3866,3945,3946],{},[3747,3947,3948],{},"expo-linking",[3886,3950,3951,3952,3892,3955,3958],{},"Проаналізувати життєвий цикл запуску застосунку: відмінності між ",[3866,3953,3954],{},"холодним стартом (Cold Start)",[3866,3956,3957],{},"теплим відновленням (Warm Start)"," при надходженні зовнішнього посилання.",[3886,3960,3961,3962,3965,3966,3776],{},"Ознайомитися зі стандартами безшовних посилань: ",[3866,3963,3964],{},"Universal Links"," на iOS та ",[3866,3967,3968],{},"Android App Links",[3886,3970,3971,3972,3776],{},"Реалізувати навчальний міні-проєкт «Купон за лінком» та інтегрувати повноцінну підтримку Deep Linking у проєкт ",[3866,3973,3974],{},"Nomad",[3976,3977,3978,3981,3982,3985,3986,3989,3990,3993],"note",{},[3866,3979,3980],{},"Головний принцип:"," Параметри маршруту — це ",[3866,3983,3984],{},"стан, інтегрований безпосередньо в текстову адресу екрана",". Динамічний сегмент шляху визначає ",[3866,3987,3988],{},"конкретну сутність"," («який ресурс відкрити»), тоді як Query-параметри визначають ",[3866,3991,3992],{},"параметри відображення"," («як саме його відобразити»). Усі параметри, отримані з навігації, є рядковими даними, що вимагають перевірки типів та обробки випадків відсутності сутності в базі чи сховищі.",[3995,3996],"hr",{},[3738,3998,4000],{"id":3999},"види-навігаційних-параметрів-динамічні-сегменти-проти-query-параметрів","Види навігаційних параметрів: Динамічні сегменти проти Query-параметрів",[3743,4002,4003],{},"У сучасних веб- та мобільних стандартах адресації дані, що передаються в маршруті, поділяються на дві строго розмежовані категорії:",[3743,4005,4006],{},[4007,4008],"img",{"alt":4009,"className":4010,"src":4012},"Динамічний сегмент vs query",[4011],"diagram-img","\u002Fimages\u002Freact-native\u002Fdeep-linking-and-params\u002F01.svg",[3878,4014,4016],{"id":4015},"_1-динамічні-сегменти-шляху-path-route-parameters","1. Динамічні сегменти шляху (Path \u002F Route Parameters)",[3743,4018,4019,4022],{},[3866,4020,4021],{},"Динамічний сегмент"," — це обов'язкова позиційна складова структури шляху URL, яка замінює змінний ідентифікатор ресурсу.",[3743,4024,4025,4026,3842,4029,4032,4033,4032,4036,4039],{},"У файловій системі Expo Router динамічний сегмент позначається назвою файлу або каталогу у ",[3866,4027,4028],{},"квадратних дужках",[3747,4030,4031],{},"[id].tsx",", ",[3747,4034,4035],{},"[code].tsx",[3747,4037,4038],{},"[userId]",". Текст усередині дужок стає іменем ключа, під яким значення буде доступне в коді компонента:",[3756,4041,4046],{"className":4042,"code":4044,"language":4045,"meta":3761},[4043],"language-text","app\u002F(tabs)\u002Ftrips\u002F[id].tsx  ===>  Маршрут: \u002Ftrips\u002F:id  ===>  \u002Ftrips\u002F3 (id = \"3\")\n","text",[3747,4047,4044],{"__ignoreMap":3761},[3743,4049,4050],{},"Динамічний сегмент не створює нових файлів для кожного запису: це єдиний універсальний React-компонент, який монтується з різними аргументами ініціалізації.",[3878,4052,4054],{"id":4053},"_2-параметри-запиту-query-search-parameters","2. Параметри запиту (Query \u002F Search Parameters)",[3743,4056,4057,4060,4061,4064,4065,4068],{},[3866,4058,4059],{},"Query-параметри"," — це опційні пари «ключ-значення», які додаються в кінець адреси після символу знака питання (",[3747,4062,4063],{},"?",") та розділяються амперсандом (",[3747,4066,4067],{},"&","):",[3756,4070,4073],{"className":4071,"code":4072,"language":4045,"meta":3761},[4043],"\u002Ftrips\u002F3?tab=places&highlight=p1\n",[3747,4074,4072],{"__ignoreMap":3761},[3743,4076,4077],{},"Query-параметри не впливають на вибір фізичного файлу компонента. Вони використовуються для передачі допоміжного контексту відображення: активної вкладки, фільтра списку, параметрів сортування або прапорця підсвічування конкретного елемента.",[3878,4079,4081],{"id":4080},"порівняльна-характеристика-модальностей-параметрів","Порівняльна характеристика модальностей параметрів",[4083,4084,4085,4102],"table",{},[4086,4087,4088],"thead",{},[4089,4090,4091,4096,4099],"tr",{},[4092,4093,4095],"th",{"align":4094},"left","Критерій",[4092,4097,4098],{"align":4094},"Динамічний сегмент шляху (Path Param)",[4092,4100,4101],{"align":4094},"Параметр запиту (Query Param)",[4103,4104,4105,4127,4142,4161,4174],"tbody",{},[4089,4106,4107,4113,4119],{},[4108,4109,4110],"td",{"align":4094},[3866,4111,4112],{},"Синтаксичне розташування",[4108,4114,4115,4116],{"align":4094},"У тілі шляху: ",[3747,4117,4118],{},"\u002Ftrips\u002F3",[4108,4120,4121,4122,3842,4124],{"align":4094},"Після розділювача ",[3747,4123,4063],{},[3747,4125,4126],{},"?tab=places",[4089,4128,4129,4134,4139],{},[4108,4130,4131],{"align":4094},[3866,4132,4133],{},"Відображення у FS",[4108,4135,4136,4137],{"align":4094},"Вимагає наявності файлу в дужках ",[3747,4138,4031],{},[4108,4140,4141],{"align":4094},"Використовує існуючий файл без модифікації FS",[4089,4143,4144,4149,4155],{},[4108,4145,4146],{"align":4094},[3866,4147,4148],{},"Семантичне призначення",[4108,4150,4151,4154],{"align":4094},[3866,4152,4153],{},"Ідентичність сутності"," (який об'єкт завантажити)",[4108,4156,4157,4160],{"align":4094},[3866,4158,4159],{},"Опції представлення"," (фільтр, вкладка, пагінація)",[4089,4162,4163,4168,4171],{},[4108,4164,4165],{"align":4094},[3866,4166,4167],{},"Обов'язковість",[4108,4169,4170],{"align":4094},"Обов'язковий (без нього маршрут не співпаде)",[4108,4172,4173],{"align":4094},"Опційний (компонент зобов'язаний мати дефолтні значення)",[4089,4175,4176,4181,4187],{},[4108,4177,4178],{"align":4094},[3866,4179,4180],{},"Приклад використання",[4108,4182,4183,4184],{"align":4094},"Ідентифікатор поїздки ",[3747,4185,4186],{},"id=\"3\"",[4108,4188,4189,4190,4032,4193],{"align":4094},"Режим відображення ",[3747,4191,4192],{},"view=\"grid\"",[3747,4194,4195],{},"tab=\"places\"",[3743,4197,4198,4199,3776],{},"Усі параметри (як path, так і query) агрегуються навігаційним рушієм Expo Router в єдиний нормалізований об'єкт, доступний через хук ",[3747,4200,4201],{},"useLocalSearchParams()",[3995,4203],{},[3738,4205,4207,4208],{"id":4206},"декларація-динамічних-маршрутів-файлова-конвенція-idtsx","Декларація динамічних маршрутів: Файлова конвенція ",[3747,4209,4031],{},[3743,4211,4212],{},"У проєкті Nomad структура маршрутів організована наступним чином:",[3756,4214,4217],{"className":4215,"code":4216,"language":4045,"meta":3761},[4043],"app\u002F(tabs)\u002Ftrips\u002F\n  _layout.tsx           ← Вкладений Stack-навігатор\n  index.tsx             ← Маршрут \"\u002Ftrips\" (Стрічка поїздок)\n  [id].tsx              ← Динамічний маршрут \"\u002Ftrips\u002F:id\"\n",[3747,4218,4216],{"__ignoreMap":3761},[3743,4220,4221,4222,4225,4226,4229],{},"Оскільки група ",[3747,4223,4224],{},"(tabs)"," у круглих дужках ігнорується маршрутизатором при побудові адрес, результуючий шлях містить тільки сегмент каталогу ",[3747,4227,4228],{},"trips",":",[3883,4231,4232,4238],{},[3886,4233,4234,4235],{},"Перехід до стрічки: ",[3747,4236,4237],{},"\u002Ftrips",[3886,4239,4240,4241,3842,4244],{},"Перехід до деталей поїздки з ID ",[3747,4242,4243],{},"42",[3747,4245,4246],{},"\u002Ftrips\u002F42",[3743,4248,4249,4250,4252,4253,4256,4257,4259,4260,3776],{},"Назва файлу ",[3747,4251,4031],{}," визначає ім'я властивості. Якби файл було названо ",[3747,4254,4255],{},"[tripId].tsx",", адреса залишалася б незмінною (",[3747,4258,4246],{},"), проте об'єкт параметрів містив би поле ",[3747,4261,4262],{},"{ tripId: \"42\" }",[4264,4265,4266,4269,4270,4272,4273,4276,4277,4280],"tip",{},[3866,4267,4268],{},"Уніфікація іменування."," Завжди узгоджуйте ім'я у квадратних дужках файлу, ключ у TypeScript-інтерфейсі та доменну термінологію команди (",[3747,4271,3800],{}," vs ",[3747,4274,4275],{},"tripId","). Неузгодженість найменування є однією з найпоширеніших причин появи ",[3747,4278,4279],{},"undefined"," у рантаймі.",[3878,4282,4284],{"id":4283},"вкладені-динамічні-сегменти","Вкладені динамічні сегменти",[3743,4286,4287],{},"Для моделювання складних реляційних зв'язків Expo Router підтримує довільну глибину вкладеності динамічних сегментів:",[3756,4289,4292],{"className":4290,"code":4291,"language":4045,"meta":3761},[4043],"app\u002Ftrips\u002F[tripId]\u002Fplaces\u002F[placeId].tsx  ===>  \u002Ftrips\u002F3\u002Fplaces\u002Fp1\n",[3747,4293,4291],{"__ignoreMap":3761},[3743,4295,4296,4297,4299,4300,3776],{},"У цьому випадку хук ",[3747,4298,3834],{}," поверне об'єкт із двома ключами: ",[3747,4301,4302],{},"{ tripId: \"3\", placeId: \"p1\" }",[3995,4304],{},[3738,4306,4308],{"id":4307},"механізми-передачі-параметрів-рядкова-адресація-проти-типізованих-обєктів","Механізми передачі параметрів: Рядкова адресація проти типізованих об'єктів",[3743,4310,4311],{},"Expo Router надає два рівноцінних підходи до передачі параметрів під час навігації.",[3878,4313,4315],{"id":4314},"спосіб-а-рядкова-інтерполяція-template-literals","Спосіб А. Рядкова інтерполяція (Template Literals)",[3743,4317,4318],{},"Найбільш наочний та лаконічний метод, ідентичний формуванню гіперпосилань у веб-середовищі:",[3756,4320,4322],{"className":3758,"code":4321,"language":3760,"meta":3761,"style":3761},"\u002F\u002F Імперативний перехід\nrouter.push(`\u002Ftrips\u002F${trip.id}`);\n\n\u002F\u002F Декларативний перехід\n\u003CLink href={`\u002Ftrips\u002F${trip.id}?tab=places`}>Переглянути місця\u003C\u002FLink>\n",[3747,4323,4324,4330,4357,4364,4370],{"__ignoreMap":3761},[3765,4325,4326],{"class":3767,"line":3768},[3765,4327,4329],{"class":4328},"spJ8K","\u002F\u002F Імперативний перехід\n",[3765,4331,4333,4335,4337,4339,4341,4343,4345,4347,4349,4351,4353,4355],{"class":3767,"line":4332},2,[3765,4334,3772],{"class":3771},[3765,4336,3776],{"class":3775},[3765,4338,3780],{"class":3779},[3765,4340,3783],{"class":3775},[3765,4342,3787],{"class":3786},[3765,4344,3791],{"class":3790},[3765,4346,3794],{"class":3771},[3765,4348,3776],{"class":3797},[3765,4350,3800],{"class":3771},[3765,4352,3803],{"class":3790},[3765,4354,3806],{"class":3786},[3765,4356,3809],{"class":3775},[3765,4358,4360],{"class":3767,"line":4359},3,[3765,4361,4363],{"emptyLinePlaceholder":4362},true,"\n",[3765,4365,4367],{"class":3767,"line":4366},4,[3765,4368,4369],{"class":4328},"\u002F\u002F Декларативний перехід\n",[3765,4371,4373,4377,4379,4383,4386,4389,4391,4393,4395,4397,4399,4401,4404,4406,4409,4412,4415,4417],{"class":3767,"line":4372},5,[3765,4374,4376],{"class":4375},"s0P7L","\u003C",[3765,4378,3908],{"class":3845},[3765,4380,4382],{"class":4381},"sa4r_"," href",[3765,4384,4385],{"class":3775},"=",[3765,4387,4388],{"class":3790},"{",[3765,4390,3787],{"class":3786},[3765,4392,3791],{"class":3790},[3765,4394,3794],{"class":3771},[3765,4396,3776],{"class":3797},[3765,4398,3800],{"class":3771},[3765,4400,3803],{"class":3790},[3765,4402,4403],{"class":3786},"?tab=places`",[3765,4405,3803],{"class":3790},[3765,4407,4408],{"class":4375},">",[3765,4410,4411],{"class":3775},"Переглянути місця",[3765,4413,4414],{"class":4375},"\u003C\u002F",[3765,4416,3908],{"class":3845},[3765,4418,4419],{"class":4375},">\n",[3883,4421,4422,4428],{},[3886,4423,4424,4427],{},[3866,4425,4426],{},"Переваги:"," Максимальна візуальна наочність сформованого URL.",[3886,4429,4430,4433,4434,4437],{},[3866,4431,4432],{},"Недоліки:"," Ризик помилок у ручній конкатенації слешів; необхідність ручного кодування спецсимволів через ",[3747,4435,4436],{},"encodeURIComponent"," у випадку передачі довільних текстових рядків.",[3878,4439,4441,4442],{"id":4440},"спосіб-б-структурований-конфігураційний-обєкт-pathname-params","Спосіб Б. Структурований конфігураційний об'єкт ",[3747,4443,4444],{},"{ pathname, params }",[3743,4446,4447],{},"Більш надійний інженерний підхід, рекомендований для реальних проєктів зі строгою типізацією:",[3756,4449,4451],{"className":3758,"code":4450,"language":3760,"meta":3761,"style":3761},"\u002F\u002F Імперативний виклик з типізацією\nrouter.push({\n  pathname: '\u002Ftrips\u002F[id]',\n  params: {\n    id: trip.id,\n    tab: 'places', \u002F\u002F Додатковий ключ автоматично стає Query-параметром\n  },\n});\n\n\u002F\u002F Декларативний компонент Link\n\u003CLink\n  href={{\n    pathname: '\u002Ftrips\u002F[id]',\n    params: { id: trip.id },\n  }}\n>\n  Відкрити поїздку\n\u003C\u002FLink>\n",[3747,4452,4453,4458,4469,4480,4488,4502,4516,4522,4528,4533,4539,4547,4560,4570,4590,4599,4604,4610],{"__ignoreMap":3761},[3765,4454,4455],{"class":3767,"line":3768},[3765,4456,4457],{"class":4328},"\u002F\u002F Імперативний виклик з типізацією\n",[3765,4459,4460,4462,4464,4466],{"class":3767,"line":4332},[3765,4461,3772],{"class":3771},[3765,4463,3776],{"class":3775},[3765,4465,3780],{"class":3779},[3765,4467,4468],{"class":3775},"({\n",[3765,4470,4471,4474,4477],{"class":3767,"line":4359},[3765,4472,4473],{"class":3771},"  pathname:",[3765,4475,4476],{"class":3786}," '\u002Ftrips\u002F[id]'",[3765,4478,4479],{"class":3775},",\n",[3765,4481,4482,4485],{"class":3767,"line":4366},[3765,4483,4484],{"class":3771},"  params:",[3765,4486,4487],{"class":3775}," {\n",[3765,4489,4490,4493,4496,4498,4500],{"class":3767,"line":4372},[3765,4491,4492],{"class":3771},"    id:",[3765,4494,4495],{"class":3771}," trip",[3765,4497,3776],{"class":3775},[3765,4499,3800],{"class":3771},[3765,4501,4479],{"class":3775},[3765,4503,4505,4508,4511,4513],{"class":3767,"line":4504},6,[3765,4506,4507],{"class":3771},"    tab:",[3765,4509,4510],{"class":3786}," 'places'",[3765,4512,4032],{"class":3775},[3765,4514,4515],{"class":4328},"\u002F\u002F Додатковий ключ автоматично стає Query-параметром\n",[3765,4517,4519],{"class":3767,"line":4518},7,[3765,4520,4521],{"class":3775},"  },\n",[3765,4523,4525],{"class":3767,"line":4524},8,[3765,4526,4527],{"class":3775},"});\n",[3765,4529,4531],{"class":3767,"line":4530},9,[3765,4532,4363],{"emptyLinePlaceholder":4362},[3765,4534,4536],{"class":3767,"line":4535},10,[3765,4537,4538],{"class":4328},"\u002F\u002F Декларативний компонент Link\n",[3765,4540,4542,4544],{"class":3767,"line":4541},11,[3765,4543,4376],{"class":4375},[3765,4545,4546],{"class":3845},"Link\n",[3765,4548,4550,4553,4555,4557],{"class":3767,"line":4549},12,[3765,4551,4552],{"class":4381},"  href",[3765,4554,4385],{"class":3775},[3765,4556,4388],{"class":3790},[3765,4558,4559],{"class":3797},"{\n",[3765,4561,4563,4566,4568],{"class":3767,"line":4562},13,[3765,4564,4565],{"class":3771},"    pathname:",[3765,4567,4476],{"class":3786},[3765,4569,4479],{"class":3797},[3765,4571,4573,4576,4578,4581,4583,4585,4587],{"class":3767,"line":4572},14,[3765,4574,4575],{"class":3771},"    params:",[3765,4577,3825],{"class":3797},[3765,4579,4580],{"class":3771},"id:",[3765,4582,4495],{"class":3771},[3765,4584,3776],{"class":3797},[3765,4586,3800],{"class":3771},[3765,4588,4589],{"class":3797}," },\n",[3765,4591,4593,4596],{"class":3767,"line":4592},15,[3765,4594,4595],{"class":3797},"  }",[3765,4597,4598],{"class":3790},"}\n",[3765,4600,4602],{"class":3767,"line":4601},16,[3765,4603,4419],{"class":4375},[3765,4605,4607],{"class":3767,"line":4606},17,[3765,4608,4609],{"class":3775},"  Відкрити поїздку\n",[3765,4611,4613,4615,4617],{"class":3767,"line":4612},18,[3765,4614,4414],{"class":4375},[3765,4616,3908],{"class":3845},[3765,4618,4419],{"class":4375},[3883,4620,4621,4636],{},[3886,4622,4623,4624,4627,4628,4631,4632,4635],{},"Властивість ",[3747,4625,4626],{},"pathname"," приймає ",[3866,4629,4630],{},"шаблон маршруту"," у точності так, як він описаний у файловій системі (",[3747,4633,4634],{},"\u002Ftrips\u002F[id]",").",[3886,4637,4623,4638,4641,4642,4644,4645,4648,4649,3776],{},[3747,4639,4640],{},"params"," містить словник значень. Рушій Expo Router самостійно підставляє значення ",[3747,4643,3800],{}," у шаблон шляху, а всі нерозпізнані ключі (наприклад, ",[3747,4646,4647],{},"tab",") автоматично серіалізує в рядок запиту ",[3747,4650,4126],{},[3878,4652,4654],{"id":4653},"архітектурне-правило-передача-ідентифікаторів-замість-серіалізації-обєктів","Архітектурне правило: Передача ідентифікаторів замість серіалізації об'єктів",[3743,4656,4657,4658,4660],{},"Усі дані, передані через ",[3747,4659,4640],{},", серіалізуються в рядковий формат URL.",[3756,4662,4665],{"className":4663,"code":4664,"language":4045},[4043],"       НЕКОРЕКТНО (АНТИПАТЕРН)                             АРХІТЕКТУРНО ПРАВИЛЬНО\n+------------------------------------+       +-----------------------------------------+\n| router.push({                      |       | router.push(`\u002Ftrips\u002F${trip.id}`);       |\n|   pathname: '\u002Fdetails',            |  vs   |                                         |\n|   params: { trip: JSON.stringify()}|       | \u002F\u002F Екран деталей:                       |\n| });                                |       | const { id } = useLocalSearchParams();  |\n| - Ліміти довжини URL               |       | const trip = useTrips().getTrip(id);    |\n| - Помилки парсингу при спецсимволах|       | • Легкий та чистий URL                  |\n| - Неможливо відкрити з Deep Link   |       | • Повна сумісність з Deep Linking       |\n+------------------------------------+       +-----------------------------------------+\n",[3747,4666,4664],{"__ignoreMap":3761},[3743,4668,4669,4670,4673,4674,4680],{},"Категорично заборонено передавати великі структури даних або серіалізовані JSON-об'єкти через параметри маршруту (",[3747,4671,4672],{},"?data={\"title\":\"...\"}","). Навігаційний маршрут повинен містити виключно ",[3866,4675,4676,4677,4679],{},"скалярний ідентифікатор ресурсу (",[3747,4678,3800],{},")",". Екран деталей зобов'язаний самостійно вилучити повний об'єкт із глобального сховища (React Context, Redux, Zustand) або виконати асинхронний запит до API. Тільки такий підхід гарантує повну працездатність застосунку при переході за зовнішнім посиланням Deep Link.",[3995,4682],{},[3738,4684,4686,4687,3892,4689],{"id":4685},"десеріалізація-та-валідація-параметрів-хуки-uselocalsearchparams-та-useglobalsearchparams","Десеріалізація та валідація параметрів: Хуки ",[3747,4688,3834],{},[3747,4690,3921],{},[3743,4692,4693],{},"Для вилучення параметрів активного маршруту Expo Router надає два спеціалізовані React-хуки.",[3878,4695,4697,4698],{"id":4696},"_1-uselocalsearchparams","1. ",[3747,4699,3834],{},[3743,4701,4702,4703,4229],{},"Основний інструмент для більшості компонентів екранів. Повертає параметри, область видимості яких обмежена ",[3866,4704,4705],{},"поточним активним маршрутом",[3756,4707,4709],{"className":3758,"code":4708,"language":3760,"meta":3761,"style":3761},"import { useLocalSearchParams } from 'expo-router';\n\nexport default function TripDetailsScreen() {\n  const { id, tab } = useLocalSearchParams\u003C{ id: string; tab?: string }>();\n  \u002F\u002F ...\n}\n",[3747,4710,4711,4733,4737,4754,4791,4796],{"__ignoreMap":3761},[3765,4712,4713,4717,4719,4721,4724,4727,4730],{"class":3767,"line":3768},[3765,4714,4716],{"class":4715},"s8xlr","import",[3765,4718,3825],{"class":3775},[3765,4720,3834],{"class":3771},[3765,4722,4723],{"class":3775}," } ",[3765,4725,4726],{"class":4715},"from",[3765,4728,4729],{"class":3786}," 'expo-router'",[3765,4731,4732],{"class":3775},";\n",[3765,4734,4735],{"class":3767,"line":4332},[3765,4736,4363],{"emptyLinePlaceholder":4362},[3765,4738,4739,4742,4745,4748,4751],{"class":3767,"line":4359},[3765,4740,4741],{"class":4715},"export",[3765,4743,4744],{"class":4715}," default",[3765,4746,4747],{"class":3790}," function",[3765,4749,4750],{"class":3779}," TripDetailsScreen",[3765,4752,4753],{"class":3775},"() {\n",[3765,4755,4756,4759,4761,4763,4765,4767,4769,4771,4773,4775,4777,4779,4782,4784,4787,4789],{"class":3767,"line":4366},[3765,4757,4758],{"class":3790},"  const",[3765,4760,3825],{"class":3775},[3765,4762,3800],{"class":3828},[3765,4764,4032],{"class":3775},[3765,4766,4647],{"class":3828},[3765,4768,3831],{"class":3775},[3765,4770,3834],{"class":3779},[3765,4772,3837],{"class":3775},[3765,4774,3800],{"class":3771},[3765,4776,3842],{"class":3775},[3765,4778,3846],{"class":3845},[3765,4780,4781],{"class":3775},"; ",[3765,4783,4647],{"class":3771},[3765,4785,4786],{"class":3775},"?: ",[3765,4788,3846],{"class":3845},[3765,4790,3849],{"class":3775},[3765,4792,4793],{"class":3767,"line":4372},[3765,4794,4795],{"class":4328},"  \u002F\u002F ...\n",[3765,4797,4798],{"class":3767,"line":4504},[3765,4799,4598],{"class":3775},[3878,4801,4803,4804],{"id":4802},"_2-useglobalsearchparams","2. ",[3747,4805,3921],{},[3743,4807,4808,4809,4812],{},"Повертає глобальний знімок параметрів усього активного навігаційного графа. Використовується у спільних компонентах верхнього рівня (наприклад, у глобальному ",[3747,4810,4811],{},"_layout.tsx"," чи навігаційному заголовку), коли необхідно відстежувати параметри дочірніх екранів без прямого прокидання пропсів.",[3878,4814,4816,4817,4819],{"id":4815},"проблема-типізації-string-string-та-техніка-нормалізації","Проблема типізації ",[3747,4818,3925],{}," та техніка нормалізації",[3743,4821,4822,4823,4826,4827,4830],{},"У специфікації URL той самий параметр може зустрічатися кілька разів (наприклад, ",[3747,4824,4825],{},"?tag=nature&tag=mountains","), внаслідок чого парсер транслює його в масив рядків ",[3747,4828,4829],{},"string[]",". Крім того, внутрішні механізми перекодування Expo Router у специфічних сценаріях можуть повертати значення як масив.",[3743,4832,4833,4834,4635],{},"Спроба безпосереднього звернення до методів рядка без попередньої перевірки типу може спричинити фатальну помилку виконання (",[3747,4835,4836],{},"TypeError: id.toUpperCase is not a function",[3743,4838,4839],{},"Надійний спосіб безпечної нормалізації параметрів:",[3756,4841,4843],{"className":3758,"code":4842,"language":3760,"meta":3761,"style":3761},"export default function TripDetailsScreen() {\n  \u002F\u002F 1. Декларація можливого масиву в типі\n  const { id } = useLocalSearchParams\u003C{ id: string | string[] }>();\n\n  \u002F\u002F 2. Атомарна нормалізація до скалярного рядка\n  const tripId = Array.isArray(id) ? id[0] : id;\n\n  \u002F\u002F 3. Валідація наявності значення\n  if (!tripId) {\n    return \u003CInvalidRouteView message=\"Ідентифікатор маршруту відсутній\" \u002F>;\n  }\n\n  \u002F\u002F 4. Безпечне використання гарантованого рядка\n  const trip = getTripById(tripId);\n  \u002F\u002F ...\n}\n",[3747,4844,4845,4857,4862,4890,4894,4899,4940,4944,4949,4962,4986,4991,4995,5000,5017,5021],{"__ignoreMap":3761},[3765,4846,4847,4849,4851,4853,4855],{"class":3767,"line":3768},[3765,4848,4741],{"class":4715},[3765,4850,4744],{"class":4715},[3765,4852,4747],{"class":3790},[3765,4854,4750],{"class":3779},[3765,4856,4753],{"class":3775},[3765,4858,4859],{"class":3767,"line":4332},[3765,4860,4861],{"class":4328},"  \u002F\u002F 1. Декларація можливого масиву в типі\n",[3765,4863,4864,4866,4868,4870,4872,4874,4876,4878,4880,4882,4885,4887],{"class":3767,"line":4359},[3765,4865,4758],{"class":3790},[3765,4867,3825],{"class":3775},[3765,4869,3800],{"class":3828},[3765,4871,3831],{"class":3775},[3765,4873,3834],{"class":3779},[3765,4875,3837],{"class":3775},[3765,4877,3800],{"class":3771},[3765,4879,3842],{"class":3775},[3765,4881,3846],{"class":3845},[3765,4883,4884],{"class":3775}," | ",[3765,4886,3846],{"class":3845},[3765,4888,4889],{"class":3775},"[] }>();\n",[3765,4891,4892],{"class":3767,"line":4366},[3765,4893,4363],{"emptyLinePlaceholder":4362},[3765,4895,4896],{"class":3767,"line":4372},[3765,4897,4898],{"class":4328},"  \u002F\u002F 2. Атомарна нормалізація до скалярного рядка\n",[3765,4900,4901,4903,4906,4909,4912,4914,4917,4919,4921,4924,4926,4929,4933,4936,4938],{"class":3767,"line":4504},[3765,4902,4758],{"class":3790},[3765,4904,4905],{"class":3828}," tripId",[3765,4907,4908],{"class":3775}," = ",[3765,4910,4911],{"class":3771},"Array",[3765,4913,3776],{"class":3775},[3765,4915,4916],{"class":3779},"isArray",[3765,4918,3783],{"class":3775},[3765,4920,3800],{"class":3771},[3765,4922,4923],{"class":3775},") ? ",[3765,4925,3800],{"class":3771},[3765,4927,4928],{"class":3775},"[",[3765,4930,4932],{"class":4931},"sJj4R","0",[3765,4934,4935],{"class":3775},"] : ",[3765,4937,3800],{"class":3771},[3765,4939,4732],{"class":3775},[3765,4941,4942],{"class":3767,"line":4518},[3765,4943,4363],{"emptyLinePlaceholder":4362},[3765,4945,4946],{"class":3767,"line":4524},[3765,4947,4948],{"class":4328},"  \u002F\u002F 3. Валідація наявності значення\n",[3765,4950,4951,4954,4957,4959],{"class":3767,"line":4530},[3765,4952,4953],{"class":4715},"  if",[3765,4955,4956],{"class":3775}," (!",[3765,4958,4275],{"class":3771},[3765,4960,4961],{"class":3775},") {\n",[3765,4963,4964,4967,4970,4973,4976,4978,4981,4984],{"class":3767,"line":4535},[3765,4965,4966],{"class":4715},"    return",[3765,4968,4969],{"class":4375}," \u003C",[3765,4971,4972],{"class":3845},"InvalidRouteView",[3765,4974,4975],{"class":4381}," message",[3765,4977,4385],{"class":3775},[3765,4979,4980],{"class":3786},"\"Ідентифікатор маршруту відсутній\"",[3765,4982,4983],{"class":4375}," \u002F>",[3765,4985,4732],{"class":3775},[3765,4987,4988],{"class":3767,"line":4541},[3765,4989,4990],{"class":3775},"  }\n",[3765,4992,4993],{"class":3767,"line":4549},[3765,4994,4363],{"emptyLinePlaceholder":4362},[3765,4996,4997],{"class":3767,"line":4562},[3765,4998,4999],{"class":4328},"  \u002F\u002F 4. Безпечне використання гарантованого рядка\n",[3765,5001,5002,5004,5006,5008,5011,5013,5015],{"class":3767,"line":4572},[3765,5003,4758],{"class":3790},[3765,5005,4495],{"class":3828},[3765,5007,4908],{"class":3775},[3765,5009,5010],{"class":3779},"getTripById",[3765,5012,3783],{"class":3775},[3765,5014,4275],{"class":3771},[3765,5016,3809],{"class":3775},[3765,5018,5019],{"class":3767,"line":4592},[3765,5020,4795],{"class":4328},[3765,5022,5023],{"class":3767,"line":4601},[3765,5024,4598],{"class":3775},[3878,5026,5028],{"id":5027},"патерн-захисту-від-відсутності-сутності-missing-entity-fallback","Патерн захисту від відсутності сутності (Missing Entity Fallback)",[3743,5030,5031],{},"При проєктуванні системи параметризації необхідно розділяти два типи нештатних ситуацій:",[5033,5034,5035,5044],"ol",{},[3886,5036,5037,5040,5041,5043],{},[3866,5038,5039],{},"Помилка маршрутизації (Invalid Route):"," Параметр ",[3747,5042,3800],{}," взагалі відсутній у URL або сформований некоректно.",[3886,5045,5046,5040,5049,5051,5052,5055],{},[3866,5047,5048],{},"Відсутність сутності в джерелі даних (Entity Not Found):",[3747,5050,3800],{}," присутній (наприклад, ",[3747,5053,5054],{},"id=\"999\"","), проте відповідний запис відсутній у базі даних, був видалений на сервері або скинутий після скидання кешу.",[3743,5057,5058,5059,4068],{},"Інтерфейс компонента зобов'язаний надійно обробляти обидва сценарії без виклику неочікуваних падінь (",[3854,5060,5061],{},"Uncaught Crashes",[3756,5063,5065],{"className":3758,"code":5064,"language":3760,"meta":3761,"style":3761},"if (!trip) {\n  return (\n    \u003CView style={styles.centerContainer}>\n      \u003CAppText variant=\"subtitle\">Поїздку не знайдено\u003C\u002FAppText>\n      \u003CAppText variant=\"caption\" color={colors.textSecondary}>\n        Запис із ідентифікатором {tripId} відсутній у системі або був видалений.\n      \u003C\u002FAppText>\n      \u003CButton label=\"Повернутися назад\" onPress={() => router.back()} \u002F>\n    \u003C\u002FView>\n  );\n}\n",[3747,5066,5067,5078,5086,5113,5140,5172,5186,5195,5239,5248,5253],{"__ignoreMap":3761},[3765,5068,5069,5072,5074,5076],{"class":3767,"line":3768},[3765,5070,5071],{"class":4715},"if",[3765,5073,4956],{"class":3775},[3765,5075,3794],{"class":3771},[3765,5077,4961],{"class":3775},[3765,5079,5080,5083],{"class":3767,"line":4332},[3765,5081,5082],{"class":4715},"  return",[3765,5084,5085],{"class":3775}," (\n",[3765,5087,5088,5091,5094,5097,5099,5101,5104,5106,5109,5111],{"class":3767,"line":4359},[3765,5089,5090],{"class":4375},"    \u003C",[3765,5092,5093],{"class":3845},"View",[3765,5095,5096],{"class":4381}," style",[3765,5098,4385],{"class":3775},[3765,5100,4388],{"class":3790},[3765,5102,5103],{"class":3771},"styles",[3765,5105,3776],{"class":3797},[3765,5107,5108],{"class":3771},"centerContainer",[3765,5110,3803],{"class":3790},[3765,5112,4419],{"class":4375},[3765,5114,5115,5118,5121,5124,5126,5129,5131,5134,5136,5138],{"class":3767,"line":4366},[3765,5116,5117],{"class":4375},"      \u003C",[3765,5119,5120],{"class":3845},"AppText",[3765,5122,5123],{"class":4381}," variant",[3765,5125,4385],{"class":3775},[3765,5127,5128],{"class":3786},"\"subtitle\"",[3765,5130,4408],{"class":4375},[3765,5132,5133],{"class":3775},"Поїздку не знайдено",[3765,5135,4414],{"class":4375},[3765,5137,5120],{"class":3845},[3765,5139,4419],{"class":4375},[3765,5141,5142,5144,5146,5148,5150,5153,5156,5158,5160,5163,5165,5168,5170],{"class":3767,"line":4372},[3765,5143,5117],{"class":4375},[3765,5145,5120],{"class":3845},[3765,5147,5123],{"class":4381},[3765,5149,4385],{"class":3775},[3765,5151,5152],{"class":3786},"\"caption\"",[3765,5154,5155],{"class":4381}," color",[3765,5157,4385],{"class":3775},[3765,5159,4388],{"class":3790},[3765,5161,5162],{"class":3771},"colors",[3765,5164,3776],{"class":3797},[3765,5166,5167],{"class":3771},"textSecondary",[3765,5169,3803],{"class":3790},[3765,5171,4419],{"class":4375},[3765,5173,5174,5177,5179,5181,5183],{"class":3767,"line":4504},[3765,5175,5176],{"class":3775},"        Запис із ідентифікатором ",[3765,5178,4388],{"class":3790},[3765,5180,4275],{"class":3771},[3765,5182,3803],{"class":3790},[3765,5184,5185],{"class":3775}," відсутній у системі або був видалений.\n",[3765,5187,5188,5191,5193],{"class":3767,"line":4518},[3765,5189,5190],{"class":4375},"      \u003C\u002F",[3765,5192,5120],{"class":3845},[3765,5194,4419],{"class":4375},[3765,5196,5197,5199,5202,5205,5207,5210,5213,5215,5217,5220,5223,5226,5228,5231,5234,5236],{"class":3767,"line":4524},[3765,5198,5117],{"class":4375},[3765,5200,5201],{"class":3845},"Button",[3765,5203,5204],{"class":4381}," label",[3765,5206,4385],{"class":3775},[3765,5208,5209],{"class":3786},"\"Повернутися назад\"",[3765,5211,5212],{"class":4381}," onPress",[3765,5214,4385],{"class":3775},[3765,5216,4388],{"class":3790},[3765,5218,5219],{"class":3797},"() ",[3765,5221,5222],{"class":3790},"=>",[3765,5224,5225],{"class":3771}," router",[3765,5227,3776],{"class":3797},[3765,5229,5230],{"class":3779},"back",[3765,5232,5233],{"class":3797},"()",[3765,5235,3803],{"class":3790},[3765,5237,5238],{"class":4375}," \u002F>\n",[3765,5240,5241,5244,5246],{"class":3767,"line":4530},[3765,5242,5243],{"class":4375},"    \u003C\u002F",[3765,5245,5093],{"class":3845},[3765,5247,4419],{"class":4375},[3765,5249,5250],{"class":3767,"line":4535},[3765,5251,5252],{"class":3775},"  );\n",[3765,5254,5255],{"class":3767,"line":4541},[3765,5256,4598],{"class":3775},[3995,5258],{},[3738,5260,5262],{"id":5261},"архітектура-deep-linking-інтеграція-застосунку-із-зовнішнім-середовищем-ос","Архітектура Deep Linking: Інтеграція застосунку із зовнішнім середовищем ОС",[3743,5264,5265,5268],{},[3866,5266,5267],{},"Deep Link (Глибоке посилання)"," — це стандартизований механізм міжпроцесної взаємодії, за якого зовнішній клієнт (веб-браузер, поштовий клієнт, QR-сканер) передає операційній системі запит на відкриття конкретного екрана всередині цільового мобільного застосунку.",[3756,5270,5273],{"className":5271,"code":5272,"language":4045},[4043],"                              ЛАНЦЮГ ОБРОБКИ DEEP LINK\n+---------------------------------------------------------------------------------+\n| 1. ЗОВНІШНЄ ДЖЕРЕЛО: Клік на посилання nomad:\u002F\u002Ftrips\u002F42 у месенджері чи QR      |\n+---------------------------------------------------------------------------------+\n                                       │\n                                       ▼\n+---------------------------------------------------------------------------------+\n| 2. ОПЕРАЦІЙНА СИСТЕМА (iOS \u002F Android): Пошук застосунку за зареєстрованою схемою|\n+---------------------------------------------------------------------------------+\n                                       │\n                                       ▼\n+---------------------------------------------------------------------------------+\n| 3. ШАР EXPO ROUTER: Десеріалізація шляху trips\u002F42 -> маршрут app\u002F(tabs)\u002Ftrips\u002F[id|\n+---------------------------------------------------------------------------------+\n                                       │\n                                       ▼\n+---------------------------------------------------------------------------------+\n| 4. ЕКРАН ДЕТАЛЕЙ: useLocalSearchParams() -> id=\"42\" -> Завантаження даних з БД  |\n+---------------------------------------------------------------------------------+\n",[3747,5274,5272],{"__ignoreMap":3761},[3743,5276,5277],{},[4007,5278],{"alt":5279,"className":5280,"src":5281},"Зовнішній URL → ОС → застосунок → екран",[4011],"\u002Fimages\u002Freact-native\u002Fdeep-linking-and-params\u002F02.svg",[3878,5283,5285],{"id":5284},"чому-expo-router-ідеально-адаптований-для-deep-linking","Чому Expo Router ідеально адаптований для Deep Linking",[3743,5287,5288,5289,5292],{},"У традиційних архітектурах без файлового роутингу розробник змушений писати громіздкі імперативні конфігурації парсингу URL (об'єкти ",[3747,5290,5291],{},"linking.config"," у React Navigation з багаторівневими регулярними виразами).",[3743,5294,5295,5296,5299,5300,5307,5308,5311,5312,5315,5316,3776],{},"В ",[3866,5297,5298],{},"Expo Router"," зв'язування здійснюється автоматично: ",[3866,5301,5302,5303,5306],{},"будь-який файл у каталозі ",[3747,5304,5305],{},"app\u002F"," автоматично є готовою кінцевою точкою для зовнішнього посилання",". Якщо файл ",[3747,5309,5310],{},"app\u002F(tabs)\u002Ftrips\u002F[id].tsx"," коректно функціонує під час внутрішніх переходів через ",[3747,5313,5314],{},"router.push('\u002Ftrips\u002F42')",", він автоматично коректно відкриється при надходженні зовнішнього посилання ",[3747,5317,5318],{},"nomad:\u002F\u002Ftrips\u002F42",[3995,5320],{},[3738,5322,5324,5325,4679],{"id":5323},"реєстрація-кастомних-схем-custom-url-scheme-nomad","Реєстрація кастомних схем: Custom URL Scheme (",[3747,5326,5327],{},"nomad:\u002F\u002F",[3743,5329,5330,5333,5334,4032,5336,4032,5339,5342],{},[3866,5331,5332],{},"Custom URL Scheme (Власна схема URL)"," — це кастомний протокол адресації (наприклад, ",[3747,5335,5327],{},[3747,5337,5338],{},"slack:\u002F\u002F",[3747,5340,5341],{},"spotify:\u002F\u002F","), що реєструється у маніфесті операційної системи під час встановлення застосунку.",[3878,5344,5346,5347,4229],{"id":5345},"конфігурація-схеми-у-файлі-appjson","Конфігурація схеми у файлі ",[3747,5348,3942],{},[3756,5350,5354],{"className":5351,"code":5352,"language":5353,"meta":3761,"style":3761},"language-json shiki shiki-themes light-plus dark-plus dark-plus","{\n  \"expo\": {\n    \"name\": \"Nomad\",\n    \"slug\": \"nomad\",\n    \"scheme\": \"nomad\"\n  }\n}\n","json",[3747,5355,5356,5360,5369,5381,5393,5403,5407],{"__ignoreMap":3761},[3765,5357,5358],{"class":3767,"line":3768},[3765,5359,4559],{"class":3775},[3765,5361,5362,5366],{"class":3767,"line":4332},[3765,5363,5365],{"class":5364},"sLwNe","  \"expo\"",[3765,5367,5368],{"class":3775},": {\n",[3765,5370,5371,5374,5376,5379],{"class":3767,"line":4359},[3765,5372,5373],{"class":5364},"    \"name\"",[3765,5375,3842],{"class":3775},[3765,5377,5378],{"class":3786},"\"Nomad\"",[3765,5380,4479],{"class":3775},[3765,5382,5383,5386,5388,5391],{"class":3767,"line":4366},[3765,5384,5385],{"class":5364},"    \"slug\"",[3765,5387,3842],{"class":3775},[3765,5389,5390],{"class":3786},"\"nomad\"",[3765,5392,4479],{"class":3775},[3765,5394,5395,5398,5400],{"class":3767,"line":4372},[3765,5396,5397],{"class":5364},"    \"scheme\"",[3765,5399,3842],{"class":3775},[3765,5401,5402],{"class":3786},"\"nomad\"\n",[3765,5404,5405],{"class":3767,"line":4504},[3765,5406,4990],{"class":3775},[3765,5408,5409],{"class":3767,"line":4518},[3765,5410,4598],{"class":3775},[3743,5412,5413,5414,5417],{},"Параметр ",[3747,5415,5416],{},"\"scheme\": \"nomad\""," транслюється компілятором у відповідні нативні конфігурації:",[3883,5419,5420,5433],{},[3886,5421,5422,5425,5426,5429,5430,3776],{},[3866,5423,5424],{},"iOS:"," Секція ",[3747,5427,5428],{},"CFBundleURLTypes"," у файлі ",[3747,5431,5432],{},"Info.plist",[3886,5434,5435,5425,5438,5441,5442,3892,5445,5429,5448,3776],{},[3866,5436,5437],{},"Android:",[3747,5439,5440],{},"\u003Cintent-filter>"," з категоріями ",[3747,5443,5444],{},"DEFAULT",[3747,5446,5447],{},"BROWSABLE",[3747,5449,5450],{},"AndroidManifest.xml",[3878,5452,5454],{"id":5453},"структура-рядка-custom-scheme","Структура рядка Custom Scheme",[3756,5456,5459],{"className":5457,"code":5458,"language":4045,"meta":3761},[4043],"nomad:\u002F\u002Ftrips\u002F42?tab=places\n  │       │   │     │\n  │       │   │     └── Query-параметр (додаткові опції)\n  │       │   └── Динамічний аргумент сегмента [id]\n  │       └── Сегмент каталогу у структурі app\u002F\n  └── Зареєстрована схема протоколу (scheme)\n",[3747,5460,5458],{"__ignoreMap":3761},[5462,5463,5464,5467,5468,5471,5472,4635],"warning",{},[3866,5465,5466],{},"Ризик колізій схем."," На відміну від доменних імен в інтернеті, реєстрація Custom URL Scheme на мобільному пристрої не є централізованою. Якщо два застосунки зареєструють ідентичну схему ",[3747,5469,5470],{},"myapp:\u002F\u002F",", поведінка операційної системи стає недетермінованою. Для виключення колізій використовуйте унікальні брендовані схеми (наприклад, ",[3747,5473,5474],{},"company-nomad:\u002F\u002F",[3995,5476],{},[3738,5478,5480,5481,5483],{"id":5479},"підсистема-expo-linking-генерація-та-обробка-платформових-посилань","Підсистема ",[3747,5482,3948],{},": Генерація та обробка платформових посилань",[3743,5485,5486,5487,3776],{},"Для програмної взаємодії з URL-адресами в екосистемі Expo використовується офіційний модуль ",[3866,5488,5489],{},[3747,5490,3948],{},[3878,5492,5494,5495,4229],{"id":5493},"основні-методи-api-expo-linking","Основні методи API ",[3747,5496,3948],{},[5498,5499,5500,5528,5533,5537,5554],"field-group",{},[5501,5502,5505,5511],"field",{"name":5503,"type":5504},"Linking.createURL(path, options?)","(path: string, options?: CreateURLOptions) => string",[3743,5506,5507,5508,3776],{},"Генерує абсолютний, синтаксично коректний URL для ",[3866,5509,5510],{},"поточного середовища виконання",[3883,5512,5513,5519],{},[3886,5514,5515,5516,3776],{},"У середовищі Expo Go повертає внутрішній URL формату ",[3747,5517,5518],{},"exp:\u002F\u002F192.168.1.5:8081\u002F--\u002Ftrips\u002F42",[3886,5520,5521,5522,5524,5525,3776],{},"У нативній збірці повертає кастомний URL формату ",[3747,5523,5318],{},".\nДозволяє безпечно додавати Query-параметри через властивість ",[3747,5526,5527],{},"options.queryParams",[5501,5529,5532],{"name":5530,"type":5531},"Linking.openURL(url)","(url: string) => Promise\u003Cboolean>","Ініціює системний виклик операційної системи для відкриття переданого URL у зовнішньому браузері або відповідному сторонньому застосунку.",[5501,5534,5536],{"name":5535,"type":5531},"Linking.canOpenURL(url)","Асинхронно перевіряє, чи встановлено на пристрої застосунок, здатний обробити вказану схему URL.",[5501,5538,5541,5542,4032,5545,4032,5548,3892,5551,3776],{"name":5539,"type":5540},"Linking.parse(url)","(url: string) => ParsedURL","Розбирає вхідний рядок URL на структурований об'єкт із полями ",[3747,5543,5544],{},"scheme",[3747,5546,5547],{},"hostname",[3747,5549,5550],{},"path",[3747,5552,5553],{},"queryParams",[5501,5555,5558],{"name":5556,"type":5557},"Linking.useURL()","хук: () => string | null","Реактивний хук, що повертає повний вхідний рядок URL, з яким застосунок було запущено або відновлено з фону.",[3743,5560,5561],{},"Приклад генерації посилання для кнопки «Поділитися поїздкою»:",[3756,5563,5565],{"className":3758,"code":5564,"language":3760,"meta":3761,"style":3761},"import * as Linking from 'expo-linking';\nimport { Share } from 'react-native';\n\nexport function ShareTripButton({ tripId, title }: { tripId: string; title: string }) {\n  const handleShare = async () => {\n    \u002F\u002F Генерація середовищно-незалежного посилання\n    const shareableUrl = Linking.createURL(`\u002Ftrips\u002F${tripId}`);\n\n    await Share.share({\n      message: `Перегляньте план моєї подорожі «${title}»: ${shareableUrl}`,\n      url: shareableUrl, \u002F\u002F для платформи iOS\n    });\n  };\n\n  return \u003CButton label=\"Поділитися\" onPress={handleShare} \u002F>;\n}\n",[3747,5566,5567,5588,5606,5610,5649,5668,5673,5705,5709,5724,5752,5764,5769,5774,5778,5808],{"__ignoreMap":3761},[3765,5568,5569,5571,5574,5577,5580,5583,5586],{"class":3767,"line":3768},[3765,5570,4716],{"class":4715},[3765,5572,5573],{"class":3790}," *",[3765,5575,5576],{"class":4715}," as",[3765,5578,5579],{"class":3771}," Linking",[3765,5581,5582],{"class":4715}," from",[3765,5584,5585],{"class":3786}," 'expo-linking'",[3765,5587,4732],{"class":3775},[3765,5589,5590,5592,5594,5597,5599,5601,5604],{"class":3767,"line":4332},[3765,5591,4716],{"class":4715},[3765,5593,3825],{"class":3775},[3765,5595,5596],{"class":3771},"Share",[3765,5598,4723],{"class":3775},[3765,5600,4726],{"class":4715},[3765,5602,5603],{"class":3786}," 'react-native'",[3765,5605,4732],{"class":3775},[3765,5607,5608],{"class":3767,"line":4359},[3765,5609,4363],{"emptyLinePlaceholder":4362},[3765,5611,5612,5614,5616,5619,5622,5624,5626,5629,5632,5634,5636,5638,5640,5642,5644,5646],{"class":3767,"line":4366},[3765,5613,4741],{"class":4715},[3765,5615,4747],{"class":3790},[3765,5617,5618],{"class":3779}," ShareTripButton",[3765,5620,5621],{"class":3775},"({ ",[3765,5623,4275],{"class":3771},[3765,5625,4032],{"class":3775},[3765,5627,5628],{"class":3771},"title",[3765,5630,5631],{"class":3775}," }: { ",[3765,5633,4275],{"class":3771},[3765,5635,3842],{"class":3775},[3765,5637,3846],{"class":3845},[3765,5639,4781],{"class":3775},[3765,5641,5628],{"class":3771},[3765,5643,3842],{"class":3775},[3765,5645,3846],{"class":3845},[3765,5647,5648],{"class":3775}," }) {\n",[3765,5650,5651,5653,5656,5658,5661,5664,5666],{"class":3767,"line":4372},[3765,5652,4758],{"class":3790},[3765,5654,5655],{"class":3779}," handleShare",[3765,5657,4908],{"class":3775},[3765,5659,5660],{"class":3790},"async",[3765,5662,5663],{"class":3775}," () ",[3765,5665,5222],{"class":3790},[3765,5667,4487],{"class":3775},[3765,5669,5670],{"class":3767,"line":4504},[3765,5671,5672],{"class":4328},"    \u002F\u002F Генерація середовищно-незалежного посилання\n",[3765,5674,5675,5678,5681,5683,5686,5688,5691,5693,5695,5697,5699,5701,5703],{"class":3767,"line":4518},[3765,5676,5677],{"class":3790},"    const",[3765,5679,5680],{"class":3828}," shareableUrl",[3765,5682,4908],{"class":3775},[3765,5684,5685],{"class":3771},"Linking",[3765,5687,3776],{"class":3775},[3765,5689,5690],{"class":3779},"createURL",[3765,5692,3783],{"class":3775},[3765,5694,3787],{"class":3786},[3765,5696,3791],{"class":3790},[3765,5698,4275],{"class":3771},[3765,5700,3803],{"class":3790},[3765,5702,3806],{"class":3786},[3765,5704,3809],{"class":3775},[3765,5706,5707],{"class":3767,"line":4524},[3765,5708,4363],{"emptyLinePlaceholder":4362},[3765,5710,5711,5714,5717,5719,5722],{"class":3767,"line":4530},[3765,5712,5713],{"class":4715},"    await",[3765,5715,5716],{"class":3771}," Share",[3765,5718,3776],{"class":3775},[3765,5720,5721],{"class":3779},"share",[3765,5723,4468],{"class":3775},[3765,5725,5726,5729,5732,5734,5736,5738,5741,5743,5746,5748,5750],{"class":3767,"line":4535},[3765,5727,5728],{"class":3771},"      message:",[3765,5730,5731],{"class":3786}," `Перегляньте план моєї подорожі «",[3765,5733,3791],{"class":3790},[3765,5735,5628],{"class":3771},[3765,5737,3803],{"class":3790},[3765,5739,5740],{"class":3786},"»: ",[3765,5742,3791],{"class":3790},[3765,5744,5745],{"class":3771},"shareableUrl",[3765,5747,3803],{"class":3790},[3765,5749,3806],{"class":3786},[3765,5751,4479],{"class":3775},[3765,5753,5754,5757,5759,5761],{"class":3767,"line":4541},[3765,5755,5756],{"class":3771},"      url:",[3765,5758,5680],{"class":3771},[3765,5760,4032],{"class":3775},[3765,5762,5763],{"class":4328},"\u002F\u002F для платформи iOS\n",[3765,5765,5766],{"class":3767,"line":4549},[3765,5767,5768],{"class":3775},"    });\n",[3765,5770,5771],{"class":3767,"line":4562},[3765,5772,5773],{"class":3775},"  };\n",[3765,5775,5776],{"class":3767,"line":4572},[3765,5777,4363],{"emptyLinePlaceholder":4362},[3765,5779,5780,5782,5784,5786,5788,5790,5793,5795,5797,5799,5802,5804,5806],{"class":3767,"line":4592},[3765,5781,5082],{"class":4715},[3765,5783,4969],{"class":4375},[3765,5785,5201],{"class":3845},[3765,5787,5204],{"class":4381},[3765,5789,4385],{"class":3775},[3765,5791,5792],{"class":3786},"\"Поділитися\"",[3765,5794,5212],{"class":4381},[3765,5796,4385],{"class":3775},[3765,5798,4388],{"class":3790},[3765,5800,5801],{"class":3771},"handleShare",[3765,5803,3803],{"class":3790},[3765,5805,4983],{"class":4375},[3765,5807,4732],{"class":3775},[3765,5809,5810],{"class":3767,"line":4601},[3765,5811,4598],{"class":3775},[3995,5813],{},[3738,5815,5817],{"id":5816},"практична-верифікація-та-тестування-url-схем","Практична верифікація та тестування URL-схем",[3743,5819,5820],{},"Для тестування обробки глибоких посилань на симуляторах та фізичних пристроях використовуються нативні системні утиліти командного рядка:",[3878,5822,5824,5825],{"id":5823},"_1-тестування-на-ios-simulator-через-simctl","1. Тестування на iOS Simulator через ",[3747,5826,5827],{},"simctl",[3756,5829,5833],{"className":5830,"code":5831,"language":5832,"meta":3761,"style":3761},"language-bash shiki shiki-themes light-plus dark-plus dark-plus","# Формат: xcrun simctl openurl \u003Cdevice_id|booted> \u003Curl>\nxcrun simctl openurl booted \"nomad:\u002F\u002Ftrips\u002F1\"\n","bash",[3747,5834,5835,5840],{"__ignoreMap":3761},[3765,5836,5837],{"class":3767,"line":3768},[3765,5838,5839],{"class":4328},"# Формат: xcrun simctl openurl \u003Cdevice_id|booted> \u003Curl>\n",[3765,5841,5842,5845,5848,5851,5854],{"class":3767,"line":4332},[3765,5843,5844],{"class":3779},"xcrun",[3765,5846,5847],{"class":3786}," simctl",[3765,5849,5850],{"class":3786}," openurl",[3765,5852,5853],{"class":3786}," booted",[3765,5855,5856],{"class":3786}," \"nomad:\u002F\u002Ftrips\u002F1\"\n",[3878,5858,5860,5861],{"id":5859},"_2-тестування-на-android-emulator-через-adb","2. Тестування на Android Emulator через ",[3747,5862,5863],{},"adb",[3756,5865,5867],{"className":5830,"code":5866,"language":5832,"meta":3761,"style":3761},"# Відправка системного наміру android.intent.action.VIEW\nadb shell am start -a android.intent.action.VIEW -d \"nomad:\u002F\u002Ftrips\u002F1\"\n",[3747,5868,5869,5874],{"__ignoreMap":3761},[3765,5870,5871],{"class":3767,"line":3768},[3765,5872,5873],{"class":4328},"# Відправка системного наміру android.intent.action.VIEW\n",[3765,5875,5876,5878,5881,5884,5887,5890,5893,5896],{"class":3767,"line":4332},[3765,5877,5863],{"class":3779},[3765,5879,5880],{"class":3786}," shell",[3765,5882,5883],{"class":3786}," am",[3765,5885,5886],{"class":3786}," start",[3765,5888,5889],{"class":3790}," -a",[3765,5891,5892],{"class":3786}," android.intent.action.VIEW",[3765,5894,5895],{"class":3790}," -d",[3765,5897,5856],{"class":3786},[3995,5899],{},[3738,5901,5903],{"id":5902},"життєвий-цикл-запуску-холодний-старт-cold-start-проти-теплого-відновлення-warm-start","Життєвий цикл запуску: Холодний старт (Cold Start) проти теплого відновлення (Warm Start)",[3743,5905,5906],{},"Поведінка підсистеми маршрутизації суттєво різниться залежно від поточного стану мобільного процесу в оперативній пам'яті:",[3756,5908,5911],{"className":5909,"code":5910,"language":4045},[4043],"                           ХОЛОДНИЙ СТАРТ (COLD START)\n+---------------------------------------------------------------------------------+\n| 1. Процес застосунку відсутній у RAM -> ОС виділяє ресурси                      |\n| 2. Ініціалізація нативного рушія та середовища виконання JS                     |\n| 3. Монтування кореневого дерева: app\u002F_layout.tsx -> ThemeProvider, TripsProvider|\n| 4. Отримання вхідного URL -> Навігація до цільового екрана app\u002F(tabs)\u002Ftrips\u002F[id]|\n| 5. Отримання даних: Сховище TripsProvider зобов'язане мати початковий стан!     |\n+---------------------------------------------------------------------------------+\n\n                         ТЕПЛЕ ВІДНОВЛЕННЯ (WARM START)\n+---------------------------------------------------------------------------------+\n| 1. Процес уже знаходиться у фоні RAM з активним станом React                    |\n| 2. ОС генерує подію AppState \u002F Linking -> URL передається в існуючий контекст   |\n| 3. Expo Router оновлює активний маршрут без перезавантаження кореневих макетів  |\n+---------------------------------------------------------------------------------+\n",[3747,5912,5910],{"__ignoreMap":3761},[5462,5914,5915,5918,5919,5922,5923,5925,5926,5929],{},[3866,5916,5917],{},"Критичний виклик холодного старту."," У сценарії Cold Start екран деталей монтується в момент, коли глобальні контексти щойно ініціалізувалися. Якщо дані про поїздки існували виключно як тимчасовий стан попередньої сесії, ",[3747,5920,5921],{},"getTripById(id)"," поверне ",[3747,5924,4279],{},". Тому стан за замовчуванням у провайдерах повинен містити базові початкові дані (",[3854,5927,5928],{},"Seed Data","), зчитувати кеш із персистентного сховища або негайно ініціювати фоновий мережевий запит.",[3995,5931],{},[3738,5933,5935],{"id":5934},"захищена-безшовна-навігація-universal-links-ios-та-android-app-links","Захищена безшовна навігація: Universal Links (iOS) та Android App Links",[3743,5937,5938],{},"Незважаючи на простоту налаштування, Custom URL Schemes мають істотні обмеження:",[5033,5940,5941,5948],{},[3886,5942,5943,5944,5947],{},"Якщо застосунок не встановлено на пристрої, клік на посилання ",[3747,5945,5946],{},"nomad:\u002F\u002Ftrips\u002F1"," у браузері призведе до помилки невідомого протоколу.",[3886,5949,5950],{},"Неможливо гарантувати унікальність схеми серед тисяч інших застосунків.",[3743,5952,5953,5954,5956,5957,5960],{},"Для подолання цих обмежень платформові гіганти Apple та Google розробили технології захищеного безшовного зв'язування на основі стандартних HTTPS-доменів: ",[3866,5955,3964],{}," (iOS) та ",[3866,5958,5959],{},"App Links"," (Android).",[3743,5962,5963],{},[4007,5964],{"alt":5965,"className":5966,"src":5967},"https-посилання vs custom scheme",[4011],"\u002Fimages\u002Freact-native\u002Fdeep-linking-and-params\u002F03.svg",[3878,5969,5971],{"id":5970},"порівняння-технологій-доставки-посилань","Порівняння технологій доставки посилань",[4083,5973,5974,5992],{},[4086,5975,5976],{},[4089,5977,5978,5981,5986],{},[4092,5979,5980],{"align":4094},"Параметр",[4092,5982,5983,5984,4679],{"align":4094},"Custom URL Scheme (",[3747,5985,5327],{},[4092,5987,5988,5989,4679],{"align":4094},"Universal Links \u002F App Links (",[3747,5990,5991],{},"https:\u002F\u002F",[4103,5993,5994,6011,6027,6042],{},[4089,5995,5996,6001,6006],{},[4108,5997,5998],{"align":4094},[3866,5999,6000],{},"Формат адреси",[4108,6002,6003],{"align":4094},[3747,6004,6005],{},"nomad:\u002F\u002Ftrips\u002F3",[4108,6007,6008],{"align":4094},[3747,6009,6010],{},"https:\u002F\u002Fnomad.example.com\u002Ftrips\u002F3",[4089,6012,6013,6018,6021],{},[4108,6014,6015],{"align":4094},[3866,6016,6017],{},"Поведінка без додатку",[4108,6019,6020],{"align":4094},"Помилка операційної системи",[4108,6022,6023,6026],{"align":4094},[3866,6024,6025],{},"Безшовний перехід на веб-сайт"," (Web Fallback)",[4089,6028,6029,6034,6037],{},[4108,6030,6031],{"align":4094},[3866,6032,6033],{},"Верифікація безпеки",[4108,6035,6036],{"align":4094},"Відсутня (будь-який додаток може заявити схему)",[4108,6038,6039],{"align":4094},[3866,6040,6041],{},"Криптографічна двостороння верифікація",[4089,6043,6044,6049,6054],{},[4108,6045,6046],{"align":4094},[3866,6047,6048],{},"Вимоги до інфраструктури",[4108,6050,6051,6052],{"align":4094},"Лише запис у ",[3747,6053,3942],{},[4108,6055,6056],{"align":4094},"Власний HTTPS-домен зі спеціальними JSON-файлами",[3878,6058,6060],{"id":6059},"механізм-двосторонньої-верифікації-two-way-handshake","Механізм двосторонньої верифікації (Two-Way Handshake)",[3743,6062,6063],{},"Операційна система відкриває HTTPS-посилання всередині мобільного застосунку тільки після того, як успішно перевірить взаємну довіру між сервером і бінарним файлом:",[5033,6065,6066,6101],{},[3886,6067,6068,6071,6072],{},[3866,6069,6070],{},"Сертифікація на боці сервера:","\nНа публічному веб-сервері за захищеним протоколом HTTPS розміщуються цифрові маніфести:\n",[3883,6073,6074,6090],{},[3886,6075,6076,6078,6079,6082,6083,6086,6087,4635],{},[3866,6077,5424],{}," ",[3747,6080,6081],{},"https:\u002F\u002Fnomad.example.com\u002F.well-known\u002Fapple-app-site-association"," (містить ",[3747,6084,6085],{},"TeamID.bundleIdentifier"," та список дозволених шляхів ",[3747,6088,6089],{},"\u002Ftrips\u002F*",[3886,6091,6092,6078,6094,6082,6097,6100],{},[3866,6093,5437],{},[3747,6095,6096],{},"https:\u002F\u002Fnomad.example.com\u002F.well-known\u002Fassetlinks.json",[3747,6098,6099],{},"package_name"," та SHA-256 відбиток цифрового підпису додатку).",[3886,6102,6103,6106,6107,6109,6110],{},[3866,6104,6105],{},"Конфігурація у застосунку:","\nУ файлі ",[3747,6108,3942],{}," декларується прив'язка до домену:\n",[3883,6111,6112,6117],{},[3886,6113,6114],{},[3747,6115,6116],{},"ios.associatedDomains: [\"applinks:nomad.example.com\"]",[3886,6118,6119,6122,6123,3776],{},[3747,6120,6121],{},"android.intentFilters"," з параметром ",[3747,6124,6125],{},"autoVerify: true",[3743,6127,6128,6129,6132],{},"Після встановлення додатку операційна система самостійно завантажує маніфест із домену, зіставляє цифрові підписи й надалі перенаправляє всі запити до ",[3747,6130,6131],{},"https:\u002F\u002Fnomad.example.com\u002Ftrips\u002F*"," безпосередньо у мобільний клієнт.",[3995,6134],{},[3738,6136,6138],{"id":6137},"архітектурні-антипатерни-та-типові-помилки-при-роботі-з-deep-links-і-параметрами","Архітектурні антипатерни та типові помилки при роботі з Deep Links і параметрами",[3878,6140,6142],{"id":6141},"_1-серіалізація-складних-обєктів-у-параметри-маршруту","1. Серіалізація складних об'єктів у параметри маршруту",[3883,6144,6145,6154],{},[3886,6146,6147,6150,6151,4635],{},[3866,6148,6149],{},"Проблема:"," Передача всього об'єкта сутності через JSON у параметрах запиту (",[3747,6152,6153],{},"\u002Ftrips\u002Fnew?data={...}",[3886,6155,6156,6159,6160,6162],{},[3866,6157,6158],{},"Рішення:"," Передавати виключно мінімальний унікальний ідентифікатор (",[3747,6161,3800],{},"), вилучаючи повні дані з доменного шару сховища або API.",[3878,6164,6166,6167],{"id":6165},"_2-відсутність-нормалізації-типів-string-string","2. Відсутність нормалізації типів ",[3747,6168,3925],{},[3883,6170,6171,6183],{},[3886,6172,6173,6175,6176,6178,6179,6182],{},[3866,6174,6149],{}," Пряме використання параметра ",[3747,6177,3800],{}," без перевірки ",[3747,6180,6181],{},"Array.isArray()",", що призводить до падіння програми при отриманні масиву.",[3886,6184,6185,6187,6188,3776],{},[3866,6186,6158],{}," Завжди застосовувати атомарну нормалізацію: ",[3747,6189,6190],{},"const tripId = Array.isArray(id) ? id[0] : id;",[3878,6192,6194],{"id":6193},"_3-відсутність-обробки-відсутності-сутності-missing-entity-crash","3. Відсутність обробки відсутності сутності (Missing Entity Crash)",[3883,6196,6197,6212],{},[3886,6198,6199,6201,6202,6205,6206,6208,6209,6211],{},[3866,6200,6149],{}," Спроба прямого рендерингу ",[3747,6203,6204],{},"trip.title"," за умови, коли ",[3747,6207,5010],{}," повернув ",[3747,6210,4279],{}," (наприклад, застарілий Deep Link).",[3886,6213,6214,6216],{},[3866,6215,6158],{}," Реалізувати обов'язковий декларативний блок заглушки «Сутність не знайдено» з можливістю повернення назад.",[3878,6218,6220,6221],{"id":6219},"_4-хардкодинг-custom-schemes-замість-використання-linkingcreateurl","4. Хардкодинг Custom Schemes замість використання ",[3747,6222,6223],{},"Linking.createURL",[3883,6225,6226,6234],{},[3886,6227,6228,6230,6231,6233],{},[3866,6229,6149],{}," Ручне формування рядка ",[3747,6232,5946],{}," у функціях «Поділитися», що ламає роботу в тестовому середовищі Expo Go.",[3886,6235,6236,6238,6239,3776],{},[3866,6237,6158],{}," Формувати всі вихідні посилання виключно через фабричний метод ",[3747,6240,6241],{},"Linking.createURL('\u002Ftrips\u002F' + id)",[3878,6243,6245],{"id":6244},"_5-неузгодженість-файлової-структури-та-маршрутів-deep-link","5. Неузгодженість файлової структури та маршрутів Deep Link",[3883,6247,6248,6260],{},[3886,6249,6250,6252,6253,6256,6257,6259],{},[3866,6251,6149],{}," Спроба надіслати посилання ",[3747,6254,6255],{},"nomad:\u002F\u002Ftrip\u002F1"," (однина) за наявності файлової структури ",[3747,6258,5310],{}," (множина), що викликає помилку «Unmatched Route».",[3886,6261,6262,6264,6265,6267],{},[3866,6263,6158],{}," Утримувати строгу відповідність між іменами каталогів у ",[3747,6266,5305],{}," та документацією публічних URL-маршрутів.",[3995,6269],{},[3738,6271,6273],{"id":6272},"міні-проєкт-купон-за-лінком-від-а-до-я","Міні-проєкт: «Купон за лінком» (від А до Я)",[3878,6275,6277],{"id":6276},"мета","Мета",[3743,6279,6280,6281,6284,6285,6288,6289,6291],{},"Окремий застосунок ",[3866,6282,6283],{},"поза"," Nomad. Відкриваєте ",[3747,6286,6287],{},"couponapp:\u002F\u002Fcoupon\u002FSUMMER25"," (або ",[3747,6290,5690],{},") → екран купона з кодом. Повний код нижче.",[3878,6293,6295],{"id":6294},"що-має-вийти","Що має вийти",[5033,6297,6298,6301,6308,6314,6317],{},[3886,6299,6300],{},"Головний екран зі списком купонів (тап → деталі).",[3886,6302,6303,6304,6307],{},"Екран ",[3747,6305,6306],{},"\u002Fcoupon\u002F[code]"," — великі літери коду, опис, кнопка «Скопіювати» (опційно Alert).",[3886,6309,6310,6311,3776],{},"Кнопка «Відкрити deep link» через ",[3747,6312,6313],{},"Linking.openURL(createURL(...))",[3886,6315,6316],{},"Невідомий код → спокійний «Купон не знайдено».",[3886,6318,6319,6320,6322,6323,3776],{},"У ",[3747,6321,3942],{}," — ",[3747,6324,6325],{},"\"scheme\": \"couponapp\"",[3878,6327,6329],{"id":6328},"структура","Структура",[3756,6331,6334],{"className":6332,"code":6333,"language":4045,"meta":3761},[4043],"coupon-app\u002F\n  app\u002F\n    _layout.tsx\n    index.tsx\n    coupon\u002F\n      [code].tsx\n  src\u002F\n    data\u002F\n      coupons.ts\n  app.json\n  package.json\n",[3747,6335,6333],{"__ignoreMap":3761},[3878,6337,6339],{"id":6338},"крок-1-проєкт","Крок 1. Проєкт",[6341,6342,6343,6347,6377,6381,6414,6420,6435,6439,6447,6478,6482],"steps",{},[3878,6344,6346],{"id":6345},"_1-скарфолд","1. Скарфолд",[3756,6348,6350],{"className":5830,"code":6349,"language":5832,"meta":3761,"style":3761},"npx create-expo-app@latest coupon-app -t blank-typescript\ncd coupon-app\n",[3747,6351,6352,6369],{"__ignoreMap":3761},[3765,6353,6354,6357,6360,6363,6366],{"class":3767,"line":3768},[3765,6355,6356],{"class":3779},"npx",[3765,6358,6359],{"class":3786}," create-expo-app@latest",[3765,6361,6362],{"class":3786}," coupon-app",[3765,6364,6365],{"class":3790}," -t",[3765,6367,6368],{"class":3786}," blank-typescript\n",[3765,6370,6371,6374],{"class":3767,"line":4332},[3765,6372,6373],{"class":3779},"cd",[3765,6375,6376],{"class":3786}," coupon-app\n",[3878,6378,6380],{"id":6379},"_2-router-і-залежності","2. Router і залежності",[3756,6382,6384],{"className":5830,"code":6383,"language":5832,"meta":3761,"style":3761},"npx expo install expo-router expo-linking expo-constants expo-status-bar react-native-safe-area-context react-native-screens\n",[3747,6385,6386],{"__ignoreMap":3761},[3765,6387,6388,6390,6393,6396,6399,6402,6405,6408,6411],{"class":3767,"line":3768},[3765,6389,6356],{"class":3779},[3765,6391,6392],{"class":3786}," expo",[3765,6394,6395],{"class":3786}," install",[3765,6397,6398],{"class":3786}," expo-router",[3765,6400,6401],{"class":3786}," expo-linking",[3765,6403,6404],{"class":3786}," expo-constants",[3765,6406,6407],{"class":3786}," expo-status-bar",[3765,6409,6410],{"class":3786}," react-native-safe-area-context",[3765,6412,6413],{"class":3786}," react-native-screens\n",[3743,6415,6319,6416,6419],{},[3747,6417,6418],{},"package.json"," встановіть:",[3756,6421,6423],{"className":5351,"code":6422,"language":5353,"meta":3761,"style":3761},"\"main\": \"expo-router\u002Fentry\"\n",[3747,6424,6425],{"__ignoreMap":3761},[3765,6426,6427,6430,6432],{"class":3767,"line":3768},[3765,6428,6429],{"class":3786},"\"main\"",[3765,6431,3842],{"class":3775},[3765,6433,6434],{"class":3786},"\"expo-router\u002Fentry\"\n",[3878,6436,6438],{"id":6437},"_3-scheme","3. Scheme",[3743,6440,6319,6441,6443,6444,4229],{},[3747,6442,3942],{}," всередині ",[3747,6445,6446],{},"\"expo\"",[3756,6448,6450],{"className":5351,"code":6449,"language":5353,"meta":3761,"style":3761},"\"scheme\": \"couponapp\",\n\"plugins\": [\"expo-router\"]\n",[3747,6451,6452,6464],{"__ignoreMap":3761},[3765,6453,6454,6457,6459,6462],{"class":3767,"line":3768},[3765,6455,6456],{"class":3786},"\"scheme\"",[3765,6458,3842],{"class":3775},[3765,6460,6461],{"class":3786},"\"couponapp\"",[3765,6463,4479],{"class":3775},[3765,6465,6466,6469,6472,6475],{"class":3767,"line":4332},[3765,6467,6468],{"class":3786},"\"plugins\"",[3765,6470,6471],{"class":3775},": [",[3765,6473,6474],{"class":3786},"\"expo-router\"",[3765,6476,6477],{"class":3775},"]\n",[3878,6479,6481],{"id":6480},"_4-запуск-після-файлів","4. Запуск після файлів",[3756,6483,6485],{"className":5830,"code":6484,"language":5832,"meta":3761,"style":3761},"npx expo start\n",[3747,6486,6487],{"__ignoreMap":3761},[3765,6488,6489,6491,6493],{"class":3767,"line":3768},[3765,6490,6356],{"class":3779},[3765,6492,6392],{"class":3786},[3765,6494,6495],{"class":3786}," start\n",[3878,6497,6499],{"id":6498},"крок-2-дані","Крок 2. Дані",[3743,6501,6502,6503,4229],{},"Створіть ",[3747,6504,6505],{},"src\u002Fdata\u002Fcoupons.ts",[6507,6508,6510],"collapsible",{"title":6509},"Повний src\u002Fdata\u002Fcoupons.ts — розгорнути",[3756,6511,6515],{"className":6512,"code":6513,"language":6514,"meta":3761,"style":3761},"language-ts shiki shiki-themes light-plus dark-plus dark-plus","export type Coupon = {\n  code: string;\n  title: string;\n  description: string;\n  discountLabel: string;\n};\n\nexport const coupons: Coupon[] = [\n  {\n    code: 'SUMMER25',\n    title: 'Літо −25%',\n    description: 'Знижка на будь-який тур з виїздом у червні–серпні.',\n    discountLabel: '−25%',\n  },\n  {\n    code: 'WELCOME10',\n    title: 'Вітальний',\n    description: 'Для першої поїздки в застосунку.',\n    discountLabel: '−10%',\n  },\n  {\n    code: 'CITY50',\n    title: 'Міський вікенд',\n    description: '50 грн на каву в партнера (навчальний купон).',\n    discountLabel: '50 ₴',\n  },\n];\n\nexport function getCoupon(code: string): Coupon | undefined {\n  const normalized = code.trim().toUpperCase();\n  return coupons.find((c) => c.code === normalized);\n}\n","ts",[3747,6516,6517,6530,6541,6552,6563,6574,6579,6583,6601,6606,6616,6626,6636,6646,6650,6654,6663,6672,6681,6691,6696,6701,6711,6721,6731,6741,6746,6752,6757,6786,6812,6850],{"__ignoreMap":3761},[3765,6518,6519,6521,6524,6527],{"class":3767,"line":3768},[3765,6520,4741],{"class":4715},[3765,6522,6523],{"class":3790}," type",[3765,6525,6526],{"class":3845}," Coupon",[3765,6528,6529],{"class":3775}," = {\n",[3765,6531,6532,6535,6537,6539],{"class":3767,"line":4332},[3765,6533,6534],{"class":3771},"  code",[3765,6536,3842],{"class":3775},[3765,6538,3846],{"class":3845},[3765,6540,4732],{"class":3775},[3765,6542,6543,6546,6548,6550],{"class":3767,"line":4359},[3765,6544,6545],{"class":3771},"  title",[3765,6547,3842],{"class":3775},[3765,6549,3846],{"class":3845},[3765,6551,4732],{"class":3775},[3765,6553,6554,6557,6559,6561],{"class":3767,"line":4366},[3765,6555,6556],{"class":3771},"  description",[3765,6558,3842],{"class":3775},[3765,6560,3846],{"class":3845},[3765,6562,4732],{"class":3775},[3765,6564,6565,6568,6570,6572],{"class":3767,"line":4372},[3765,6566,6567],{"class":3771},"  discountLabel",[3765,6569,3842],{"class":3775},[3765,6571,3846],{"class":3845},[3765,6573,4732],{"class":3775},[3765,6575,6576],{"class":3767,"line":4504},[3765,6577,6578],{"class":3775},"};\n",[3765,6580,6581],{"class":3767,"line":4518},[3765,6582,4363],{"emptyLinePlaceholder":4362},[3765,6584,6585,6587,6590,6593,6595,6598],{"class":3767,"line":4524},[3765,6586,4741],{"class":4715},[3765,6588,6589],{"class":3790}," const",[3765,6591,6592],{"class":3828}," coupons",[3765,6594,3842],{"class":3775},[3765,6596,6597],{"class":3845},"Coupon",[3765,6599,6600],{"class":3775},"[] = [\n",[3765,6602,6603],{"class":3767,"line":4530},[3765,6604,6605],{"class":3775},"  {\n",[3765,6607,6608,6611,6614],{"class":3767,"line":4535},[3765,6609,6610],{"class":3771},"    code:",[3765,6612,6613],{"class":3786}," 'SUMMER25'",[3765,6615,4479],{"class":3775},[3765,6617,6618,6621,6624],{"class":3767,"line":4541},[3765,6619,6620],{"class":3771},"    title:",[3765,6622,6623],{"class":3786}," 'Літо −25%'",[3765,6625,4479],{"class":3775},[3765,6627,6628,6631,6634],{"class":3767,"line":4549},[3765,6629,6630],{"class":3771},"    description:",[3765,6632,6633],{"class":3786}," 'Знижка на будь-який тур з виїздом у червні–серпні.'",[3765,6635,4479],{"class":3775},[3765,6637,6638,6641,6644],{"class":3767,"line":4562},[3765,6639,6640],{"class":3771},"    discountLabel:",[3765,6642,6643],{"class":3786}," '−25%'",[3765,6645,4479],{"class":3775},[3765,6647,6648],{"class":3767,"line":4572},[3765,6649,4521],{"class":3775},[3765,6651,6652],{"class":3767,"line":4592},[3765,6653,6605],{"class":3775},[3765,6655,6656,6658,6661],{"class":3767,"line":4601},[3765,6657,6610],{"class":3771},[3765,6659,6660],{"class":3786}," 'WELCOME10'",[3765,6662,4479],{"class":3775},[3765,6664,6665,6667,6670],{"class":3767,"line":4606},[3765,6666,6620],{"class":3771},[3765,6668,6669],{"class":3786}," 'Вітальний'",[3765,6671,4479],{"class":3775},[3765,6673,6674,6676,6679],{"class":3767,"line":4612},[3765,6675,6630],{"class":3771},[3765,6677,6678],{"class":3786}," 'Для першої поїздки в застосунку.'",[3765,6680,4479],{"class":3775},[3765,6682,6684,6686,6689],{"class":3767,"line":6683},19,[3765,6685,6640],{"class":3771},[3765,6687,6688],{"class":3786}," '−10%'",[3765,6690,4479],{"class":3775},[3765,6692,6694],{"class":3767,"line":6693},20,[3765,6695,4521],{"class":3775},[3765,6697,6699],{"class":3767,"line":6698},21,[3765,6700,6605],{"class":3775},[3765,6702,6704,6706,6709],{"class":3767,"line":6703},22,[3765,6705,6610],{"class":3771},[3765,6707,6708],{"class":3786}," 'CITY50'",[3765,6710,4479],{"class":3775},[3765,6712,6714,6716,6719],{"class":3767,"line":6713},23,[3765,6715,6620],{"class":3771},[3765,6717,6718],{"class":3786}," 'Міський вікенд'",[3765,6720,4479],{"class":3775},[3765,6722,6724,6726,6729],{"class":3767,"line":6723},24,[3765,6725,6630],{"class":3771},[3765,6727,6728],{"class":3786}," '50 грн на каву в партнера (навчальний купон).'",[3765,6730,4479],{"class":3775},[3765,6732,6734,6736,6739],{"class":3767,"line":6733},25,[3765,6735,6640],{"class":3771},[3765,6737,6738],{"class":3786}," '50 ₴'",[3765,6740,4479],{"class":3775},[3765,6742,6744],{"class":3767,"line":6743},26,[3765,6745,4521],{"class":3775},[3765,6747,6749],{"class":3767,"line":6748},27,[3765,6750,6751],{"class":3775},"];\n",[3765,6753,6755],{"class":3767,"line":6754},28,[3765,6756,4363],{"emptyLinePlaceholder":4362},[3765,6758,6760,6762,6764,6767,6769,6771,6773,6775,6778,6780,6782,6784],{"class":3767,"line":6759},29,[3765,6761,4741],{"class":4715},[3765,6763,4747],{"class":3790},[3765,6765,6766],{"class":3779}," getCoupon",[3765,6768,3783],{"class":3775},[3765,6770,3747],{"class":3771},[3765,6772,3842],{"class":3775},[3765,6774,3846],{"class":3845},[3765,6776,6777],{"class":3775},"): ",[3765,6779,6597],{"class":3845},[3765,6781,4884],{"class":3775},[3765,6783,4279],{"class":3845},[3765,6785,4487],{"class":3775},[3765,6787,6789,6791,6794,6796,6798,6800,6803,6806,6809],{"class":3767,"line":6788},30,[3765,6790,4758],{"class":3790},[3765,6792,6793],{"class":3828}," normalized",[3765,6795,4908],{"class":3775},[3765,6797,3747],{"class":3771},[3765,6799,3776],{"class":3775},[3765,6801,6802],{"class":3779},"trim",[3765,6804,6805],{"class":3775},"().",[3765,6807,6808],{"class":3779},"toUpperCase",[3765,6810,6811],{"class":3775},"();\n",[3765,6813,6815,6817,6819,6821,6824,6827,6830,6833,6835,6838,6840,6842,6845,6848],{"class":3767,"line":6814},31,[3765,6816,5082],{"class":4715},[3765,6818,6592],{"class":3771},[3765,6820,3776],{"class":3775},[3765,6822,6823],{"class":3779},"find",[3765,6825,6826],{"class":3775},"((",[3765,6828,6829],{"class":3771},"c",[3765,6831,6832],{"class":3775},") ",[3765,6834,5222],{"class":3790},[3765,6836,6837],{"class":3771}," c",[3765,6839,3776],{"class":3775},[3765,6841,3747],{"class":3771},[3765,6843,6844],{"class":3775}," === ",[3765,6846,6847],{"class":3771},"normalized",[3765,6849,3809],{"class":3775},[3765,6851,6853],{"class":3767,"line":6852},32,[3765,6854,4598],{"class":3775},[3878,6856,6858,6859],{"id":6857},"крок-3-app_layouttsx","Крок 3. ",[3747,6860,6861],{},"app\u002F_layout.tsx",[6507,6863,6865],{"title":6864},"Повний app\u002F_layout.tsx — розгорнути",[3756,6866,6868],{"className":3758,"code":6867,"language":3760,"meta":3761,"style":3761},"import { Stack } from 'expo-router';\nimport { StatusBar } from 'expo-status-bar';\n\nexport default function RootLayout() {\n  return (\n    \u003C>\n      \u003CStatusBar style=\"dark\" \u002F>\n      \u003CStack\n        screenOptions={{\n          headerStyle: { backgroundColor: '#F8FAFC' },\n          headerTintColor: '#2563EB',\n          headerTitleStyle: { color: '#0F172A', fontWeight: '600' },\n          contentStyle: { backgroundColor: '#F8FAFC' },\n        }}\n      >\n        \u003CStack.Screen name=\"index\" options={{ title: 'Купони' }} \u002F>\n        \u003CStack.Screen name=\"coupon\u002F[code]\" options={{ title: 'Купон' }} \u002F>\n      \u003C\u002FStack>\n    \u003C\u002F>\n  );\n}\n",[3747,6869,6870,6886,6904,6908,6921,6927,6932,6947,6954,6965,6980,6990,7013,7026,7033,7038,7077,7109,7117,7122,7126],{"__ignoreMap":3761},[3765,6871,6872,6874,6876,6878,6880,6882,6884],{"class":3767,"line":3768},[3765,6873,4716],{"class":4715},[3765,6875,3825],{"class":3775},[3765,6877,3749],{"class":3771},[3765,6879,4723],{"class":3775},[3765,6881,4726],{"class":4715},[3765,6883,4729],{"class":3786},[3765,6885,4732],{"class":3775},[3765,6887,6888,6890,6892,6895,6897,6899,6902],{"class":3767,"line":4332},[3765,6889,4716],{"class":4715},[3765,6891,3825],{"class":3775},[3765,6893,6894],{"class":3771},"StatusBar",[3765,6896,4723],{"class":3775},[3765,6898,4726],{"class":4715},[3765,6900,6901],{"class":3786}," 'expo-status-bar'",[3765,6903,4732],{"class":3775},[3765,6905,6906],{"class":3767,"line":4359},[3765,6907,4363],{"emptyLinePlaceholder":4362},[3765,6909,6910,6912,6914,6916,6919],{"class":3767,"line":4366},[3765,6911,4741],{"class":4715},[3765,6913,4744],{"class":4715},[3765,6915,4747],{"class":3790},[3765,6917,6918],{"class":3779}," RootLayout",[3765,6920,4753],{"class":3775},[3765,6922,6923,6925],{"class":3767,"line":4372},[3765,6924,5082],{"class":4715},[3765,6926,5085],{"class":3775},[3765,6928,6929],{"class":3767,"line":4504},[3765,6930,6931],{"class":4375},"    \u003C>\n",[3765,6933,6934,6936,6938,6940,6942,6945],{"class":3767,"line":4518},[3765,6935,5117],{"class":4375},[3765,6937,6894],{"class":3845},[3765,6939,5096],{"class":4381},[3765,6941,4385],{"class":3775},[3765,6943,6944],{"class":3786},"\"dark\"",[3765,6946,5238],{"class":4375},[3765,6948,6949,6951],{"class":3767,"line":4524},[3765,6950,5117],{"class":4375},[3765,6952,6953],{"class":3845},"Stack\n",[3765,6955,6956,6959,6961,6963],{"class":3767,"line":4530},[3765,6957,6958],{"class":4381},"        screenOptions",[3765,6960,4385],{"class":3775},[3765,6962,4388],{"class":3790},[3765,6964,4559],{"class":3797},[3765,6966,6967,6970,6972,6975,6978],{"class":3767,"line":4535},[3765,6968,6969],{"class":3771},"          headerStyle:",[3765,6971,3825],{"class":3797},[3765,6973,6974],{"class":3771},"backgroundColor:",[3765,6976,6977],{"class":3786}," '#F8FAFC'",[3765,6979,4589],{"class":3797},[3765,6981,6982,6985,6988],{"class":3767,"line":4541},[3765,6983,6984],{"class":3771},"          headerTintColor:",[3765,6986,6987],{"class":3786}," '#2563EB'",[3765,6989,4479],{"class":3797},[3765,6991,6992,6995,6997,7000,7003,7005,7008,7011],{"class":3767,"line":4549},[3765,6993,6994],{"class":3771},"          headerTitleStyle:",[3765,6996,3825],{"class":3797},[3765,6998,6999],{"class":3771},"color:",[3765,7001,7002],{"class":3786}," '#0F172A'",[3765,7004,4032],{"class":3797},[3765,7006,7007],{"class":3771},"fontWeight:",[3765,7009,7010],{"class":3786}," '600'",[3765,7012,4589],{"class":3797},[3765,7014,7015,7018,7020,7022,7024],{"class":3767,"line":4562},[3765,7016,7017],{"class":3771},"          contentStyle:",[3765,7019,3825],{"class":3797},[3765,7021,6974],{"class":3771},[3765,7023,6977],{"class":3786},[3765,7025,4589],{"class":3797},[3765,7027,7028,7031],{"class":3767,"line":4572},[3765,7029,7030],{"class":3797},"        }",[3765,7032,4598],{"class":3790},[3765,7034,7035],{"class":3767,"line":4592},[3765,7036,7037],{"class":4375},"      >\n",[3765,7039,7040,7043,7046,7049,7051,7054,7057,7059,7061,7064,7067,7070,7073,7075],{"class":3767,"line":4601},[3765,7041,7042],{"class":4375},"        \u003C",[3765,7044,7045],{"class":3845},"Stack.Screen",[3765,7047,7048],{"class":4381}," name",[3765,7050,4385],{"class":3775},[3765,7052,7053],{"class":3786},"\"index\"",[3765,7055,7056],{"class":4381}," options",[3765,7058,4385],{"class":3775},[3765,7060,4388],{"class":3790},[3765,7062,7063],{"class":3797},"{ ",[3765,7065,7066],{"class":3771},"title:",[3765,7068,7069],{"class":3786}," 'Купони'",[3765,7071,7072],{"class":3797}," }",[3765,7074,3803],{"class":3790},[3765,7076,5238],{"class":4375},[3765,7078,7079,7081,7083,7085,7087,7090,7092,7094,7096,7098,7100,7103,7105,7107],{"class":3767,"line":4606},[3765,7080,7042],{"class":4375},[3765,7082,7045],{"class":3845},[3765,7084,7048],{"class":4381},[3765,7086,4385],{"class":3775},[3765,7088,7089],{"class":3786},"\"coupon\u002F[code]\"",[3765,7091,7056],{"class":4381},[3765,7093,4385],{"class":3775},[3765,7095,4388],{"class":3790},[3765,7097,7063],{"class":3797},[3765,7099,7066],{"class":3771},[3765,7101,7102],{"class":3786}," 'Купон'",[3765,7104,7072],{"class":3797},[3765,7106,3803],{"class":3790},[3765,7108,5238],{"class":4375},[3765,7110,7111,7113,7115],{"class":3767,"line":4612},[3765,7112,5190],{"class":4375},[3765,7114,3749],{"class":3845},[3765,7116,4419],{"class":4375},[3765,7118,7119],{"class":3767,"line":6683},[3765,7120,7121],{"class":4375},"    \u003C\u002F>\n",[3765,7123,7124],{"class":3767,"line":6693},[3765,7125,5252],{"class":3775},[3765,7127,7128],{"class":3767,"line":6698},[3765,7129,4598],{"class":3775},[3878,7131,7133,7134],{"id":7132},"крок-4-головна-appindextsx","Крок 4. Головна — ",[3747,7135,7136],{},"app\u002Findex.tsx",[6507,7138,7140],{"title":7139},"Повний app\u002Findex.tsx — розгорнути",[3756,7141,7143],{"className":3758,"code":7142,"language":3760,"meta":3761,"style":3761},"import { FlatList, Pressable, StyleSheet, Text, View } from 'react-native';\nimport { Link, useRouter } from 'expo-router';\nimport * as Linking from 'expo-linking';\nimport { SafeAreaView } from 'react-native-safe-area-context';\n\nimport { coupons } from '..\u002Fsrc\u002Fdata\u002Fcoupons';\n\nexport default function HomeScreen() {\n  const router = useRouter();\n\n  const openDeepLink = async (code: string) => {\n    const url = Linking.createURL(`\u002Fcoupon\u002F${code}`);\n    await Linking.openURL(url);\n  };\n\n  return (\n    \u003CSafeAreaView style={styles.safe} edges={['bottom']}>\n      \u003CText style={styles.lead}>\n        Тап по картці — звичайний push. Кнопка «Deep link» — через\n        Linking.openURL(createURL), ніби ззовні.\n      \u003C\u002FText>\n      \u003CText style={styles.mono}>scheme: couponapp\u003C\u002FText>\n\n      \u003CFlatList\n        data={coupons}\n        keyExtractor={(item) => item.code}\n        contentContainerStyle={styles.list}\n        ItemSeparatorComponent={() => \u003CView style={{ height: 10 }} \u002F>}\n        renderItem={({ item }) => (\n          \u003CView style={styles.card}>\n            \u003CLink href={`\u002Fcoupon\u002F${item.code}`} asChild>\n              \u003CPressable>\n                \u003CText style={styles.cardTitle}>{item.title}\u003C\u002FText>\n                \u003CText style={styles.code}>{item.code}\u003C\u002FText>\n                \u003CText style={styles.muted}>{item.discountLabel}\u003C\u002FText>\n              \u003C\u002FPressable>\n            \u003C\u002FLink>\n            \u003CPressable\n              style={styles.secondaryBtn}\n              onPress={() => openDeepLink(item.code)}\n            >\n              \u003CText style={styles.secondaryBtnText}>Відкрити deep link\u003C\u002FText>\n            \u003C\u002FPressable>\n          \u003C\u002FView>\n        )}\n      \u002F>\n\n      \u003CPressable\n        style={styles.ghost}\n        onPress={() => router.push('\u002Fcoupon\u002FUNKNOWN')}\n      >\n        \u003CText style={styles.ghostText}>Тест: неіснуючий код\u003C\u002FText>\n      \u003C\u002FPressable>\n    \u003C\u002FSafeAreaView>\n  );\n}\n\nconst styles = StyleSheet.create({\n  safe: { flex: 1, backgroundColor: '#F8FAFC' },\n  lead: {\n    paddingHorizontal: 16,\n    paddingTop: 8,\n    color: '#64748B',\n    fontSize: 13,\n    lineHeight: 18,\n  },\n  mono: {\n    paddingHorizontal: 16,\n    marginTop: 6,\n    marginBottom: 8,\n    color: '#2563EB',\n    fontSize: 12,\n    fontWeight: '600',\n  },\n  list: { padding: 16, paddingBottom: 24 },\n  card: {\n    backgroundColor: '#fff',\n    borderRadius: 12,\n    borderWidth: 1,\n    borderColor: '#E2E8F0',\n    padding: 14,\n    gap: 8,\n  },\n  cardTitle: { fontSize: 17, fontWeight: '700', color: '#0F172A' },\n  code: { fontSize: 20, fontWeight: '800', color: '#2563EB', letterSpacing: 1 },\n  muted: { color: '#64748B', fontSize: 13 },\n  secondaryBtn: {\n    marginTop: 4,\n    paddingVertical: 10,\n    borderRadius: 10,\n    borderWidth: 1,\n    borderColor: '#2563EB',\n    alignItems: 'center',\n  },\n  secondaryBtnText: { color: '#2563EB', fontWeight: '700' },\n  ghost: { padding: 16, alignItems: 'center' },\n  ghostText: { color: '#94A3B8', fontWeight: '600' },\n});\n",[3747,7144,7145,7181,7202,7218,7236,7240,7258,7262,7275,7287,7291,7317,7347,7365,7369,7373,7379,7419,7442,7447,7452,7460,7492,7496,7503,7516,7543,7561,7600,7620,7644,7678,7687,7728,7767,7808,7818,7828,7836,7855,7883,7889,7922,7931,7941,7949,7955,7960,7967,7986,8015,8020,8053,8062,8071,8076,8081,8086,8105,8127,8135,8146,8157,8168,8179,8190,8195,8203,8212,8223,8233,8242,8252,8262,8267,8290,8298,8309,8319,8329,8340,8351,8361,8366,8395,8430,8450,8458,8468,8478,8487,8496,8505,8516,8521,8541,8562,8583],{"__ignoreMap":3761},[3765,7146,7147,7149,7151,7154,7156,7159,7161,7164,7166,7169,7171,7173,7175,7177,7179],{"class":3767,"line":3768},[3765,7148,4716],{"class":4715},[3765,7150,3825],{"class":3775},[3765,7152,7153],{"class":3771},"FlatList",[3765,7155,4032],{"class":3775},[3765,7157,7158],{"class":3771},"Pressable",[3765,7160,4032],{"class":3775},[3765,7162,7163],{"class":3771},"StyleSheet",[3765,7165,4032],{"class":3775},[3765,7167,7168],{"class":3771},"Text",[3765,7170,4032],{"class":3775},[3765,7172,5093],{"class":3771},[3765,7174,4723],{"class":3775},[3765,7176,4726],{"class":4715},[3765,7178,5603],{"class":3786},[3765,7180,4732],{"class":3775},[3765,7182,7183,7185,7187,7189,7191,7194,7196,7198,7200],{"class":3767,"line":4332},[3765,7184,4716],{"class":4715},[3765,7186,3825],{"class":3775},[3765,7188,3908],{"class":3771},[3765,7190,4032],{"class":3775},[3765,7192,7193],{"class":3771},"useRouter",[3765,7195,4723],{"class":3775},[3765,7197,4726],{"class":4715},[3765,7199,4729],{"class":3786},[3765,7201,4732],{"class":3775},[3765,7203,7204,7206,7208,7210,7212,7214,7216],{"class":3767,"line":4359},[3765,7205,4716],{"class":4715},[3765,7207,5573],{"class":3790},[3765,7209,5576],{"class":4715},[3765,7211,5579],{"class":3771},[3765,7213,5582],{"class":4715},[3765,7215,5585],{"class":3786},[3765,7217,4732],{"class":3775},[3765,7219,7220,7222,7224,7227,7229,7231,7234],{"class":3767,"line":4366},[3765,7221,4716],{"class":4715},[3765,7223,3825],{"class":3775},[3765,7225,7226],{"class":3771},"SafeAreaView",[3765,7228,4723],{"class":3775},[3765,7230,4726],{"class":4715},[3765,7232,7233],{"class":3786}," 'react-native-safe-area-context'",[3765,7235,4732],{"class":3775},[3765,7237,7238],{"class":3767,"line":4372},[3765,7239,4363],{"emptyLinePlaceholder":4362},[3765,7241,7242,7244,7246,7249,7251,7253,7256],{"class":3767,"line":4504},[3765,7243,4716],{"class":4715},[3765,7245,3825],{"class":3775},[3765,7247,7248],{"class":3771},"coupons",[3765,7250,4723],{"class":3775},[3765,7252,4726],{"class":4715},[3765,7254,7255],{"class":3786}," '..\u002Fsrc\u002Fdata\u002Fcoupons'",[3765,7257,4732],{"class":3775},[3765,7259,7260],{"class":3767,"line":4518},[3765,7261,4363],{"emptyLinePlaceholder":4362},[3765,7263,7264,7266,7268,7270,7273],{"class":3767,"line":4524},[3765,7265,4741],{"class":4715},[3765,7267,4744],{"class":4715},[3765,7269,4747],{"class":3790},[3765,7271,7272],{"class":3779}," HomeScreen",[3765,7274,4753],{"class":3775},[3765,7276,7277,7279,7281,7283,7285],{"class":3767,"line":4530},[3765,7278,4758],{"class":3790},[3765,7280,5225],{"class":3828},[3765,7282,4908],{"class":3775},[3765,7284,7193],{"class":3779},[3765,7286,6811],{"class":3775},[3765,7288,7289],{"class":3767,"line":4535},[3765,7290,4363],{"emptyLinePlaceholder":4362},[3765,7292,7293,7295,7298,7300,7302,7305,7307,7309,7311,7313,7315],{"class":3767,"line":4541},[3765,7294,4758],{"class":3790},[3765,7296,7297],{"class":3779}," openDeepLink",[3765,7299,4908],{"class":3775},[3765,7301,5660],{"class":3790},[3765,7303,7304],{"class":3775}," (",[3765,7306,3747],{"class":3771},[3765,7308,3842],{"class":3775},[3765,7310,3846],{"class":3845},[3765,7312,6832],{"class":3775},[3765,7314,5222],{"class":3790},[3765,7316,4487],{"class":3775},[3765,7318,7319,7321,7324,7326,7328,7330,7332,7334,7337,7339,7341,7343,7345],{"class":3767,"line":4549},[3765,7320,5677],{"class":3790},[3765,7322,7323],{"class":3828}," url",[3765,7325,4908],{"class":3775},[3765,7327,5685],{"class":3771},[3765,7329,3776],{"class":3775},[3765,7331,5690],{"class":3779},[3765,7333,3783],{"class":3775},[3765,7335,7336],{"class":3786},"`\u002Fcoupon\u002F",[3765,7338,3791],{"class":3790},[3765,7340,3747],{"class":3771},[3765,7342,3803],{"class":3790},[3765,7344,3806],{"class":3786},[3765,7346,3809],{"class":3775},[3765,7348,7349,7351,7353,7355,7358,7360,7363],{"class":3767,"line":4562},[3765,7350,5713],{"class":4715},[3765,7352,5579],{"class":3771},[3765,7354,3776],{"class":3775},[3765,7356,7357],{"class":3779},"openURL",[3765,7359,3783],{"class":3775},[3765,7361,7362],{"class":3771},"url",[3765,7364,3809],{"class":3775},[3765,7366,7367],{"class":3767,"line":4572},[3765,7368,5773],{"class":3775},[3765,7370,7371],{"class":3767,"line":4592},[3765,7372,4363],{"emptyLinePlaceholder":4362},[3765,7374,7375,7377],{"class":3767,"line":4601},[3765,7376,5082],{"class":4715},[3765,7378,5085],{"class":3775},[3765,7380,7381,7383,7385,7387,7389,7391,7393,7395,7398,7400,7403,7405,7407,7409,7412,7415,7417],{"class":3767,"line":4606},[3765,7382,5090],{"class":4375},[3765,7384,7226],{"class":3845},[3765,7386,5096],{"class":4381},[3765,7388,4385],{"class":3775},[3765,7390,4388],{"class":3790},[3765,7392,5103],{"class":3771},[3765,7394,3776],{"class":3797},[3765,7396,7397],{"class":3771},"safe",[3765,7399,3803],{"class":3790},[3765,7401,7402],{"class":4381}," edges",[3765,7404,4385],{"class":3775},[3765,7406,4388],{"class":3790},[3765,7408,4928],{"class":3797},[3765,7410,7411],{"class":3786},"'bottom'",[3765,7413,7414],{"class":3797},"]",[3765,7416,3803],{"class":3790},[3765,7418,4419],{"class":4375},[3765,7420,7421,7423,7425,7427,7429,7431,7433,7435,7438,7440],{"class":3767,"line":4612},[3765,7422,5117],{"class":4375},[3765,7424,7168],{"class":3845},[3765,7426,5096],{"class":4381},[3765,7428,4385],{"class":3775},[3765,7430,4388],{"class":3790},[3765,7432,5103],{"class":3771},[3765,7434,3776],{"class":3797},[3765,7436,7437],{"class":3771},"lead",[3765,7439,3803],{"class":3790},[3765,7441,4419],{"class":4375},[3765,7443,7444],{"class":3767,"line":6683},[3765,7445,7446],{"class":3775},"        Тап по картці — звичайний push. Кнопка «Deep link» — через\n",[3765,7448,7449],{"class":3767,"line":6693},[3765,7450,7451],{"class":3775},"        Linking.openURL(createURL), ніби ззовні.\n",[3765,7453,7454,7456,7458],{"class":3767,"line":6698},[3765,7455,5190],{"class":4375},[3765,7457,7168],{"class":3845},[3765,7459,4419],{"class":4375},[3765,7461,7462,7464,7466,7468,7470,7472,7474,7476,7479,7481,7483,7486,7488,7490],{"class":3767,"line":6703},[3765,7463,5117],{"class":4375},[3765,7465,7168],{"class":3845},[3765,7467,5096],{"class":4381},[3765,7469,4385],{"class":3775},[3765,7471,4388],{"class":3790},[3765,7473,5103],{"class":3771},[3765,7475,3776],{"class":3797},[3765,7477,7478],{"class":3771},"mono",[3765,7480,3803],{"class":3790},[3765,7482,4408],{"class":4375},[3765,7484,7485],{"class":3775},"scheme: couponapp",[3765,7487,4414],{"class":4375},[3765,7489,7168],{"class":3845},[3765,7491,4419],{"class":4375},[3765,7493,7494],{"class":3767,"line":6713},[3765,7495,4363],{"emptyLinePlaceholder":4362},[3765,7497,7498,7500],{"class":3767,"line":6723},[3765,7499,5117],{"class":4375},[3765,7501,7502],{"class":3845},"FlatList\n",[3765,7504,7505,7508,7510,7512,7514],{"class":3767,"line":6733},[3765,7506,7507],{"class":4381},"        data",[3765,7509,4385],{"class":3775},[3765,7511,4388],{"class":3790},[3765,7513,7248],{"class":3771},[3765,7515,4598],{"class":3790},[3765,7517,7518,7521,7523,7525,7527,7530,7532,7534,7537,7539,7541],{"class":3767,"line":6743},[3765,7519,7520],{"class":4381},"        keyExtractor",[3765,7522,4385],{"class":3775},[3765,7524,4388],{"class":3790},[3765,7526,3783],{"class":3797},[3765,7528,7529],{"class":3771},"item",[3765,7531,6832],{"class":3797},[3765,7533,5222],{"class":3790},[3765,7535,7536],{"class":3771}," item",[3765,7538,3776],{"class":3797},[3765,7540,3747],{"class":3771},[3765,7542,4598],{"class":3790},[3765,7544,7545,7548,7550,7552,7554,7556,7559],{"class":3767,"line":6748},[3765,7546,7547],{"class":4381},"        contentContainerStyle",[3765,7549,4385],{"class":3775},[3765,7551,4388],{"class":3790},[3765,7553,5103],{"class":3771},[3765,7555,3776],{"class":3797},[3765,7557,7558],{"class":3771},"list",[3765,7560,4598],{"class":3790},[3765,7562,7563,7566,7568,7570,7572,7574,7576,7578,7580,7582,7584,7586,7589,7592,7594,7596,7598],{"class":3767,"line":6754},[3765,7564,7565],{"class":4381},"        ItemSeparatorComponent",[3765,7567,4385],{"class":3775},[3765,7569,4388],{"class":3790},[3765,7571,5219],{"class":3797},[3765,7573,5222],{"class":3790},[3765,7575,4969],{"class":4375},[3765,7577,5093],{"class":3845},[3765,7579,5096],{"class":4381},[3765,7581,4385],{"class":3775},[3765,7583,4388],{"class":3790},[3765,7585,7063],{"class":3797},[3765,7587,7588],{"class":3771},"height:",[3765,7590,7591],{"class":4931}," 10",[3765,7593,7072],{"class":3797},[3765,7595,3803],{"class":3790},[3765,7597,4983],{"class":4375},[3765,7599,4598],{"class":3790},[3765,7601,7602,7605,7607,7609,7611,7613,7616,7618],{"class":3767,"line":6759},[3765,7603,7604],{"class":4381},"        renderItem",[3765,7606,4385],{"class":3775},[3765,7608,4388],{"class":3790},[3765,7610,5621],{"class":3797},[3765,7612,7529],{"class":3771},[3765,7614,7615],{"class":3797}," }) ",[3765,7617,5222],{"class":3790},[3765,7619,5085],{"class":3797},[3765,7621,7622,7625,7627,7629,7631,7633,7635,7637,7640,7642],{"class":3767,"line":6788},[3765,7623,7624],{"class":4375},"          \u003C",[3765,7626,5093],{"class":3845},[3765,7628,5096],{"class":4381},[3765,7630,4385],{"class":3775},[3765,7632,4388],{"class":3790},[3765,7634,5103],{"class":3771},[3765,7636,3776],{"class":3797},[3765,7638,7639],{"class":3771},"card",[3765,7641,3803],{"class":3790},[3765,7643,4419],{"class":4375},[3765,7645,7646,7649,7651,7653,7655,7657,7659,7661,7663,7665,7667,7669,7671,7673,7676],{"class":3767,"line":6814},[3765,7647,7648],{"class":4375},"            \u003C",[3765,7650,3908],{"class":3845},[3765,7652,4382],{"class":4381},[3765,7654,4385],{"class":3775},[3765,7656,4388],{"class":3790},[3765,7658,7336],{"class":3786},[3765,7660,3791],{"class":3790},[3765,7662,7529],{"class":3771},[3765,7664,3776],{"class":3797},[3765,7666,3747],{"class":3771},[3765,7668,3803],{"class":3790},[3765,7670,3806],{"class":3786},[3765,7672,3803],{"class":3790},[3765,7674,7675],{"class":4381}," asChild",[3765,7677,4419],{"class":4375},[3765,7679,7680,7683,7685],{"class":3767,"line":6852},[3765,7681,7682],{"class":4375},"              \u003C",[3765,7684,7158],{"class":3845},[3765,7686,4419],{"class":4375},[3765,7688,7690,7693,7695,7697,7699,7701,7703,7705,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726],{"class":3767,"line":7689},33,[3765,7691,7692],{"class":4375},"                \u003C",[3765,7694,7168],{"class":3845},[3765,7696,5096],{"class":4381},[3765,7698,4385],{"class":3775},[3765,7700,4388],{"class":3790},[3765,7702,5103],{"class":3771},[3765,7704,3776],{"class":3797},[3765,7706,7707],{"class":3771},"cardTitle",[3765,7709,3803],{"class":3790},[3765,7711,4408],{"class":4375},[3765,7713,4388],{"class":3790},[3765,7715,7529],{"class":3771},[3765,7717,3776],{"class":3797},[3765,7719,5628],{"class":3771},[3765,7721,3803],{"class":3790},[3765,7723,4414],{"class":4375},[3765,7725,7168],{"class":3845},[3765,7727,4419],{"class":4375},[3765,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765],{"class":3767,"line":7730},34,[3765,7732,7692],{"class":4375},[3765,7734,7168],{"class":3845},[3765,7736,5096],{"class":4381},[3765,7738,4385],{"class":3775},[3765,7740,4388],{"class":3790},[3765,7742,5103],{"class":3771},[3765,7744,3776],{"class":3797},[3765,7746,3747],{"class":3771},[3765,7748,3803],{"class":3790},[3765,7750,4408],{"class":4375},[3765,7752,4388],{"class":3790},[3765,7754,7529],{"class":3771},[3765,7756,3776],{"class":3797},[3765,7758,3747],{"class":3771},[3765,7760,3803],{"class":3790},[3765,7762,4414],{"class":4375},[3765,7764,7168],{"class":3845},[3765,7766,4419],{"class":4375},[3765,7768,7770,7772,7774,7776,7778,7780,7782,7784,7787,7789,7791,7793,7795,7797,7800,7802,7804,7806],{"class":3767,"line":7769},35,[3765,7771,7692],{"class":4375},[3765,7773,7168],{"class":3845},[3765,7775,5096],{"class":4381},[3765,7777,4385],{"class":3775},[3765,7779,4388],{"class":3790},[3765,7781,5103],{"class":3771},[3765,7783,3776],{"class":3797},[3765,7785,7786],{"class":3771},"muted",[3765,7788,3803],{"class":3790},[3765,7790,4408],{"class":4375},[3765,7792,4388],{"class":3790},[3765,7794,7529],{"class":3771},[3765,7796,3776],{"class":3797},[3765,7798,7799],{"class":3771},"discountLabel",[3765,7801,3803],{"class":3790},[3765,7803,4414],{"class":4375},[3765,7805,7168],{"class":3845},[3765,7807,4419],{"class":4375},[3765,7809,7811,7814,7816],{"class":3767,"line":7810},36,[3765,7812,7813],{"class":4375},"              \u003C\u002F",[3765,7815,7158],{"class":3845},[3765,7817,4419],{"class":4375},[3765,7819,7821,7824,7826],{"class":3767,"line":7820},37,[3765,7822,7823],{"class":4375},"            \u003C\u002F",[3765,7825,3908],{"class":3845},[3765,7827,4419],{"class":4375},[3765,7829,7831,7833],{"class":3767,"line":7830},38,[3765,7832,7648],{"class":4375},[3765,7834,7835],{"class":3845},"Pressable\n",[3765,7837,7839,7842,7844,7846,7848,7850,7853],{"class":3767,"line":7838},39,[3765,7840,7841],{"class":4381},"              style",[3765,7843,4385],{"class":3775},[3765,7845,4388],{"class":3790},[3765,7847,5103],{"class":3771},[3765,7849,3776],{"class":3797},[3765,7851,7852],{"class":3771},"secondaryBtn",[3765,7854,4598],{"class":3790},[3765,7856,7858,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881],{"class":3767,"line":7857},40,[3765,7859,7860],{"class":4381},"              onPress",[3765,7862,4385],{"class":3775},[3765,7864,4388],{"class":3790},[3765,7866,5219],{"class":3797},[3765,7868,5222],{"class":3790},[3765,7870,7297],{"class":3779},[3765,7872,3783],{"class":3797},[3765,7874,7529],{"class":3771},[3765,7876,3776],{"class":3797},[3765,7878,3747],{"class":3771},[3765,7880,4679],{"class":3797},[3765,7882,4598],{"class":3790},[3765,7884,7886],{"class":3767,"line":7885},41,[3765,7887,7888],{"class":4375},"            >\n",[3765,7890,7892,7894,7896,7898,7900,7902,7904,7906,7909,7911,7913,7916,7918,7920],{"class":3767,"line":7891},42,[3765,7893,7682],{"class":4375},[3765,7895,7168],{"class":3845},[3765,7897,5096],{"class":4381},[3765,7899,4385],{"class":3775},[3765,7901,4388],{"class":3790},[3765,7903,5103],{"class":3771},[3765,7905,3776],{"class":3797},[3765,7907,7908],{"class":3771},"secondaryBtnText",[3765,7910,3803],{"class":3790},[3765,7912,4408],{"class":4375},[3765,7914,7915],{"class":3797},"Відкрити deep link",[3765,7917,4414],{"class":4375},[3765,7919,7168],{"class":3845},[3765,7921,4419],{"class":4375},[3765,7923,7925,7927,7929],{"class":3767,"line":7924},43,[3765,7926,7823],{"class":4375},[3765,7928,7158],{"class":3845},[3765,7930,4419],{"class":4375},[3765,7932,7934,7937,7939],{"class":3767,"line":7933},44,[3765,7935,7936],{"class":4375},"          \u003C\u002F",[3765,7938,5093],{"class":3845},[3765,7940,4419],{"class":4375},[3765,7942,7944,7947],{"class":3767,"line":7943},45,[3765,7945,7946],{"class":3797},"        )",[3765,7948,4598],{"class":3790},[3765,7950,7952],{"class":3767,"line":7951},46,[3765,7953,7954],{"class":4375},"      \u002F>\n",[3765,7956,7958],{"class":3767,"line":7957},47,[3765,7959,4363],{"emptyLinePlaceholder":4362},[3765,7961,7963,7965],{"class":3767,"line":7962},48,[3765,7964,5117],{"class":4375},[3765,7966,7835],{"class":3845},[3765,7968,7970,7973,7975,7977,7979,7981,7984],{"class":3767,"line":7969},49,[3765,7971,7972],{"class":4381},"        style",[3765,7974,4385],{"class":3775},[3765,7976,4388],{"class":3790},[3765,7978,5103],{"class":3771},[3765,7980,3776],{"class":3797},[3765,7982,7983],{"class":3771},"ghost",[3765,7985,4598],{"class":3790},[3765,7987,7989,7992,7994,7996,7998,8000,8002,8004,8006,8008,8011,8013],{"class":3767,"line":7988},50,[3765,7990,7991],{"class":4381},"        onPress",[3765,7993,4385],{"class":3775},[3765,7995,4388],{"class":3790},[3765,7997,5219],{"class":3797},[3765,7999,5222],{"class":3790},[3765,8001,5225],{"class":3771},[3765,8003,3776],{"class":3797},[3765,8005,3780],{"class":3779},[3765,8007,3783],{"class":3797},[3765,8009,8010],{"class":3786},"'\u002Fcoupon\u002FUNKNOWN'",[3765,8012,4679],{"class":3797},[3765,8014,4598],{"class":3790},[3765,8016,8018],{"class":3767,"line":8017},51,[3765,8019,7037],{"class":4375},[3765,8021,8023,8025,8027,8029,8031,8033,8035,8037,8040,8042,8044,8047,8049,8051],{"class":3767,"line":8022},52,[3765,8024,7042],{"class":4375},[3765,8026,7168],{"class":3845},[3765,8028,5096],{"class":4381},[3765,8030,4385],{"class":3775},[3765,8032,4388],{"class":3790},[3765,8034,5103],{"class":3771},[3765,8036,3776],{"class":3797},[3765,8038,8039],{"class":3771},"ghostText",[3765,8041,3803],{"class":3790},[3765,8043,4408],{"class":4375},[3765,8045,8046],{"class":3775},"Тест: неіснуючий код",[3765,8048,4414],{"class":4375},[3765,8050,7168],{"class":3845},[3765,8052,4419],{"class":4375},[3765,8054,8056,8058,8060],{"class":3767,"line":8055},53,[3765,8057,5190],{"class":4375},[3765,8059,7158],{"class":3845},[3765,8061,4419],{"class":4375},[3765,8063,8065,8067,8069],{"class":3767,"line":8064},54,[3765,8066,5243],{"class":4375},[3765,8068,7226],{"class":3845},[3765,8070,4419],{"class":4375},[3765,8072,8074],{"class":3767,"line":8073},55,[3765,8075,5252],{"class":3775},[3765,8077,8079],{"class":3767,"line":8078},56,[3765,8080,4598],{"class":3775},[3765,8082,8084],{"class":3767,"line":8083},57,[3765,8085,4363],{"emptyLinePlaceholder":4362},[3765,8087,8089,8091,8094,8096,8098,8100,8103],{"class":3767,"line":8088},58,[3765,8090,3822],{"class":3790},[3765,8092,8093],{"class":3828}," styles",[3765,8095,4908],{"class":3775},[3765,8097,7163],{"class":3771},[3765,8099,3776],{"class":3775},[3765,8101,8102],{"class":3779},"create",[3765,8104,4468],{"class":3775},[3765,8106,8108,8111,8113,8116,8119,8121,8123,8125],{"class":3767,"line":8107},59,[3765,8109,8110],{"class":3771},"  safe:",[3765,8112,3825],{"class":3775},[3765,8114,8115],{"class":3771},"flex:",[3765,8117,8118],{"class":4931}," 1",[3765,8120,4032],{"class":3775},[3765,8122,6974],{"class":3771},[3765,8124,6977],{"class":3786},[3765,8126,4589],{"class":3775},[3765,8128,8130,8133],{"class":3767,"line":8129},60,[3765,8131,8132],{"class":3771},"  lead:",[3765,8134,4487],{"class":3775},[3765,8136,8138,8141,8144],{"class":3767,"line":8137},61,[3765,8139,8140],{"class":3771},"    paddingHorizontal:",[3765,8142,8143],{"class":4931}," 16",[3765,8145,4479],{"class":3775},[3765,8147,8149,8152,8155],{"class":3767,"line":8148},62,[3765,8150,8151],{"class":3771},"    paddingTop:",[3765,8153,8154],{"class":4931}," 8",[3765,8156,4479],{"class":3775},[3765,8158,8160,8163,8166],{"class":3767,"line":8159},63,[3765,8161,8162],{"class":3771},"    color:",[3765,8164,8165],{"class":3786}," '#64748B'",[3765,8167,4479],{"class":3775},[3765,8169,8171,8174,8177],{"class":3767,"line":8170},64,[3765,8172,8173],{"class":3771},"    fontSize:",[3765,8175,8176],{"class":4931}," 13",[3765,8178,4479],{"class":3775},[3765,8180,8182,8185,8188],{"class":3767,"line":8181},65,[3765,8183,8184],{"class":3771},"    lineHeight:",[3765,8186,8187],{"class":4931}," 18",[3765,8189,4479],{"class":3775},[3765,8191,8193],{"class":3767,"line":8192},66,[3765,8194,4521],{"class":3775},[3765,8196,8198,8201],{"class":3767,"line":8197},67,[3765,8199,8200],{"class":3771},"  mono:",[3765,8202,4487],{"class":3775},[3765,8204,8206,8208,8210],{"class":3767,"line":8205},68,[3765,8207,8140],{"class":3771},[3765,8209,8143],{"class":4931},[3765,8211,4479],{"class":3775},[3765,8213,8215,8218,8221],{"class":3767,"line":8214},69,[3765,8216,8217],{"class":3771},"    marginTop:",[3765,8219,8220],{"class":4931}," 6",[3765,8222,4479],{"class":3775},[3765,8224,8226,8229,8231],{"class":3767,"line":8225},70,[3765,8227,8228],{"class":3771},"    marginBottom:",[3765,8230,8154],{"class":4931},[3765,8232,4479],{"class":3775},[3765,8234,8236,8238,8240],{"class":3767,"line":8235},71,[3765,8237,8162],{"class":3771},[3765,8239,6987],{"class":3786},[3765,8241,4479],{"class":3775},[3765,8243,8245,8247,8250],{"class":3767,"line":8244},72,[3765,8246,8173],{"class":3771},[3765,8248,8249],{"class":4931}," 12",[3765,8251,4479],{"class":3775},[3765,8253,8255,8258,8260],{"class":3767,"line":8254},73,[3765,8256,8257],{"class":3771},"    fontWeight:",[3765,8259,7010],{"class":3786},[3765,8261,4479],{"class":3775},[3765,8263,8265],{"class":3767,"line":8264},74,[3765,8266,4521],{"class":3775},[3765,8268,8270,8273,8275,8278,8280,8282,8285,8288],{"class":3767,"line":8269},75,[3765,8271,8272],{"class":3771},"  list:",[3765,8274,3825],{"class":3775},[3765,8276,8277],{"class":3771},"padding:",[3765,8279,8143],{"class":4931},[3765,8281,4032],{"class":3775},[3765,8283,8284],{"class":3771},"paddingBottom:",[3765,8286,8287],{"class":4931}," 24",[3765,8289,4589],{"class":3775},[3765,8291,8293,8296],{"class":3767,"line":8292},76,[3765,8294,8295],{"class":3771},"  card:",[3765,8297,4487],{"class":3775},[3765,8299,8301,8304,8307],{"class":3767,"line":8300},77,[3765,8302,8303],{"class":3771},"    backgroundColor:",[3765,8305,8306],{"class":3786}," '#fff'",[3765,8308,4479],{"class":3775},[3765,8310,8312,8315,8317],{"class":3767,"line":8311},78,[3765,8313,8314],{"class":3771},"    borderRadius:",[3765,8316,8249],{"class":4931},[3765,8318,4479],{"class":3775},[3765,8320,8322,8325,8327],{"class":3767,"line":8321},79,[3765,8323,8324],{"class":3771},"    borderWidth:",[3765,8326,8118],{"class":4931},[3765,8328,4479],{"class":3775},[3765,8330,8332,8335,8338],{"class":3767,"line":8331},80,[3765,8333,8334],{"class":3771},"    borderColor:",[3765,8336,8337],{"class":3786}," '#E2E8F0'",[3765,8339,4479],{"class":3775},[3765,8341,8343,8346,8349],{"class":3767,"line":8342},81,[3765,8344,8345],{"class":3771},"    padding:",[3765,8347,8348],{"class":4931}," 14",[3765,8350,4479],{"class":3775},[3765,8352,8354,8357,8359],{"class":3767,"line":8353},82,[3765,8355,8356],{"class":3771},"    gap:",[3765,8358,8154],{"class":4931},[3765,8360,4479],{"class":3775},[3765,8362,8364],{"class":3767,"line":8363},83,[3765,8365,4521],{"class":3775},[3765,8367,8369,8372,8374,8377,8380,8382,8384,8387,8389,8391,8393],{"class":3767,"line":8368},84,[3765,8370,8371],{"class":3771},"  cardTitle:",[3765,8373,3825],{"class":3775},[3765,8375,8376],{"class":3771},"fontSize:",[3765,8378,8379],{"class":4931}," 17",[3765,8381,4032],{"class":3775},[3765,8383,7007],{"class":3771},[3765,8385,8386],{"class":3786}," '700'",[3765,8388,4032],{"class":3775},[3765,8390,6999],{"class":3771},[3765,8392,7002],{"class":3786},[3765,8394,4589],{"class":3775},[3765,8396,8398,8401,8403,8405,8408,8410,8412,8415,8417,8419,8421,8423,8426,8428],{"class":3767,"line":8397},85,[3765,8399,8400],{"class":3771},"  code:",[3765,8402,3825],{"class":3775},[3765,8404,8376],{"class":3771},[3765,8406,8407],{"class":4931}," 20",[3765,8409,4032],{"class":3775},[3765,8411,7007],{"class":3771},[3765,8413,8414],{"class":3786}," '800'",[3765,8416,4032],{"class":3775},[3765,8418,6999],{"class":3771},[3765,8420,6987],{"class":3786},[3765,8422,4032],{"class":3775},[3765,8424,8425],{"class":3771},"letterSpacing:",[3765,8427,8118],{"class":4931},[3765,8429,4589],{"class":3775},[3765,8431,8433,8436,8438,8440,8442,8444,8446,8448],{"class":3767,"line":8432},86,[3765,8434,8435],{"class":3771},"  muted:",[3765,8437,3825],{"class":3775},[3765,8439,6999],{"class":3771},[3765,8441,8165],{"class":3786},[3765,8443,4032],{"class":3775},[3765,8445,8376],{"class":3771},[3765,8447,8176],{"class":4931},[3765,8449,4589],{"class":3775},[3765,8451,8453,8456],{"class":3767,"line":8452},87,[3765,8454,8455],{"class":3771},"  secondaryBtn:",[3765,8457,4487],{"class":3775},[3765,8459,8461,8463,8466],{"class":3767,"line":8460},88,[3765,8462,8217],{"class":3771},[3765,8464,8465],{"class":4931}," 4",[3765,8467,4479],{"class":3775},[3765,8469,8471,8474,8476],{"class":3767,"line":8470},89,[3765,8472,8473],{"class":3771},"    paddingVertical:",[3765,8475,7591],{"class":4931},[3765,8477,4479],{"class":3775},[3765,8479,8481,8483,8485],{"class":3767,"line":8480},90,[3765,8482,8314],{"class":3771},[3765,8484,7591],{"class":4931},[3765,8486,4479],{"class":3775},[3765,8488,8490,8492,8494],{"class":3767,"line":8489},91,[3765,8491,8324],{"class":3771},[3765,8493,8118],{"class":4931},[3765,8495,4479],{"class":3775},[3765,8497,8499,8501,8503],{"class":3767,"line":8498},92,[3765,8500,8334],{"class":3771},[3765,8502,6987],{"class":3786},[3765,8504,4479],{"class":3775},[3765,8506,8508,8511,8514],{"class":3767,"line":8507},93,[3765,8509,8510],{"class":3771},"    alignItems:",[3765,8512,8513],{"class":3786}," 'center'",[3765,8515,4479],{"class":3775},[3765,8517,8519],{"class":3767,"line":8518},94,[3765,8520,4521],{"class":3775},[3765,8522,8524,8527,8529,8531,8533,8535,8537,8539],{"class":3767,"line":8523},95,[3765,8525,8526],{"class":3771},"  secondaryBtnText:",[3765,8528,3825],{"class":3775},[3765,8530,6999],{"class":3771},[3765,8532,6987],{"class":3786},[3765,8534,4032],{"class":3775},[3765,8536,7007],{"class":3771},[3765,8538,8386],{"class":3786},[3765,8540,4589],{"class":3775},[3765,8542,8544,8547,8549,8551,8553,8555,8558,8560],{"class":3767,"line":8543},96,[3765,8545,8546],{"class":3771},"  ghost:",[3765,8548,3825],{"class":3775},[3765,8550,8277],{"class":3771},[3765,8552,8143],{"class":4931},[3765,8554,4032],{"class":3775},[3765,8556,8557],{"class":3771},"alignItems:",[3765,8559,8513],{"class":3786},[3765,8561,4589],{"class":3775},[3765,8563,8565,8568,8570,8572,8575,8577,8579,8581],{"class":3767,"line":8564},97,[3765,8566,8567],{"class":3771},"  ghostText:",[3765,8569,3825],{"class":3775},[3765,8571,6999],{"class":3771},[3765,8573,8574],{"class":3786}," '#94A3B8'",[3765,8576,4032],{"class":3775},[3765,8578,7007],{"class":3771},[3765,8580,7010],{"class":3786},[3765,8582,4589],{"class":3775},[3765,8584,8586],{"class":3767,"line":8585},98,[3765,8587,4527],{"class":3775},[3878,8589,8591,8592],{"id":8590},"крок-5-екран-купона-appcouponcodetsx","Крок 5. Екран купона — ",[3747,8593,8594],{},"app\u002Fcoupon\u002F[code].tsx",[6507,8596,8598],{"title":8597},"Повний app\u002Fcoupon\u002F[code].tsx — розгорнути",[3756,8599,8601],{"className":3758,"code":8600,"language":3760,"meta":3761,"style":3761},"import { Alert, Pressable, StyleSheet, Text, View } from 'react-native';\nimport { Stack, useLocalSearchParams, useRouter } from 'expo-router';\nimport * as Linking from 'expo-linking';\n\nimport { getCoupon } from '..\u002F..\u002Fsrc\u002Fdata\u002Fcoupons';\n\nexport default function CouponScreen() {\n  const { code } = useLocalSearchParams\u003C{ code: string | string[] }>();\n  const raw = Array.isArray(code) ? code[0] : code;\n  const coupon = raw ? getCoupon(raw) : undefined;\n  const router = useRouter();\n\n  const deepLink = raw\n    ? Linking.createURL(`\u002Fcoupon\u002F${String(raw).toUpperCase()}`)\n    : '';\n\n  if (!coupon) {\n    return (\n      \u003CView style={styles.center}>\n        \u003CStack.Screen options={{ title: 'Не знайдено' }} \u002F>\n        \u003CText style={styles.title}>Купон не знайдено\u003C\u002FText>\n        \u003CText style={styles.muted}>Код: {String(raw)}\u003C\u002FText>\n        \u003CPressable style={styles.btn} onPress={() => router.back()}>\n          \u003CText style={styles.btnText}>Назад\u003C\u002FText>\n        \u003C\u002FPressable>\n      \u003C\u002FView>\n    );\n  }\n\n  return (\n    \u003CView style={styles.body}>\n      \u003CStack.Screen options={{ title: coupon.title }} \u002F>\n      \u003CText style={styles.discount}>{coupon.discountLabel}\u003C\u002FText>\n      \u003CText style={styles.code}>{coupon.code}\u003C\u002FText>\n      \u003CText style={styles.desc}>{coupon.description}\u003C\u002FText>\n      \u003CText style={styles.muted}>Deep link цього екрана:\u003C\u002FText>\n      \u003CText style={styles.link}>{deepLink}\u003C\u002FText>\n      \u003CPressable\n        style={styles.btn}\n        onPress={() => Alert.alert('Купон', `Умовно застосовано ${coupon.code}`)}\n      >\n        \u003CText style={styles.btnText}>Застосувати\u003C\u002FText>\n      \u003C\u002FPressable>\n    \u003C\u002FView>\n  );\n}\n\nconst styles = StyleSheet.create({\n  body: { flex: 1, padding: 24, backgroundColor: '#F8FAFC', gap: 10 },\n  center: {\n    flex: 1,\n    padding: 24,\n    justifyContent: 'center',\n    alignItems: 'center',\n    backgroundColor: '#F8FAFC',\n    gap: 8,\n  },\n  title: { fontSize: 22, fontWeight: '800', color: '#0F172A' },\n  discount: { fontSize: 36, fontWeight: '800', color: '#16A34A' },\n  code: {\n    fontSize: 28,\n    fontWeight: '800',\n    color: '#2563EB',\n    letterSpacing: 2,\n  },\n  desc: { fontSize: 16, lineHeight: 24, color: '#334155', marginTop: 8 },\n  muted: { color: '#64748B', fontSize: 13, marginTop: 16 },\n  link: { color: '#0F172A', fontSize: 12, fontWeight: '600' },\n  btn: {\n    marginTop: 24,\n    backgroundColor: '#2563EB',\n    paddingVertical: 14,\n    borderRadius: 12,\n    alignItems: 'center',\n    alignSelf: 'stretch',\n  },\n  btnText: { color: '#fff', fontWeight: '800' },\n});\n",[3747,8602,8603,8636,8660,8676,8680,8698,8702,8715,8741,8774,8802,8814,8818,8830,8867,8877,8881,8892,8898,8921,8946,8977,9020,9063,9095,9104,9112,9117,9121,9125,9131,9154,9182,9221,9259,9299,9330,9366,9372,9388,9434,9438,9469,9477,9485,9489,9493,9497,9513,9545,9552,9561,9569,9578,9586,9594,9602,9606,9632,9659,9665,9674,9682,9690,9700,9704,9738,9762,9787,9794,9802,9810,9818,9826,9834,9844,9848,9867],{"__ignoreMap":3761},[3765,8604,8605,8607,8609,8612,8614,8616,8618,8620,8622,8624,8626,8628,8630,8632,8634],{"class":3767,"line":3768},[3765,8606,4716],{"class":4715},[3765,8608,3825],{"class":3775},[3765,8610,8611],{"class":3771},"Alert",[3765,8613,4032],{"class":3775},[3765,8615,7158],{"class":3771},[3765,8617,4032],{"class":3775},[3765,8619,7163],{"class":3771},[3765,8621,4032],{"class":3775},[3765,8623,7168],{"class":3771},[3765,8625,4032],{"class":3775},[3765,8627,5093],{"class":3771},[3765,8629,4723],{"class":3775},[3765,8631,4726],{"class":4715},[3765,8633,5603],{"class":3786},[3765,8635,4732],{"class":3775},[3765,8637,8638,8640,8642,8644,8646,8648,8650,8652,8654,8656,8658],{"class":3767,"line":4332},[3765,8639,4716],{"class":4715},[3765,8641,3825],{"class":3775},[3765,8643,3749],{"class":3771},[3765,8645,4032],{"class":3775},[3765,8647,3834],{"class":3771},[3765,8649,4032],{"class":3775},[3765,8651,7193],{"class":3771},[3765,8653,4723],{"class":3775},[3765,8655,4726],{"class":4715},[3765,8657,4729],{"class":3786},[3765,8659,4732],{"class":3775},[3765,8661,8662,8664,8666,8668,8670,8672,8674],{"class":3767,"line":4359},[3765,8663,4716],{"class":4715},[3765,8665,5573],{"class":3790},[3765,8667,5576],{"class":4715},[3765,8669,5579],{"class":3771},[3765,8671,5582],{"class":4715},[3765,8673,5585],{"class":3786},[3765,8675,4732],{"class":3775},[3765,8677,8678],{"class":3767,"line":4366},[3765,8679,4363],{"emptyLinePlaceholder":4362},[3765,8681,8682,8684,8686,8689,8691,8693,8696],{"class":3767,"line":4372},[3765,8683,4716],{"class":4715},[3765,8685,3825],{"class":3775},[3765,8687,8688],{"class":3771},"getCoupon",[3765,8690,4723],{"class":3775},[3765,8692,4726],{"class":4715},[3765,8694,8695],{"class":3786}," '..\u002F..\u002Fsrc\u002Fdata\u002Fcoupons'",[3765,8697,4732],{"class":3775},[3765,8699,8700],{"class":3767,"line":4504},[3765,8701,4363],{"emptyLinePlaceholder":4362},[3765,8703,8704,8706,8708,8710,8713],{"class":3767,"line":4518},[3765,8705,4741],{"class":4715},[3765,8707,4744],{"class":4715},[3765,8709,4747],{"class":3790},[3765,8711,8712],{"class":3779}," CouponScreen",[3765,8714,4753],{"class":3775},[3765,8716,8717,8719,8721,8723,8725,8727,8729,8731,8733,8735,8737,8739],{"class":3767,"line":4524},[3765,8718,4758],{"class":3790},[3765,8720,3825],{"class":3775},[3765,8722,3747],{"class":3828},[3765,8724,3831],{"class":3775},[3765,8726,3834],{"class":3779},[3765,8728,3837],{"class":3775},[3765,8730,3747],{"class":3771},[3765,8732,3842],{"class":3775},[3765,8734,3846],{"class":3845},[3765,8736,4884],{"class":3775},[3765,8738,3846],{"class":3845},[3765,8740,4889],{"class":3775},[3765,8742,8743,8745,8748,8750,8752,8754,8756,8758,8760,8762,8764,8766,8768,8770,8772],{"class":3767,"line":4530},[3765,8744,4758],{"class":3790},[3765,8746,8747],{"class":3828}," raw",[3765,8749,4908],{"class":3775},[3765,8751,4911],{"class":3771},[3765,8753,3776],{"class":3775},[3765,8755,4916],{"class":3779},[3765,8757,3783],{"class":3775},[3765,8759,3747],{"class":3771},[3765,8761,4923],{"class":3775},[3765,8763,3747],{"class":3771},[3765,8765,4928],{"class":3775},[3765,8767,4932],{"class":4931},[3765,8769,4935],{"class":3775},[3765,8771,3747],{"class":3771},[3765,8773,4732],{"class":3775},[3765,8775,8776,8778,8781,8783,8786,8789,8791,8793,8795,8798,8800],{"class":3767,"line":4535},[3765,8777,4758],{"class":3790},[3765,8779,8780],{"class":3828}," coupon",[3765,8782,4908],{"class":3775},[3765,8784,8785],{"class":3771},"raw",[3765,8787,8788],{"class":3775}," ? ",[3765,8790,8688],{"class":3779},[3765,8792,3783],{"class":3775},[3765,8794,8785],{"class":3771},[3765,8796,8797],{"class":3775},") : ",[3765,8799,4279],{"class":3790},[3765,8801,4732],{"class":3775},[3765,8803,8804,8806,8808,8810,8812],{"class":3767,"line":4541},[3765,8805,4758],{"class":3790},[3765,8807,5225],{"class":3828},[3765,8809,4908],{"class":3775},[3765,8811,7193],{"class":3779},[3765,8813,6811],{"class":3775},[3765,8815,8816],{"class":3767,"line":4549},[3765,8817,4363],{"emptyLinePlaceholder":4362},[3765,8819,8820,8822,8825,8827],{"class":3767,"line":4562},[3765,8821,4758],{"class":3790},[3765,8823,8824],{"class":3828}," deepLink",[3765,8826,4908],{"class":3775},[3765,8828,8829],{"class":3771},"raw\n",[3765,8831,8832,8835,8837,8839,8841,8843,8845,8847,8850,8852,8854,8856,8858,8860,8862,8864],{"class":3767,"line":4572},[3765,8833,8834],{"class":3775},"    ? ",[3765,8836,5685],{"class":3771},[3765,8838,3776],{"class":3775},[3765,8840,5690],{"class":3779},[3765,8842,3783],{"class":3775},[3765,8844,7336],{"class":3786},[3765,8846,3791],{"class":3790},[3765,8848,8849],{"class":3779},"String",[3765,8851,3783],{"class":3797},[3765,8853,8785],{"class":3771},[3765,8855,4635],{"class":3797},[3765,8857,6808],{"class":3779},[3765,8859,5233],{"class":3797},[3765,8861,3803],{"class":3790},[3765,8863,3806],{"class":3786},[3765,8865,8866],{"class":3775},")\n",[3765,8868,8869,8872,8875],{"class":3767,"line":4592},[3765,8870,8871],{"class":3775},"    : ",[3765,8873,8874],{"class":3786},"''",[3765,8876,4732],{"class":3775},[3765,8878,8879],{"class":3767,"line":4601},[3765,8880,4363],{"emptyLinePlaceholder":4362},[3765,8882,8883,8885,8887,8890],{"class":3767,"line":4606},[3765,8884,4953],{"class":4715},[3765,8886,4956],{"class":3775},[3765,8888,8889],{"class":3771},"coupon",[3765,8891,4961],{"class":3775},[3765,8893,8894,8896],{"class":3767,"line":4612},[3765,8895,4966],{"class":4715},[3765,8897,5085],{"class":3775},[3765,8899,8900,8902,8904,8906,8908,8910,8912,8914,8917,8919],{"class":3767,"line":6683},[3765,8901,5117],{"class":4375},[3765,8903,5093],{"class":3845},[3765,8905,5096],{"class":4381},[3765,8907,4385],{"class":3775},[3765,8909,4388],{"class":3790},[3765,8911,5103],{"class":3771},[3765,8913,3776],{"class":3797},[3765,8915,8916],{"class":3771},"center",[3765,8918,3803],{"class":3790},[3765,8920,4419],{"class":4375},[3765,8922,8923,8925,8927,8929,8931,8933,8935,8937,8940,8942,8944],{"class":3767,"line":6693},[3765,8924,7042],{"class":4375},[3765,8926,7045],{"class":3845},[3765,8928,7056],{"class":4381},[3765,8930,4385],{"class":3775},[3765,8932,4388],{"class":3790},[3765,8934,7063],{"class":3797},[3765,8936,7066],{"class":3771},[3765,8938,8939],{"class":3786}," 'Не знайдено'",[3765,8941,7072],{"class":3797},[3765,8943,3803],{"class":3790},[3765,8945,5238],{"class":4375},[3765,8947,8948,8950,8952,8954,8956,8958,8960,8962,8964,8966,8968,8971,8973,8975],{"class":3767,"line":6698},[3765,8949,7042],{"class":4375},[3765,8951,7168],{"class":3845},[3765,8953,5096],{"class":4381},[3765,8955,4385],{"class":3775},[3765,8957,4388],{"class":3790},[3765,8959,5103],{"class":3771},[3765,8961,3776],{"class":3797},[3765,8963,5628],{"class":3771},[3765,8965,3803],{"class":3790},[3765,8967,4408],{"class":4375},[3765,8969,8970],{"class":3775},"Купон не знайдено",[3765,8972,4414],{"class":4375},[3765,8974,7168],{"class":3845},[3765,8976,4419],{"class":4375},[3765,8978,8979,8981,8983,8985,8987,8989,8991,8993,8995,8997,8999,9002,9004,9006,9008,9010,9012,9014,9016,9018],{"class":3767,"line":6703},[3765,8980,7042],{"class":4375},[3765,8982,7168],{"class":3845},[3765,8984,5096],{"class":4381},[3765,8986,4385],{"class":3775},[3765,8988,4388],{"class":3790},[3765,8990,5103],{"class":3771},[3765,8992,3776],{"class":3797},[3765,8994,7786],{"class":3771},[3765,8996,3803],{"class":3790},[3765,8998,4408],{"class":4375},[3765,9000,9001],{"class":3775},"Код: ",[3765,9003,4388],{"class":3790},[3765,9005,8849],{"class":3779},[3765,9007,3783],{"class":3797},[3765,9009,8785],{"class":3771},[3765,9011,4679],{"class":3797},[3765,9013,3803],{"class":3790},[3765,9015,4414],{"class":4375},[3765,9017,7168],{"class":3845},[3765,9019,4419],{"class":4375},[3765,9021,9022,9024,9026,9028,9030,9032,9034,9036,9039,9041,9043,9045,9047,9049,9051,9053,9055,9057,9059,9061],{"class":3767,"line":6713},[3765,9023,7042],{"class":4375},[3765,9025,7158],{"class":3845},[3765,9027,5096],{"class":4381},[3765,9029,4385],{"class":3775},[3765,9031,4388],{"class":3790},[3765,9033,5103],{"class":3771},[3765,9035,3776],{"class":3797},[3765,9037,9038],{"class":3771},"btn",[3765,9040,3803],{"class":3790},[3765,9042,5212],{"class":4381},[3765,9044,4385],{"class":3775},[3765,9046,4388],{"class":3790},[3765,9048,5219],{"class":3797},[3765,9050,5222],{"class":3790},[3765,9052,5225],{"class":3771},[3765,9054,3776],{"class":3797},[3765,9056,5230],{"class":3779},[3765,9058,5233],{"class":3797},[3765,9060,3803],{"class":3790},[3765,9062,4419],{"class":4375},[3765,9064,9065,9067,9069,9071,9073,9075,9077,9079,9082,9084,9086,9089,9091,9093],{"class":3767,"line":6723},[3765,9066,7624],{"class":4375},[3765,9068,7168],{"class":3845},[3765,9070,5096],{"class":4381},[3765,9072,4385],{"class":3775},[3765,9074,4388],{"class":3790},[3765,9076,5103],{"class":3771},[3765,9078,3776],{"class":3797},[3765,9080,9081],{"class":3771},"btnText",[3765,9083,3803],{"class":3790},[3765,9085,4408],{"class":4375},[3765,9087,9088],{"class":3775},"Назад",[3765,9090,4414],{"class":4375},[3765,9092,7168],{"class":3845},[3765,9094,4419],{"class":4375},[3765,9096,9097,9100,9102],{"class":3767,"line":6733},[3765,9098,9099],{"class":4375},"        \u003C\u002F",[3765,9101,7158],{"class":3845},[3765,9103,4419],{"class":4375},[3765,9105,9106,9108,9110],{"class":3767,"line":6743},[3765,9107,5190],{"class":4375},[3765,9109,5093],{"class":3845},[3765,9111,4419],{"class":4375},[3765,9113,9114],{"class":3767,"line":6748},[3765,9115,9116],{"class":3775},"    );\n",[3765,9118,9119],{"class":3767,"line":6754},[3765,9120,4990],{"class":3775},[3765,9122,9123],{"class":3767,"line":6759},[3765,9124,4363],{"emptyLinePlaceholder":4362},[3765,9126,9127,9129],{"class":3767,"line":6788},[3765,9128,5082],{"class":4715},[3765,9130,5085],{"class":3775},[3765,9132,9133,9135,9137,9139,9141,9143,9145,9147,9150,9152],{"class":3767,"line":6814},[3765,9134,5090],{"class":4375},[3765,9136,5093],{"class":3845},[3765,9138,5096],{"class":4381},[3765,9140,4385],{"class":3775},[3765,9142,4388],{"class":3790},[3765,9144,5103],{"class":3771},[3765,9146,3776],{"class":3797},[3765,9148,9149],{"class":3771},"body",[3765,9151,3803],{"class":3790},[3765,9153,4419],{"class":4375},[3765,9155,9156,9158,9160,9162,9164,9166,9168,9170,9172,9174,9176,9178,9180],{"class":3767,"line":6852},[3765,9157,5117],{"class":4375},[3765,9159,7045],{"class":3845},[3765,9161,7056],{"class":4381},[3765,9163,4385],{"class":3775},[3765,9165,4388],{"class":3790},[3765,9167,7063],{"class":3797},[3765,9169,7066],{"class":3771},[3765,9171,8780],{"class":3771},[3765,9173,3776],{"class":3797},[3765,9175,5628],{"class":3771},[3765,9177,7072],{"class":3797},[3765,9179,3803],{"class":3790},[3765,9181,5238],{"class":4375},[3765,9183,9184,9186,9188,9190,9192,9194,9196,9198,9201,9203,9205,9207,9209,9211,9213,9215,9217,9219],{"class":3767,"line":7689},[3765,9185,5117],{"class":4375},[3765,9187,7168],{"class":3845},[3765,9189,5096],{"class":4381},[3765,9191,4385],{"class":3775},[3765,9193,4388],{"class":3790},[3765,9195,5103],{"class":3771},[3765,9197,3776],{"class":3797},[3765,9199,9200],{"class":3771},"discount",[3765,9202,3803],{"class":3790},[3765,9204,4408],{"class":4375},[3765,9206,4388],{"class":3790},[3765,9208,8889],{"class":3771},[3765,9210,3776],{"class":3797},[3765,9212,7799],{"class":3771},[3765,9214,3803],{"class":3790},[3765,9216,4414],{"class":4375},[3765,9218,7168],{"class":3845},[3765,9220,4419],{"class":4375},[3765,9222,9223,9225,9227,9229,9231,9233,9235,9237,9239,9241,9243,9245,9247,9249,9251,9253,9255,9257],{"class":3767,"line":7730},[3765,9224,5117],{"class":4375},[3765,9226,7168],{"class":3845},[3765,9228,5096],{"class":4381},[3765,9230,4385],{"class":3775},[3765,9232,4388],{"class":3790},[3765,9234,5103],{"class":3771},[3765,9236,3776],{"class":3797},[3765,9238,3747],{"class":3771},[3765,9240,3803],{"class":3790},[3765,9242,4408],{"class":4375},[3765,9244,4388],{"class":3790},[3765,9246,8889],{"class":3771},[3765,9248,3776],{"class":3797},[3765,9250,3747],{"class":3771},[3765,9252,3803],{"class":3790},[3765,9254,4414],{"class":4375},[3765,9256,7168],{"class":3845},[3765,9258,4419],{"class":4375},[3765,9260,9261,9263,9265,9267,9269,9271,9273,9275,9278,9280,9282,9284,9286,9288,9291,9293,9295,9297],{"class":3767,"line":7769},[3765,9262,5117],{"class":4375},[3765,9264,7168],{"class":3845},[3765,9266,5096],{"class":4381},[3765,9268,4385],{"class":3775},[3765,9270,4388],{"class":3790},[3765,9272,5103],{"class":3771},[3765,9274,3776],{"class":3797},[3765,9276,9277],{"class":3771},"desc",[3765,9279,3803],{"class":3790},[3765,9281,4408],{"class":4375},[3765,9283,4388],{"class":3790},[3765,9285,8889],{"class":3771},[3765,9287,3776],{"class":3797},[3765,9289,9290],{"class":3771},"description",[3765,9292,3803],{"class":3790},[3765,9294,4414],{"class":4375},[3765,9296,7168],{"class":3845},[3765,9298,4419],{"class":4375},[3765,9300,9301,9303,9305,9307,9309,9311,9313,9315,9317,9319,9321,9324,9326,9328],{"class":3767,"line":7810},[3765,9302,5117],{"class":4375},[3765,9304,7168],{"class":3845},[3765,9306,5096],{"class":4381},[3765,9308,4385],{"class":3775},[3765,9310,4388],{"class":3790},[3765,9312,5103],{"class":3771},[3765,9314,3776],{"class":3797},[3765,9316,7786],{"class":3771},[3765,9318,3803],{"class":3790},[3765,9320,4408],{"class":4375},[3765,9322,9323],{"class":3775},"Deep link цього екрана:",[3765,9325,4414],{"class":4375},[3765,9327,7168],{"class":3845},[3765,9329,4419],{"class":4375},[3765,9331,9332,9334,9336,9338,9340,9342,9344,9346,9349,9351,9353,9355,9358,9360,9362,9364],{"class":3767,"line":7820},[3765,9333,5117],{"class":4375},[3765,9335,7168],{"class":3845},[3765,9337,5096],{"class":4381},[3765,9339,4385],{"class":3775},[3765,9341,4388],{"class":3790},[3765,9343,5103],{"class":3771},[3765,9345,3776],{"class":3797},[3765,9347,9348],{"class":3771},"link",[3765,9350,3803],{"class":3790},[3765,9352,4408],{"class":4375},[3765,9354,4388],{"class":3790},[3765,9356,9357],{"class":3771},"deepLink",[3765,9359,3803],{"class":3790},[3765,9361,4414],{"class":4375},[3765,9363,7168],{"class":3845},[3765,9365,4419],{"class":4375},[3765,9367,9368,9370],{"class":3767,"line":7830},[3765,9369,5117],{"class":4375},[3765,9371,7835],{"class":3845},[3765,9373,9374,9376,9378,9380,9382,9384,9386],{"class":3767,"line":7838},[3765,9375,7972],{"class":4381},[3765,9377,4385],{"class":3775},[3765,9379,4388],{"class":3790},[3765,9381,5103],{"class":3771},[3765,9383,3776],{"class":3797},[3765,9385,9038],{"class":3771},[3765,9387,4598],{"class":3790},[3765,9389,9390,9392,9394,9396,9398,9400,9403,9405,9408,9410,9413,9415,9418,9420,9422,9424,9426,9428,9430,9432],{"class":3767,"line":7857},[3765,9391,7991],{"class":4381},[3765,9393,4385],{"class":3775},[3765,9395,4388],{"class":3790},[3765,9397,5219],{"class":3797},[3765,9399,5222],{"class":3790},[3765,9401,9402],{"class":3771}," Alert",[3765,9404,3776],{"class":3797},[3765,9406,9407],{"class":3779},"alert",[3765,9409,3783],{"class":3797},[3765,9411,9412],{"class":3786},"'Купон'",[3765,9414,4032],{"class":3797},[3765,9416,9417],{"class":3786},"`Умовно застосовано ",[3765,9419,3791],{"class":3790},[3765,9421,8889],{"class":3771},[3765,9423,3776],{"class":3797},[3765,9425,3747],{"class":3771},[3765,9427,3803],{"class":3790},[3765,9429,3806],{"class":3786},[3765,9431,4679],{"class":3797},[3765,9433,4598],{"class":3790},[3765,9435,9436],{"class":3767,"line":7885},[3765,9437,7037],{"class":4375},[3765,9439,9440,9442,9444,9446,9448,9450,9452,9454,9456,9458,9460,9463,9465,9467],{"class":3767,"line":7891},[3765,9441,7042],{"class":4375},[3765,9443,7168],{"class":3845},[3765,9445,5096],{"class":4381},[3765,9447,4385],{"class":3775},[3765,9449,4388],{"class":3790},[3765,9451,5103],{"class":3771},[3765,9453,3776],{"class":3797},[3765,9455,9081],{"class":3771},[3765,9457,3803],{"class":3790},[3765,9459,4408],{"class":4375},[3765,9461,9462],{"class":3775},"Застосувати",[3765,9464,4414],{"class":4375},[3765,9466,7168],{"class":3845},[3765,9468,4419],{"class":4375},[3765,9470,9471,9473,9475],{"class":3767,"line":7924},[3765,9472,5190],{"class":4375},[3765,9474,7158],{"class":3845},[3765,9476,4419],{"class":4375},[3765,9478,9479,9481,9483],{"class":3767,"line":7933},[3765,9480,5243],{"class":4375},[3765,9482,5093],{"class":3845},[3765,9484,4419],{"class":4375},[3765,9486,9487],{"class":3767,"line":7943},[3765,9488,5252],{"class":3775},[3765,9490,9491],{"class":3767,"line":7951},[3765,9492,4598],{"class":3775},[3765,9494,9495],{"class":3767,"line":7957},[3765,9496,4363],{"emptyLinePlaceholder":4362},[3765,9498,9499,9501,9503,9505,9507,9509,9511],{"class":3767,"line":7962},[3765,9500,3822],{"class":3790},[3765,9502,8093],{"class":3828},[3765,9504,4908],{"class":3775},[3765,9506,7163],{"class":3771},[3765,9508,3776],{"class":3775},[3765,9510,8102],{"class":3779},[3765,9512,4468],{"class":3775},[3765,9514,9515,9518,9520,9522,9524,9526,9528,9530,9532,9534,9536,9538,9541,9543],{"class":3767,"line":7969},[3765,9516,9517],{"class":3771},"  body:",[3765,9519,3825],{"class":3775},[3765,9521,8115],{"class":3771},[3765,9523,8118],{"class":4931},[3765,9525,4032],{"class":3775},[3765,9527,8277],{"class":3771},[3765,9529,8287],{"class":4931},[3765,9531,4032],{"class":3775},[3765,9533,6974],{"class":3771},[3765,9535,6977],{"class":3786},[3765,9537,4032],{"class":3775},[3765,9539,9540],{"class":3771},"gap:",[3765,9542,7591],{"class":4931},[3765,9544,4589],{"class":3775},[3765,9546,9547,9550],{"class":3767,"line":7988},[3765,9548,9549],{"class":3771},"  center:",[3765,9551,4487],{"class":3775},[3765,9553,9554,9557,9559],{"class":3767,"line":8017},[3765,9555,9556],{"class":3771},"    flex:",[3765,9558,8118],{"class":4931},[3765,9560,4479],{"class":3775},[3765,9562,9563,9565,9567],{"class":3767,"line":8022},[3765,9564,8345],{"class":3771},[3765,9566,8287],{"class":4931},[3765,9568,4479],{"class":3775},[3765,9570,9571,9574,9576],{"class":3767,"line":8055},[3765,9572,9573],{"class":3771},"    justifyContent:",[3765,9575,8513],{"class":3786},[3765,9577,4479],{"class":3775},[3765,9579,9580,9582,9584],{"class":3767,"line":8064},[3765,9581,8510],{"class":3771},[3765,9583,8513],{"class":3786},[3765,9585,4479],{"class":3775},[3765,9587,9588,9590,9592],{"class":3767,"line":8073},[3765,9589,8303],{"class":3771},[3765,9591,6977],{"class":3786},[3765,9593,4479],{"class":3775},[3765,9595,9596,9598,9600],{"class":3767,"line":8078},[3765,9597,8356],{"class":3771},[3765,9599,8154],{"class":4931},[3765,9601,4479],{"class":3775},[3765,9603,9604],{"class":3767,"line":8083},[3765,9605,4521],{"class":3775},[3765,9607,9608,9611,9613,9615,9618,9620,9622,9624,9626,9628,9630],{"class":3767,"line":8088},[3765,9609,9610],{"class":3771},"  title:",[3765,9612,3825],{"class":3775},[3765,9614,8376],{"class":3771},[3765,9616,9617],{"class":4931}," 22",[3765,9619,4032],{"class":3775},[3765,9621,7007],{"class":3771},[3765,9623,8414],{"class":3786},[3765,9625,4032],{"class":3775},[3765,9627,6999],{"class":3771},[3765,9629,7002],{"class":3786},[3765,9631,4589],{"class":3775},[3765,9633,9634,9637,9639,9641,9644,9646,9648,9650,9652,9654,9657],{"class":3767,"line":8107},[3765,9635,9636],{"class":3771},"  discount:",[3765,9638,3825],{"class":3775},[3765,9640,8376],{"class":3771},[3765,9642,9643],{"class":4931}," 36",[3765,9645,4032],{"class":3775},[3765,9647,7007],{"class":3771},[3765,9649,8414],{"class":3786},[3765,9651,4032],{"class":3775},[3765,9653,6999],{"class":3771},[3765,9655,9656],{"class":3786}," '#16A34A'",[3765,9658,4589],{"class":3775},[3765,9660,9661,9663],{"class":3767,"line":8129},[3765,9662,8400],{"class":3771},[3765,9664,4487],{"class":3775},[3765,9666,9667,9669,9672],{"class":3767,"line":8137},[3765,9668,8173],{"class":3771},[3765,9670,9671],{"class":4931}," 28",[3765,9673,4479],{"class":3775},[3765,9675,9676,9678,9680],{"class":3767,"line":8148},[3765,9677,8257],{"class":3771},[3765,9679,8414],{"class":3786},[3765,9681,4479],{"class":3775},[3765,9683,9684,9686,9688],{"class":3767,"line":8159},[3765,9685,8162],{"class":3771},[3765,9687,6987],{"class":3786},[3765,9689,4479],{"class":3775},[3765,9691,9692,9695,9698],{"class":3767,"line":8170},[3765,9693,9694],{"class":3771},"    letterSpacing:",[3765,9696,9697],{"class":4931}," 2",[3765,9699,4479],{"class":3775},[3765,9701,9702],{"class":3767,"line":8181},[3765,9703,4521],{"class":3775},[3765,9705,9706,9709,9711,9713,9715,9717,9720,9722,9724,9726,9729,9731,9734,9736],{"class":3767,"line":8192},[3765,9707,9708],{"class":3771},"  desc:",[3765,9710,3825],{"class":3775},[3765,9712,8376],{"class":3771},[3765,9714,8143],{"class":4931},[3765,9716,4032],{"class":3775},[3765,9718,9719],{"class":3771},"lineHeight:",[3765,9721,8287],{"class":4931},[3765,9723,4032],{"class":3775},[3765,9725,6999],{"class":3771},[3765,9727,9728],{"class":3786}," '#334155'",[3765,9730,4032],{"class":3775},[3765,9732,9733],{"class":3771},"marginTop:",[3765,9735,8154],{"class":4931},[3765,9737,4589],{"class":3775},[3765,9739,9740,9742,9744,9746,9748,9750,9752,9754,9756,9758,9760],{"class":3767,"line":8197},[3765,9741,8435],{"class":3771},[3765,9743,3825],{"class":3775},[3765,9745,6999],{"class":3771},[3765,9747,8165],{"class":3786},[3765,9749,4032],{"class":3775},[3765,9751,8376],{"class":3771},[3765,9753,8176],{"class":4931},[3765,9755,4032],{"class":3775},[3765,9757,9733],{"class":3771},[3765,9759,8143],{"class":4931},[3765,9761,4589],{"class":3775},[3765,9763,9764,9767,9769,9771,9773,9775,9777,9779,9781,9783,9785],{"class":3767,"line":8205},[3765,9765,9766],{"class":3771},"  link:",[3765,9768,3825],{"class":3775},[3765,9770,6999],{"class":3771},[3765,9772,7002],{"class":3786},[3765,9774,4032],{"class":3775},[3765,9776,8376],{"class":3771},[3765,9778,8249],{"class":4931},[3765,9780,4032],{"class":3775},[3765,9782,7007],{"class":3771},[3765,9784,7010],{"class":3786},[3765,9786,4589],{"class":3775},[3765,9788,9789,9792],{"class":3767,"line":8214},[3765,9790,9791],{"class":3771},"  btn:",[3765,9793,4487],{"class":3775},[3765,9795,9796,9798,9800],{"class":3767,"line":8225},[3765,9797,8217],{"class":3771},[3765,9799,8287],{"class":4931},[3765,9801,4479],{"class":3775},[3765,9803,9804,9806,9808],{"class":3767,"line":8235},[3765,9805,8303],{"class":3771},[3765,9807,6987],{"class":3786},[3765,9809,4479],{"class":3775},[3765,9811,9812,9814,9816],{"class":3767,"line":8244},[3765,9813,8473],{"class":3771},[3765,9815,8348],{"class":4931},[3765,9817,4479],{"class":3775},[3765,9819,9820,9822,9824],{"class":3767,"line":8254},[3765,9821,8314],{"class":3771},[3765,9823,8249],{"class":4931},[3765,9825,4479],{"class":3775},[3765,9827,9828,9830,9832],{"class":3767,"line":8264},[3765,9829,8510],{"class":3771},[3765,9831,8513],{"class":3786},[3765,9833,4479],{"class":3775},[3765,9835,9836,9839,9842],{"class":3767,"line":8269},[3765,9837,9838],{"class":3771},"    alignSelf:",[3765,9840,9841],{"class":3786}," 'stretch'",[3765,9843,4479],{"class":3775},[3765,9845,9846],{"class":3767,"line":8292},[3765,9847,4521],{"class":3775},[3765,9849,9850,9853,9855,9857,9859,9861,9863,9865],{"class":3767,"line":8300},[3765,9851,9852],{"class":3771},"  btnText:",[3765,9854,3825],{"class":3775},[3765,9856,6999],{"class":3771},[3765,9858,8306],{"class":3786},[3765,9860,4032],{"class":3775},[3765,9862,7007],{"class":3771},[3765,9864,8414],{"class":3786},[3765,9866,4589],{"class":3775},[3765,9868,9869],{"class":3767,"line":8311},[3765,9870,4527],{"class":3775},[3878,9872,9874],{"id":9873},"крок-6-перевірка","Крок 6. Перевірка",[5033,9876,9877,9880,9883,9886],{},[3886,9878,9879],{},"Список купонів → тап → екран коду.",[3886,9881,9882],{},"«Відкрити deep link» → той самий екран через linking.",[3886,9884,9885],{},"Неіснуючий код → «не знайдено».",[3886,9887,9888,9889,9892,9895,9897,9898,3776],{},"На білді з scheme:",[9890,9891],"br",{},[3747,9893,9894],{},"xcrun simctl openurl booted \"couponapp:\u002F\u002Fcoupon\u002FSUMMER25\"",[9890,9896],{},"\nабо adb з ",[3747,9899,6287],{},[3878,9901,9903],{"id":9902},"критерій-готово","Критерій «готово»",[3883,9905,9908,9918,9924,9933,9943],{"className":9906},[9907],"contains-task-list",[3886,9909,9912,6078,9916],{"className":9910},[9911],"task-list-item",[9913,9914],"input",{"disabled":4362,"type":9915},"checkbox",[3747,9917,7485],{},[3886,9919,9921,9923],{"className":9920},[9911],[9913,9922],{"disabled":4362,"type":9915}," Повні файли з collapsible",[3886,9925,9927,9929,9930,9932],{"className":9926},[9911],[9913,9928],{"disabled":4362,"type":9915}," Path param ",[3747,9931,3747],{}," + нормалізація регістру",[3886,9934,9936,6078,9938,9940,9941],{"className":9935},[9911],[9913,9937],{"disabled":4362,"type":9915},[3747,9939,5690],{}," + ",[3747,9942,7357],{},[3886,9944,9946,9948],{"className":9945},[9911],[9913,9947],{"disabled":4362,"type":9915}," Missing coupon UI",[3995,9950],{},[3738,9952,9954],{"id":9953},"nomad-typed-routes-і-deep-link-на-поїздку","Nomad: typed routes і deep link на поїздку",[3878,9956,9958],{"id":9957},"навіщо-користувачу","Навіщо користувачу",[3743,9960,9961,9962,9965,9966,9969],{},"Поділитись ",[3866,9963,9964],{},"посиланням на конкретну поїздку"," (у навчанні — показати URL і відкрити його). Зовнішній світ передає лише id; екран деталей і ",[3747,9967,9968],{},"getTrip"," уже вміють решту.",[3878,9971,9973],{"id":9972},"нитка","Нитка",[3743,9975,9976,6078,9979,4032,9982,4032,9985,4032,9987,9989],{},[3866,9977,9978],{},"Уже є:",[3747,9980,9981],{},"scheme: \"nomad\"",[3747,9983,9984],{},"typedRoutes: true",[3747,9986,4634],{},[3747,9988,3834],{},", nested stack, modal create-trip.",[3743,9991,9992],{},[3866,9993,9994],{},"Додаємо:",[3883,9996,9997,10003],{},[3886,9998,9999,10000,10002],{},"на екрані деталей — рядок ",[3747,10001,6241],{}," і кнопка «Відкрити це посилання»;",[3886,10004,10005,10006,3776],{},"на вкладці «Ще» — підказка scheme + приклад createURL для ",[3747,10007,10008],{},"\u002Ftrips\u002F1",[3878,10010,10012],{"id":10011},"повний-знімок-проєкту","Повний знімок проєкту",[10014,10015,10017,10402,10709,10809,11344,11944,12250,15422,18114,19143,21077,21389,21651,21965,22539,23130,23826,24654,25226,25335,29717,31898,32747,34351,35083,35449,35830,36723,36863,37457,38180,38478,39402],"code-tree",{"title":10016},"Nomad після deep link UI",[3756,10018,10020],{"className":5351,"code":10019,"filename":6418,"language":5353,"meta":3761,"style":3761},"{\n  \"name\": \"nomad\",\n  \"version\": \"1.0.0\",\n  \"main\": \"expo-router\u002Fentry\",\n  \"scripts\": {\n    \"start\": \"expo start\",\n    \"android\": \"expo start --android\",\n    \"ios\": \"expo start --ios\",\n    \"web\": \"expo start --web\"\n  },\n  \"dependencies\": {\n    \"@expo\u002Fvector-icons\": \"^15.1.1\",\n    \"@hookform\u002Fresolvers\": \"^5.7.1\",\n    \"@react-native-community\u002Fcheckbox\": \"^0.6.0\",\n    \"@react-native-community\u002Fdatetimepicker\": \"8.4.4\",\n    \"@react-native-community\u002Fslider\": \"5.0.1\",\n    \"@react-native-picker\u002Fpicker\": \"2.11.1\",\n    \"@shopify\u002Fflash-list\": \"^2.3.2\",\n    \"expo\": \"~54.0.35\",\n    \"expo-constants\": \"~18.0.13\",\n    \"expo-linking\": \"~8.0.12\",\n    \"expo-router\": \"~6.0.24\",\n    \"expo-status-bar\": \"~3.0.9\",\n    \"react\": \"19.1.0\",\n    \"react-hook-form\": \"^7.84.0\",\n    \"react-native\": \"0.81.5\",\n    \"react-native-safe-area-context\": \"~5.6.0\",\n    \"react-native-screens\": \"~4.16.0\",\n    \"zod\": \"^4.4.3\"\n  },\n  \"devDependencies\": {\n    \"@expo\u002Fngrok\": \"^4.1.3\",\n    \"@types\u002Freact\": \"~19.1.0\",\n    \"typescript\": \"~5.9.2\"\n  },\n  \"private\": true\n}\n",[3747,10021,10022,10026,10037,10049,10061,10068,10080,10092,10104,10114,10118,10125,10137,10149,10161,10173,10185,10197,10209,10221,10233,10245,10257,10269,10281,10293,10305,10317,10329,10339,10343,10350,10362,10374,10384,10388,10398],{"__ignoreMap":3761},[3765,10023,10024],{"class":3767,"line":3768},[3765,10025,4559],{"class":3775},[3765,10027,10028,10031,10033,10035],{"class":3767,"line":4332},[3765,10029,10030],{"class":5364},"  \"name\"",[3765,10032,3842],{"class":3775},[3765,10034,5390],{"class":3786},[3765,10036,4479],{"class":3775},[3765,10038,10039,10042,10044,10047],{"class":3767,"line":4359},[3765,10040,10041],{"class":5364},"  \"version\"",[3765,10043,3842],{"class":3775},[3765,10045,10046],{"class":3786},"\"1.0.0\"",[3765,10048,4479],{"class":3775},[3765,10050,10051,10054,10056,10059],{"class":3767,"line":4366},[3765,10052,10053],{"class":5364},"  \"main\"",[3765,10055,3842],{"class":3775},[3765,10057,10058],{"class":3786},"\"expo-router\u002Fentry\"",[3765,10060,4479],{"class":3775},[3765,10062,10063,10066],{"class":3767,"line":4372},[3765,10064,10065],{"class":5364},"  \"scripts\"",[3765,10067,5368],{"class":3775},[3765,10069,10070,10073,10075,10078],{"class":3767,"line":4504},[3765,10071,10072],{"class":5364},"    \"start\"",[3765,10074,3842],{"class":3775},[3765,10076,10077],{"class":3786},"\"expo start\"",[3765,10079,4479],{"class":3775},[3765,10081,10082,10085,10087,10090],{"class":3767,"line":4518},[3765,10083,10084],{"class":5364},"    \"android\"",[3765,10086,3842],{"class":3775},[3765,10088,10089],{"class":3786},"\"expo start --android\"",[3765,10091,4479],{"class":3775},[3765,10093,10094,10097,10099,10102],{"class":3767,"line":4524},[3765,10095,10096],{"class":5364},"    \"ios\"",[3765,10098,3842],{"class":3775},[3765,10100,10101],{"class":3786},"\"expo start --ios\"",[3765,10103,4479],{"class":3775},[3765,10105,10106,10109,10111],{"class":3767,"line":4530},[3765,10107,10108],{"class":5364},"    \"web\"",[3765,10110,3842],{"class":3775},[3765,10112,10113],{"class":3786},"\"expo start --web\"\n",[3765,10115,10116],{"class":3767,"line":4535},[3765,10117,4521],{"class":3775},[3765,10119,10120,10123],{"class":3767,"line":4541},[3765,10121,10122],{"class":5364},"  \"dependencies\"",[3765,10124,5368],{"class":3775},[3765,10126,10127,10130,10132,10135],{"class":3767,"line":4549},[3765,10128,10129],{"class":5364},"    \"@expo\u002Fvector-icons\"",[3765,10131,3842],{"class":3775},[3765,10133,10134],{"class":3786},"\"^15.1.1\"",[3765,10136,4479],{"class":3775},[3765,10138,10139,10142,10144,10147],{"class":3767,"line":4562},[3765,10140,10141],{"class":5364},"    \"@hookform\u002Fresolvers\"",[3765,10143,3842],{"class":3775},[3765,10145,10146],{"class":3786},"\"^5.7.1\"",[3765,10148,4479],{"class":3775},[3765,10150,10151,10154,10156,10159],{"class":3767,"line":4572},[3765,10152,10153],{"class":5364},"    \"@react-native-community\u002Fcheckbox\"",[3765,10155,3842],{"class":3775},[3765,10157,10158],{"class":3786},"\"^0.6.0\"",[3765,10160,4479],{"class":3775},[3765,10162,10163,10166,10168,10171],{"class":3767,"line":4592},[3765,10164,10165],{"class":5364},"    \"@react-native-community\u002Fdatetimepicker\"",[3765,10167,3842],{"class":3775},[3765,10169,10170],{"class":3786},"\"8.4.4\"",[3765,10172,4479],{"class":3775},[3765,10174,10175,10178,10180,10183],{"class":3767,"line":4601},[3765,10176,10177],{"class":5364},"    \"@react-native-community\u002Fslider\"",[3765,10179,3842],{"class":3775},[3765,10181,10182],{"class":3786},"\"5.0.1\"",[3765,10184,4479],{"class":3775},[3765,10186,10187,10190,10192,10195],{"class":3767,"line":4606},[3765,10188,10189],{"class":5364},"    \"@react-native-picker\u002Fpicker\"",[3765,10191,3842],{"class":3775},[3765,10193,10194],{"class":3786},"\"2.11.1\"",[3765,10196,4479],{"class":3775},[3765,10198,10199,10202,10204,10207],{"class":3767,"line":4612},[3765,10200,10201],{"class":5364},"    \"@shopify\u002Fflash-list\"",[3765,10203,3842],{"class":3775},[3765,10205,10206],{"class":3786},"\"^2.3.2\"",[3765,10208,4479],{"class":3775},[3765,10210,10211,10214,10216,10219],{"class":3767,"line":6683},[3765,10212,10213],{"class":5364},"    \"expo\"",[3765,10215,3842],{"class":3775},[3765,10217,10218],{"class":3786},"\"~54.0.35\"",[3765,10220,4479],{"class":3775},[3765,10222,10223,10226,10228,10231],{"class":3767,"line":6693},[3765,10224,10225],{"class":5364},"    \"expo-constants\"",[3765,10227,3842],{"class":3775},[3765,10229,10230],{"class":3786},"\"~18.0.13\"",[3765,10232,4479],{"class":3775},[3765,10234,10235,10238,10240,10243],{"class":3767,"line":6698},[3765,10236,10237],{"class":5364},"    \"expo-linking\"",[3765,10239,3842],{"class":3775},[3765,10241,10242],{"class":3786},"\"~8.0.12\"",[3765,10244,4479],{"class":3775},[3765,10246,10247,10250,10252,10255],{"class":3767,"line":6703},[3765,10248,10249],{"class":5364},"    \"expo-router\"",[3765,10251,3842],{"class":3775},[3765,10253,10254],{"class":3786},"\"~6.0.24\"",[3765,10256,4479],{"class":3775},[3765,10258,10259,10262,10264,10267],{"class":3767,"line":6713},[3765,10260,10261],{"class":5364},"    \"expo-status-bar\"",[3765,10263,3842],{"class":3775},[3765,10265,10266],{"class":3786},"\"~3.0.9\"",[3765,10268,4479],{"class":3775},[3765,10270,10271,10274,10276,10279],{"class":3767,"line":6723},[3765,10272,10273],{"class":5364},"    \"react\"",[3765,10275,3842],{"class":3775},[3765,10277,10278],{"class":3786},"\"19.1.0\"",[3765,10280,4479],{"class":3775},[3765,10282,10283,10286,10288,10291],{"class":3767,"line":6733},[3765,10284,10285],{"class":5364},"    \"react-hook-form\"",[3765,10287,3842],{"class":3775},[3765,10289,10290],{"class":3786},"\"^7.84.0\"",[3765,10292,4479],{"class":3775},[3765,10294,10295,10298,10300,10303],{"class":3767,"line":6743},[3765,10296,10297],{"class":5364},"    \"react-native\"",[3765,10299,3842],{"class":3775},[3765,10301,10302],{"class":3786},"\"0.81.5\"",[3765,10304,4479],{"class":3775},[3765,10306,10307,10310,10312,10315],{"class":3767,"line":6748},[3765,10308,10309],{"class":5364},"    \"react-native-safe-area-context\"",[3765,10311,3842],{"class":3775},[3765,10313,10314],{"class":3786},"\"~5.6.0\"",[3765,10316,4479],{"class":3775},[3765,10318,10319,10322,10324,10327],{"class":3767,"line":6754},[3765,10320,10321],{"class":5364},"    \"react-native-screens\"",[3765,10323,3842],{"class":3775},[3765,10325,10326],{"class":3786},"\"~4.16.0\"",[3765,10328,4479],{"class":3775},[3765,10330,10331,10334,10336],{"class":3767,"line":6759},[3765,10332,10333],{"class":5364},"    \"zod\"",[3765,10335,3842],{"class":3775},[3765,10337,10338],{"class":3786},"\"^4.4.3\"\n",[3765,10340,10341],{"class":3767,"line":6788},[3765,10342,4521],{"class":3775},[3765,10344,10345,10348],{"class":3767,"line":6814},[3765,10346,10347],{"class":5364},"  \"devDependencies\"",[3765,10349,5368],{"class":3775},[3765,10351,10352,10355,10357,10360],{"class":3767,"line":6852},[3765,10353,10354],{"class":5364},"    \"@expo\u002Fngrok\"",[3765,10356,3842],{"class":3775},[3765,10358,10359],{"class":3786},"\"^4.1.3\"",[3765,10361,4479],{"class":3775},[3765,10363,10364,10367,10369,10372],{"class":3767,"line":7689},[3765,10365,10366],{"class":5364},"    \"@types\u002Freact\"",[3765,10368,3842],{"class":3775},[3765,10370,10371],{"class":3786},"\"~19.1.0\"",[3765,10373,4479],{"class":3775},[3765,10375,10376,10379,10381],{"class":3767,"line":7730},[3765,10377,10378],{"class":5364},"    \"typescript\"",[3765,10380,3842],{"class":3775},[3765,10382,10383],{"class":3786},"\"~5.9.2\"\n",[3765,10385,10386],{"class":3767,"line":7769},[3765,10387,4521],{"class":3775},[3765,10389,10390,10393,10395],{"class":3767,"line":7810},[3765,10391,10392],{"class":5364},"  \"private\"",[3765,10394,3842],{"class":3775},[3765,10396,10397],{"class":3790},"true\n",[3765,10399,10400],{"class":3767,"line":7820},[3765,10401,4598],{"class":3775},[3756,10403,10405],{"className":5351,"code":10404,"filename":3942,"language":5353,"meta":3761,"style":3761},"{\n  \"expo\": {\n    \"name\": \"Nomad\",\n    \"slug\": \"nomad\",\n    \"version\": \"1.0.0\",\n    \"orientation\": \"portrait\",\n    \"icon\": \".\u002Fassets\u002Ficon.png\",\n    \"userInterfaceStyle\": \"light\",\n    \"scheme\": \"nomad\",\n    \"newArchEnabled\": true,\n    \"splash\": {\n      \"image\": \".\u002Fassets\u002Fsplash-icon.png\",\n      \"resizeMode\": \"contain\",\n      \"backgroundColor\": \"#ffffff\"\n    },\n    \"ios\": {\n      \"supportsTablet\": true\n    },\n    \"android\": {\n      \"adaptiveIcon\": {\n        \"foregroundImage\": \".\u002Fassets\u002Fadaptive-icon.png\",\n        \"backgroundColor\": \"#ffffff\"\n      },\n      \"edgeToEdgeEnabled\": true,\n      \"predictiveBackGestureEnabled\": false\n    },\n    \"web\": {\n      \"favicon\": \".\u002Fassets\u002Ffavicon.png\"\n    },\n    \"plugins\": [\n      \"expo-router\",\n      \"@react-native-community\u002Fdatetimepicker\"\n    ],\n    \"experiments\": {\n      \"typedRoutes\": true\n    }\n  }\n}\n",[3747,10406,10407,10411,10417,10427,10437,10448,10460,10472,10484,10494,10506,10513,10525,10537,10547,10552,10558,10567,10571,10577,10584,10596,10605,10610,10621,10631,10635,10641,10651,10655,10663,10670,10675,10680,10687,10696,10701,10705],{"__ignoreMap":3761},[3765,10408,10409],{"class":3767,"line":3768},[3765,10410,4559],{"class":3775},[3765,10412,10413,10415],{"class":3767,"line":4332},[3765,10414,5365],{"class":5364},[3765,10416,5368],{"class":3775},[3765,10418,10419,10421,10423,10425],{"class":3767,"line":4359},[3765,10420,5373],{"class":5364},[3765,10422,3842],{"class":3775},[3765,10424,5378],{"class":3786},[3765,10426,4479],{"class":3775},[3765,10428,10429,10431,10433,10435],{"class":3767,"line":4366},[3765,10430,5385],{"class":5364},[3765,10432,3842],{"class":3775},[3765,10434,5390],{"class":3786},[3765,10436,4479],{"class":3775},[3765,10438,10439,10442,10444,10446],{"class":3767,"line":4372},[3765,10440,10441],{"class":5364},"    \"version\"",[3765,10443,3842],{"class":3775},[3765,10445,10046],{"class":3786},[3765,10447,4479],{"class":3775},[3765,10449,10450,10453,10455,10458],{"class":3767,"line":4504},[3765,10451,10452],{"class":5364},"    \"orientation\"",[3765,10454,3842],{"class":3775},[3765,10456,10457],{"class":3786},"\"portrait\"",[3765,10459,4479],{"class":3775},[3765,10461,10462,10465,10467,10470],{"class":3767,"line":4518},[3765,10463,10464],{"class":5364},"    \"icon\"",[3765,10466,3842],{"class":3775},[3765,10468,10469],{"class":3786},"\".\u002Fassets\u002Ficon.png\"",[3765,10471,4479],{"class":3775},[3765,10473,10474,10477,10479,10482],{"class":3767,"line":4524},[3765,10475,10476],{"class":5364},"    \"userInterfaceStyle\"",[3765,10478,3842],{"class":3775},[3765,10480,10481],{"class":3786},"\"light\"",[3765,10483,4479],{"class":3775},[3765,10485,10486,10488,10490,10492],{"class":3767,"line":4530},[3765,10487,5397],{"class":5364},[3765,10489,3842],{"class":3775},[3765,10491,5390],{"class":3786},[3765,10493,4479],{"class":3775},[3765,10495,10496,10499,10501,10504],{"class":3767,"line":4535},[3765,10497,10498],{"class":5364},"    \"newArchEnabled\"",[3765,10500,3842],{"class":3775},[3765,10502,10503],{"class":3790},"true",[3765,10505,4479],{"class":3775},[3765,10507,10508,10511],{"class":3767,"line":4541},[3765,10509,10510],{"class":5364},"    \"splash\"",[3765,10512,5368],{"class":3775},[3765,10514,10515,10518,10520,10523],{"class":3767,"line":4549},[3765,10516,10517],{"class":5364},"      \"image\"",[3765,10519,3842],{"class":3775},[3765,10521,10522],{"class":3786},"\".\u002Fassets\u002Fsplash-icon.png\"",[3765,10524,4479],{"class":3775},[3765,10526,10527,10530,10532,10535],{"class":3767,"line":4562},[3765,10528,10529],{"class":5364},"      \"resizeMode\"",[3765,10531,3842],{"class":3775},[3765,10533,10534],{"class":3786},"\"contain\"",[3765,10536,4479],{"class":3775},[3765,10538,10539,10542,10544],{"class":3767,"line":4572},[3765,10540,10541],{"class":5364},"      \"backgroundColor\"",[3765,10543,3842],{"class":3775},[3765,10545,10546],{"class":3786},"\"#ffffff\"\n",[3765,10548,10549],{"class":3767,"line":4592},[3765,10550,10551],{"class":3775},"    },\n",[3765,10553,10554,10556],{"class":3767,"line":4601},[3765,10555,10096],{"class":5364},[3765,10557,5368],{"class":3775},[3765,10559,10560,10563,10565],{"class":3767,"line":4606},[3765,10561,10562],{"class":5364},"      \"supportsTablet\"",[3765,10564,3842],{"class":3775},[3765,10566,10397],{"class":3790},[3765,10568,10569],{"class":3767,"line":4612},[3765,10570,10551],{"class":3775},[3765,10572,10573,10575],{"class":3767,"line":6683},[3765,10574,10084],{"class":5364},[3765,10576,5368],{"class":3775},[3765,10578,10579,10582],{"class":3767,"line":6693},[3765,10580,10581],{"class":5364},"      \"adaptiveIcon\"",[3765,10583,5368],{"class":3775},[3765,10585,10586,10589,10591,10594],{"class":3767,"line":6698},[3765,10587,10588],{"class":5364},"        \"foregroundImage\"",[3765,10590,3842],{"class":3775},[3765,10592,10593],{"class":3786},"\".\u002Fassets\u002Fadaptive-icon.png\"",[3765,10595,4479],{"class":3775},[3765,10597,10598,10601,10603],{"class":3767,"line":6703},[3765,10599,10600],{"class":5364},"        \"backgroundColor\"",[3765,10602,3842],{"class":3775},[3765,10604,10546],{"class":3786},[3765,10606,10607],{"class":3767,"line":6713},[3765,10608,10609],{"class":3775},"      },\n",[3765,10611,10612,10615,10617,10619],{"class":3767,"line":6723},[3765,10613,10614],{"class":5364},"      \"edgeToEdgeEnabled\"",[3765,10616,3842],{"class":3775},[3765,10618,10503],{"class":3790},[3765,10620,4479],{"class":3775},[3765,10622,10623,10626,10628],{"class":3767,"line":6733},[3765,10624,10625],{"class":5364},"      \"predictiveBackGestureEnabled\"",[3765,10627,3842],{"class":3775},[3765,10629,10630],{"class":3790},"false\n",[3765,10632,10633],{"class":3767,"line":6743},[3765,10634,10551],{"class":3775},[3765,10636,10637,10639],{"class":3767,"line":6748},[3765,10638,10108],{"class":5364},[3765,10640,5368],{"class":3775},[3765,10642,10643,10646,10648],{"class":3767,"line":6754},[3765,10644,10645],{"class":5364},"      \"favicon\"",[3765,10647,3842],{"class":3775},[3765,10649,10650],{"class":3786},"\".\u002Fassets\u002Ffavicon.png\"\n",[3765,10652,10653],{"class":3767,"line":6759},[3765,10654,10551],{"class":3775},[3765,10656,10657,10660],{"class":3767,"line":6788},[3765,10658,10659],{"class":5364},"    \"plugins\"",[3765,10661,10662],{"class":3775},": [\n",[3765,10664,10665,10668],{"class":3767,"line":6814},[3765,10666,10667],{"class":3786},"      \"expo-router\"",[3765,10669,4479],{"class":3775},[3765,10671,10672],{"class":3767,"line":6852},[3765,10673,10674],{"class":3786},"      \"@react-native-community\u002Fdatetimepicker\"\n",[3765,10676,10677],{"class":3767,"line":7689},[3765,10678,10679],{"class":3775},"    ],\n",[3765,10681,10682,10685],{"class":3767,"line":7730},[3765,10683,10684],{"class":5364},"    \"experiments\"",[3765,10686,5368],{"class":3775},[3765,10688,10689,10692,10694],{"class":3767,"line":7769},[3765,10690,10691],{"class":5364},"      \"typedRoutes\"",[3765,10693,3842],{"class":3775},[3765,10695,10397],{"class":3790},[3765,10697,10698],{"class":3767,"line":7810},[3765,10699,10700],{"class":3775},"    }\n",[3765,10702,10703],{"class":3767,"line":7820},[3765,10704,4990],{"class":3775},[3765,10706,10707],{"class":3767,"line":7830},[3765,10708,4598],{"class":3775},[3756,10710,10713],{"className":5351,"code":10711,"filename":10712,"language":5353,"meta":3761,"style":3761},"{\n  \"extends\": \"expo\u002Ftsconfig.base\",\n  \"compilerOptions\": {\n    \"strict\": true,\n    \"paths\": {\n      \"@\u002F*\": [\n        \".\u002Fsrc\u002F*\"\n      ]\n    }\n  },\n  \"include\": [\n    \"**\u002F*.ts\",\n    \"**\u002F*.tsx\"\n  ]\n}\n","tsconfig.json",[3747,10714,10715,10719,10731,10738,10749,10756,10763,10768,10773,10777,10781,10788,10795,10800,10805],{"__ignoreMap":3761},[3765,10716,10717],{"class":3767,"line":3768},[3765,10718,4559],{"class":3775},[3765,10720,10721,10724,10726,10729],{"class":3767,"line":4332},[3765,10722,10723],{"class":5364},"  \"extends\"",[3765,10725,3842],{"class":3775},[3765,10727,10728],{"class":3786},"\"expo\u002Ftsconfig.base\"",[3765,10730,4479],{"class":3775},[3765,10732,10733,10736],{"class":3767,"line":4359},[3765,10734,10735],{"class":5364},"  \"compilerOptions\"",[3765,10737,5368],{"class":3775},[3765,10739,10740,10743,10745,10747],{"class":3767,"line":4366},[3765,10741,10742],{"class":5364},"    \"strict\"",[3765,10744,3842],{"class":3775},[3765,10746,10503],{"class":3790},[3765,10748,4479],{"class":3775},[3765,10750,10751,10754],{"class":3767,"line":4372},[3765,10752,10753],{"class":5364},"    \"paths\"",[3765,10755,5368],{"class":3775},[3765,10757,10758,10761],{"class":3767,"line":4504},[3765,10759,10760],{"class":5364},"      \"@\u002F*\"",[3765,10762,10662],{"class":3775},[3765,10764,10765],{"class":3767,"line":4518},[3765,10766,10767],{"class":3786},"        \".\u002Fsrc\u002F*\"\n",[3765,10769,10770],{"class":3767,"line":4524},[3765,10771,10772],{"class":3775},"      ]\n",[3765,10774,10775],{"class":3767,"line":4530},[3765,10776,10700],{"class":3775},[3765,10778,10779],{"class":3767,"line":4535},[3765,10780,4521],{"class":3775},[3765,10782,10783,10786],{"class":3767,"line":4541},[3765,10784,10785],{"class":5364},"  \"include\"",[3765,10787,10662],{"class":3775},[3765,10789,10790,10793],{"class":3767,"line":4549},[3765,10791,10792],{"class":3786},"    \"**\u002F*.ts\"",[3765,10794,4479],{"class":3775},[3765,10796,10797],{"class":3767,"line":4562},[3765,10798,10799],{"class":3786},"    \"**\u002F*.tsx\"\n",[3765,10801,10802],{"class":3767,"line":4572},[3765,10803,10804],{"class":3775},"  ]\n",[3765,10806,10807],{"class":3767,"line":4592},[3765,10808,4598],{"class":3775},[3756,10810,10812],{"className":3758,"code":10811,"filename":6861,"language":3760,"meta":3761,"style":3761},"import { Stack } from 'expo-router';\nimport { StatusBar } from 'expo-status-bar';\n\nimport { TripsProvider } from '@\u002Ffeatures\u002Ftrips';\nimport { ThemeProvider, useTheme } from '@\u002Fshared\u002Ftheme';\n\n\u002F**\n * Кореневий Stack:\n * - (tabs) — вкладки (всередині «Поїздки» ще один Stack)\n * - create-trip — modal поверх усього (вкладки ховаються)\n *\n * initialRouteName: щоб deep link \u002F reload на modal мав куди «спертись».\n *\u002F\nexport const unstable_settings = {\n  initialRouteName: '(tabs)',\n};\n\nfunction RootNavigator() {\n  const { colors, scheme } = useTheme();\n\n  return (\n    \u003C>\n      \u003CStatusBar style={scheme === 'dark' ? 'light' : 'dark'} \u002F>\n      \u003CStack\n        screenOptions={{\n          contentStyle: { backgroundColor: colors.background },\n          headerStyle: { backgroundColor: colors.background },\n          headerTintColor: colors.primary,\n          headerTitleStyle: { color: colors.text, fontWeight: '600' },\n          headerShadowVisible: false,\n        }}\n      >\n        \u003CStack.Screen name=\"(tabs)\" options={{ headerShown: false }} \u002F>\n        \u003CStack.Screen\n          name=\"create-trip\"\n          options={{\n            headerShown: true,\n            title: 'Нова поїздка',\n            presentation: 'modal',\n            headerBackTitle: 'Закрити',\n          }}\n        \u002F>\n      \u003C\u002FStack>\n    \u003C\u002F>\n  );\n}\n\nexport default function RootLayout() {\n  return (\n    \u003CThemeProvider>\n      \u003CTripsProvider>\n        \u003CRootNavigator \u002F>\n      \u003C\u002FTripsProvider>\n    \u003C\u002FThemeProvider>\n  );\n}\n",[3747,10813,10814,10830,10846,10850,10868,10891,10895,10900,10905,10910,10915,10920,10925,10930,10941,10951,10955,10959,10969,10987,10991,10997,11001,11036,11042,11052,11070,11086,11099,11121,11131,11137,11141,11173,11180,11190,11201,11211,11221,11231,11241,11248,11253,11261,11265,11269,11273,11277,11289,11295,11303,11311,11320,11328,11336,11340],{"__ignoreMap":3761},[3765,10815,10816,10818,10820,10822,10824,10826,10828],{"class":3767,"line":3768},[3765,10817,4716],{"class":4715},[3765,10819,3825],{"class":3775},[3765,10821,3749],{"class":3771},[3765,10823,4723],{"class":3775},[3765,10825,4726],{"class":4715},[3765,10827,4729],{"class":3786},[3765,10829,4732],{"class":3775},[3765,10831,10832,10834,10836,10838,10840,10842,10844],{"class":3767,"line":4332},[3765,10833,4716],{"class":4715},[3765,10835,3825],{"class":3775},[3765,10837,6894],{"class":3771},[3765,10839,4723],{"class":3775},[3765,10841,4726],{"class":4715},[3765,10843,6901],{"class":3786},[3765,10845,4732],{"class":3775},[3765,10847,10848],{"class":3767,"line":4359},[3765,10849,4363],{"emptyLinePlaceholder":4362},[3765,10851,10852,10854,10856,10859,10861,10863,10866],{"class":3767,"line":4366},[3765,10853,4716],{"class":4715},[3765,10855,3825],{"class":3775},[3765,10857,10858],{"class":3771},"TripsProvider",[3765,10860,4723],{"class":3775},[3765,10862,4726],{"class":4715},[3765,10864,10865],{"class":3786}," '@\u002Ffeatures\u002Ftrips'",[3765,10867,4732],{"class":3775},[3765,10869,10870,10872,10874,10877,10879,10882,10884,10886,10889],{"class":3767,"line":4372},[3765,10871,4716],{"class":4715},[3765,10873,3825],{"class":3775},[3765,10875,10876],{"class":3771},"ThemeProvider",[3765,10878,4032],{"class":3775},[3765,10880,10881],{"class":3771},"useTheme",[3765,10883,4723],{"class":3775},[3765,10885,4726],{"class":4715},[3765,10887,10888],{"class":3786}," '@\u002Fshared\u002Ftheme'",[3765,10890,4732],{"class":3775},[3765,10892,10893],{"class":3767,"line":4504},[3765,10894,4363],{"emptyLinePlaceholder":4362},[3765,10896,10897],{"class":3767,"line":4518},[3765,10898,10899],{"class":4328},"\u002F**\n",[3765,10901,10902],{"class":3767,"line":4524},[3765,10903,10904],{"class":4328}," * Кореневий Stack:\n",[3765,10906,10907],{"class":3767,"line":4530},[3765,10908,10909],{"class":4328}," * - (tabs) — вкладки (всередині «Поїздки» ще один Stack)\n",[3765,10911,10912],{"class":3767,"line":4535},[3765,10913,10914],{"class":4328}," * - create-trip — modal поверх усього (вкладки ховаються)\n",[3765,10916,10917],{"class":3767,"line":4541},[3765,10918,10919],{"class":4328}," *\n",[3765,10921,10922],{"class":3767,"line":4549},[3765,10923,10924],{"class":4328}," * initialRouteName: щоб deep link \u002F reload на modal мав куди «спертись».\n",[3765,10926,10927],{"class":3767,"line":4562},[3765,10928,10929],{"class":4328}," *\u002F\n",[3765,10931,10932,10934,10936,10939],{"class":3767,"line":4572},[3765,10933,4741],{"class":4715},[3765,10935,6589],{"class":3790},[3765,10937,10938],{"class":3828}," unstable_settings",[3765,10940,6529],{"class":3775},[3765,10942,10943,10946,10949],{"class":3767,"line":4592},[3765,10944,10945],{"class":3771},"  initialRouteName:",[3765,10947,10948],{"class":3786}," '(tabs)'",[3765,10950,4479],{"class":3775},[3765,10952,10953],{"class":3767,"line":4601},[3765,10954,6578],{"class":3775},[3765,10956,10957],{"class":3767,"line":4606},[3765,10958,4363],{"emptyLinePlaceholder":4362},[3765,10960,10961,10964,10967],{"class":3767,"line":4612},[3765,10962,10963],{"class":3790},"function",[3765,10965,10966],{"class":3779}," RootNavigator",[3765,10968,4753],{"class":3775},[3765,10970,10971,10973,10975,10977,10979,10981,10983,10985],{"class":3767,"line":6683},[3765,10972,4758],{"class":3790},[3765,10974,3825],{"class":3775},[3765,10976,5162],{"class":3828},[3765,10978,4032],{"class":3775},[3765,10980,5544],{"class":3828},[3765,10982,3831],{"class":3775},[3765,10984,10881],{"class":3779},[3765,10986,6811],{"class":3775},[3765,10988,10989],{"class":3767,"line":6693},[3765,10990,4363],{"emptyLinePlaceholder":4362},[3765,10992,10993,10995],{"class":3767,"line":6698},[3765,10994,5082],{"class":4715},[3765,10996,5085],{"class":3775},[3765,10998,10999],{"class":3767,"line":6703},[3765,11000,6931],{"class":4375},[3765,11002,11003,11005,11007,11009,11011,11013,11015,11018,11021,11024,11027,11030,11032,11034],{"class":3767,"line":6713},[3765,11004,5117],{"class":4375},[3765,11006,6894],{"class":3845},[3765,11008,5096],{"class":4381},[3765,11010,4385],{"class":3775},[3765,11012,4388],{"class":3790},[3765,11014,5544],{"class":3771},[3765,11016,11017],{"class":3775}," ===",[3765,11019,11020],{"class":3786}," 'dark'",[3765,11022,11023],{"class":3775}," ?",[3765,11025,11026],{"class":3786}," 'light'",[3765,11028,11029],{"class":3775}," :",[3765,11031,11020],{"class":3786},[3765,11033,3803],{"class":3790},[3765,11035,5238],{"class":4375},[3765,11037,11038,11040],{"class":3767,"line":6723},[3765,11039,5117],{"class":4375},[3765,11041,6953],{"class":3845},[3765,11043,11044,11046,11048,11050],{"class":3767,"line":6733},[3765,11045,6958],{"class":4381},[3765,11047,4385],{"class":3775},[3765,11049,4388],{"class":3790},[3765,11051,4559],{"class":3797},[3765,11053,11054,11056,11058,11060,11063,11065,11068],{"class":3767,"line":6743},[3765,11055,7017],{"class":3771},[3765,11057,3825],{"class":3797},[3765,11059,6974],{"class":3771},[3765,11061,11062],{"class":3771}," colors",[3765,11064,3776],{"class":3797},[3765,11066,11067],{"class":3771},"background",[3765,11069,4589],{"class":3797},[3765,11071,11072,11074,11076,11078,11080,11082,11084],{"class":3767,"line":6748},[3765,11073,6969],{"class":3771},[3765,11075,3825],{"class":3797},[3765,11077,6974],{"class":3771},[3765,11079,11062],{"class":3771},[3765,11081,3776],{"class":3797},[3765,11083,11067],{"class":3771},[3765,11085,4589],{"class":3797},[3765,11087,11088,11090,11092,11094,11097],{"class":3767,"line":6754},[3765,11089,6984],{"class":3771},[3765,11091,11062],{"class":3771},[3765,11093,3776],{"class":3797},[3765,11095,11096],{"class":3771},"primary",[3765,11098,4479],{"class":3797},[3765,11100,11101,11103,11105,11107,11109,11111,11113,11115,11117,11119],{"class":3767,"line":6759},[3765,11102,6994],{"class":3771},[3765,11104,3825],{"class":3797},[3765,11106,6999],{"class":3771},[3765,11108,11062],{"class":3771},[3765,11110,3776],{"class":3797},[3765,11112,4045],{"class":3771},[3765,11114,4032],{"class":3797},[3765,11116,7007],{"class":3771},[3765,11118,7010],{"class":3786},[3765,11120,4589],{"class":3797},[3765,11122,11123,11126,11129],{"class":3767,"line":6788},[3765,11124,11125],{"class":3771},"          headerShadowVisible:",[3765,11127,11128],{"class":3790}," false",[3765,11130,4479],{"class":3797},[3765,11132,11133,11135],{"class":3767,"line":6814},[3765,11134,7030],{"class":3797},[3765,11136,4598],{"class":3790},[3765,11138,11139],{"class":3767,"line":6852},[3765,11140,7037],{"class":4375},[3765,11142,11143,11145,11147,11149,11151,11154,11156,11158,11160,11162,11165,11167,11169,11171],{"class":3767,"line":7689},[3765,11144,7042],{"class":4375},[3765,11146,7045],{"class":3845},[3765,11148,7048],{"class":4381},[3765,11150,4385],{"class":3775},[3765,11152,11153],{"class":3786},"\"(tabs)\"",[3765,11155,7056],{"class":4381},[3765,11157,4385],{"class":3775},[3765,11159,4388],{"class":3790},[3765,11161,7063],{"class":3797},[3765,11163,11164],{"class":3771},"headerShown:",[3765,11166,11128],{"class":3790},[3765,11168,7072],{"class":3797},[3765,11170,3803],{"class":3790},[3765,11172,5238],{"class":4375},[3765,11174,11175,11177],{"class":3767,"line":7730},[3765,11176,7042],{"class":4375},[3765,11178,11179],{"class":3845},"Stack.Screen\n",[3765,11181,11182,11185,11187],{"class":3767,"line":7769},[3765,11183,11184],{"class":4381},"          name",[3765,11186,4385],{"class":3775},[3765,11188,11189],{"class":3786},"\"create-trip\"\n",[3765,11191,11192,11195,11197,11199],{"class":3767,"line":7810},[3765,11193,11194],{"class":4381},"          options",[3765,11196,4385],{"class":3775},[3765,11198,4388],{"class":3790},[3765,11200,4559],{"class":3797},[3765,11202,11203,11206,11209],{"class":3767,"line":7820},[3765,11204,11205],{"class":3771},"            headerShown:",[3765,11207,11208],{"class":3790}," true",[3765,11210,4479],{"class":3797},[3765,11212,11213,11216,11219],{"class":3767,"line":7830},[3765,11214,11215],{"class":3771},"            title:",[3765,11217,11218],{"class":3786}," 'Нова поїздка'",[3765,11220,4479],{"class":3797},[3765,11222,11223,11226,11229],{"class":3767,"line":7838},[3765,11224,11225],{"class":3771},"            presentation:",[3765,11227,11228],{"class":3786}," 'modal'",[3765,11230,4479],{"class":3797},[3765,11232,11233,11236,11239],{"class":3767,"line":7857},[3765,11234,11235],{"class":3771},"            headerBackTitle:",[3765,11237,11238],{"class":3786}," 'Закрити'",[3765,11240,4479],{"class":3797},[3765,11242,11243,11246],{"class":3767,"line":7885},[3765,11244,11245],{"class":3797},"          }",[3765,11247,4598],{"class":3790},[3765,11249,11250],{"class":3767,"line":7891},[3765,11251,11252],{"class":4375},"        \u002F>\n",[3765,11254,11255,11257,11259],{"class":3767,"line":7924},[3765,11256,5190],{"class":4375},[3765,11258,3749],{"class":3845},[3765,11260,4419],{"class":4375},[3765,11262,11263],{"class":3767,"line":7933},[3765,11264,7121],{"class":4375},[3765,11266,11267],{"class":3767,"line":7943},[3765,11268,5252],{"class":3775},[3765,11270,11271],{"class":3767,"line":7951},[3765,11272,4598],{"class":3775},[3765,11274,11275],{"class":3767,"line":7957},[3765,11276,4363],{"emptyLinePlaceholder":4362},[3765,11278,11279,11281,11283,11285,11287],{"class":3767,"line":7962},[3765,11280,4741],{"class":4715},[3765,11282,4744],{"class":4715},[3765,11284,4747],{"class":3790},[3765,11286,6918],{"class":3779},[3765,11288,4753],{"class":3775},[3765,11290,11291,11293],{"class":3767,"line":7969},[3765,11292,5082],{"class":4715},[3765,11294,5085],{"class":3775},[3765,11296,11297,11299,11301],{"class":3767,"line":7988},[3765,11298,5090],{"class":4375},[3765,11300,10876],{"class":3845},[3765,11302,4419],{"class":4375},[3765,11304,11305,11307,11309],{"class":3767,"line":8017},[3765,11306,5117],{"class":4375},[3765,11308,10858],{"class":3845},[3765,11310,4419],{"class":4375},[3765,11312,11313,11315,11318],{"class":3767,"line":8022},[3765,11314,7042],{"class":4375},[3765,11316,11317],{"class":3845},"RootNavigator",[3765,11319,5238],{"class":4375},[3765,11321,11322,11324,11326],{"class":3767,"line":8055},[3765,11323,5190],{"class":4375},[3765,11325,10858],{"class":3845},[3765,11327,4419],{"class":4375},[3765,11329,11330,11332,11334],{"class":3767,"line":8064},[3765,11331,5243],{"class":4375},[3765,11333,10876],{"class":3845},[3765,11335,4419],{"class":4375},[3765,11337,11338],{"class":3767,"line":8073},[3765,11339,5252],{"class":3775},[3765,11341,11342],{"class":3767,"line":8078},[3765,11343,4598],{"class":3775},[3756,11345,11348],{"className":3758,"code":11346,"filename":11347,"language":3760,"meta":3761,"style":3761},"import { Tabs } from 'expo-router';\nimport { Ionicons } from '@expo\u002Fvector-icons';\n\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\n\n\u002F**\n * Нижня панель вкладок.\n * «Поїздки» — вкладений Stack (список + деталі), не один index-файл.\n *\u002F\nexport default function TabsLayout() {\n  const { colors } = useTheme();\n\n  return (\n    \u003CTabs\n      screenOptions={{\n        headerShown: false,\n        tabBarActiveTintColor: colors.primary,\n        tabBarInactiveTintColor: colors.textSecondary,\n        tabBarStyle: {\n          backgroundColor: colors.background,\n          borderTopColor: colors.border,\n        },\n        tabBarLabelStyle: {\n          fontSize: 12,\n          fontWeight: '600',\n        },\n      }}\n    >\n      \u003CTabs.Screen\n        name=\"trips\"\n        options={{\n          title: 'Поїздки',\n          tabBarIcon: ({ color, size }) => (\n            \u003CIonicons name=\"map-outline\" size={size} color={color} \u002F>\n          ),\n        }}\n      \u002F>\n      \u003CTabs.Screen\n        name=\"places\"\n        options={{\n          title: 'Місця',\n          tabBarIcon: ({ color, size }) => (\n            \u003CIonicons name=\"location-outline\" size={size} color={color} \u002F>\n          ),\n        }}\n      \u002F>\n      \u003CTabs.Screen\n        name=\"about\"\n        options={{\n          title: 'Ще',\n          tabBarIcon: ({ color, size }) => (\n            \u003CIonicons\n              name=\"ellipsis-horizontal-circle-outline\"\n              size={size}\n              color={color}\n            \u002F>\n          ),\n        }}\n      \u002F>\n    \u003C\u002FTabs>\n  );\n}\n","app\u002F(tabs)\u002F_layout.tsx",[3747,11349,11350,11366,11384,11388,11404,11408,11412,11417,11422,11426,11439,11453,11457,11463,11470,11481,11490,11503,11516,11523,11536,11550,11555,11562,11571,11580,11584,11591,11596,11603,11613,11624,11634,11658,11694,11699,11705,11709,11715,11724,11734,11743,11763,11798,11802,11808,11812,11818,11827,11837,11846,11866,11873,11883,11896,11909,11914,11918,11924,11928,11936,11940],{"__ignoreMap":3761},[3765,11351,11352,11354,11356,11358,11360,11362,11364],{"class":3767,"line":3768},[3765,11353,4716],{"class":4715},[3765,11355,3825],{"class":3775},[3765,11357,3753],{"class":3771},[3765,11359,4723],{"class":3775},[3765,11361,4726],{"class":4715},[3765,11363,4729],{"class":3786},[3765,11365,4732],{"class":3775},[3765,11367,11368,11370,11372,11375,11377,11379,11382],{"class":3767,"line":4332},[3765,11369,4716],{"class":4715},[3765,11371,3825],{"class":3775},[3765,11373,11374],{"class":3771},"Ionicons",[3765,11376,4723],{"class":3775},[3765,11378,4726],{"class":4715},[3765,11380,11381],{"class":3786}," '@expo\u002Fvector-icons'",[3765,11383,4732],{"class":3775},[3765,11385,11386],{"class":3767,"line":4359},[3765,11387,4363],{"emptyLinePlaceholder":4362},[3765,11389,11390,11392,11394,11396,11398,11400,11402],{"class":3767,"line":4366},[3765,11391,4716],{"class":4715},[3765,11393,3825],{"class":3775},[3765,11395,10881],{"class":3771},[3765,11397,4723],{"class":3775},[3765,11399,4726],{"class":4715},[3765,11401,10888],{"class":3786},[3765,11403,4732],{"class":3775},[3765,11405,11406],{"class":3767,"line":4372},[3765,11407,4363],{"emptyLinePlaceholder":4362},[3765,11409,11410],{"class":3767,"line":4504},[3765,11411,10899],{"class":4328},[3765,11413,11414],{"class":3767,"line":4518},[3765,11415,11416],{"class":4328}," * Нижня панель вкладок.\n",[3765,11418,11419],{"class":3767,"line":4524},[3765,11420,11421],{"class":4328}," * «Поїздки» — вкладений Stack (список + деталі), не один index-файл.\n",[3765,11423,11424],{"class":3767,"line":4530},[3765,11425,10929],{"class":4328},[3765,11427,11428,11430,11432,11434,11437],{"class":3767,"line":4535},[3765,11429,4741],{"class":4715},[3765,11431,4744],{"class":4715},[3765,11433,4747],{"class":3790},[3765,11435,11436],{"class":3779}," TabsLayout",[3765,11438,4753],{"class":3775},[3765,11440,11441,11443,11445,11447,11449,11451],{"class":3767,"line":4541},[3765,11442,4758],{"class":3790},[3765,11444,3825],{"class":3775},[3765,11446,5162],{"class":3828},[3765,11448,3831],{"class":3775},[3765,11450,10881],{"class":3779},[3765,11452,6811],{"class":3775},[3765,11454,11455],{"class":3767,"line":4549},[3765,11456,4363],{"emptyLinePlaceholder":4362},[3765,11458,11459,11461],{"class":3767,"line":4562},[3765,11460,5082],{"class":4715},[3765,11462,5085],{"class":3775},[3765,11464,11465,11467],{"class":3767,"line":4572},[3765,11466,5090],{"class":4375},[3765,11468,11469],{"class":3845},"Tabs\n",[3765,11471,11472,11475,11477,11479],{"class":3767,"line":4592},[3765,11473,11474],{"class":4381},"      screenOptions",[3765,11476,4385],{"class":3775},[3765,11478,4388],{"class":3790},[3765,11480,4559],{"class":3797},[3765,11482,11483,11486,11488],{"class":3767,"line":4601},[3765,11484,11485],{"class":3771},"        headerShown:",[3765,11487,11128],{"class":3790},[3765,11489,4479],{"class":3797},[3765,11491,11492,11495,11497,11499,11501],{"class":3767,"line":4606},[3765,11493,11494],{"class":3771},"        tabBarActiveTintColor:",[3765,11496,11062],{"class":3771},[3765,11498,3776],{"class":3797},[3765,11500,11096],{"class":3771},[3765,11502,4479],{"class":3797},[3765,11504,11505,11508,11510,11512,11514],{"class":3767,"line":4612},[3765,11506,11507],{"class":3771},"        tabBarInactiveTintColor:",[3765,11509,11062],{"class":3771},[3765,11511,3776],{"class":3797},[3765,11513,5167],{"class":3771},[3765,11515,4479],{"class":3797},[3765,11517,11518,11521],{"class":3767,"line":6683},[3765,11519,11520],{"class":3771},"        tabBarStyle:",[3765,11522,4487],{"class":3797},[3765,11524,11525,11528,11530,11532,11534],{"class":3767,"line":6693},[3765,11526,11527],{"class":3771},"          backgroundColor:",[3765,11529,11062],{"class":3771},[3765,11531,3776],{"class":3797},[3765,11533,11067],{"class":3771},[3765,11535,4479],{"class":3797},[3765,11537,11538,11541,11543,11545,11548],{"class":3767,"line":6698},[3765,11539,11540],{"class":3771},"          borderTopColor:",[3765,11542,11062],{"class":3771},[3765,11544,3776],{"class":3797},[3765,11546,11547],{"class":3771},"border",[3765,11549,4479],{"class":3797},[3765,11551,11552],{"class":3767,"line":6703},[3765,11553,11554],{"class":3797},"        },\n",[3765,11556,11557,11560],{"class":3767,"line":6713},[3765,11558,11559],{"class":3771},"        tabBarLabelStyle:",[3765,11561,4487],{"class":3797},[3765,11563,11564,11567,11569],{"class":3767,"line":6723},[3765,11565,11566],{"class":3771},"          fontSize:",[3765,11568,8249],{"class":4931},[3765,11570,4479],{"class":3797},[3765,11572,11573,11576,11578],{"class":3767,"line":6733},[3765,11574,11575],{"class":3771},"          fontWeight:",[3765,11577,7010],{"class":3786},[3765,11579,4479],{"class":3797},[3765,11581,11582],{"class":3767,"line":6743},[3765,11583,11554],{"class":3797},[3765,11585,11586,11589],{"class":3767,"line":6748},[3765,11587,11588],{"class":3797},"      }",[3765,11590,4598],{"class":3790},[3765,11592,11593],{"class":3767,"line":6754},[3765,11594,11595],{"class":4375},"    >\n",[3765,11597,11598,11600],{"class":3767,"line":6759},[3765,11599,5117],{"class":4375},[3765,11601,11602],{"class":3845},"Tabs.Screen\n",[3765,11604,11605,11608,11610],{"class":3767,"line":6788},[3765,11606,11607],{"class":4381},"        name",[3765,11609,4385],{"class":3775},[3765,11611,11612],{"class":3786},"\"trips\"\n",[3765,11614,11615,11618,11620,11622],{"class":3767,"line":6814},[3765,11616,11617],{"class":4381},"        options",[3765,11619,4385],{"class":3775},[3765,11621,4388],{"class":3790},[3765,11623,4559],{"class":3797},[3765,11625,11626,11629,11632],{"class":3767,"line":6852},[3765,11627,11628],{"class":3771},"          title:",[3765,11630,11631],{"class":3786}," 'Поїздки'",[3765,11633,4479],{"class":3797},[3765,11635,11636,11639,11641,11644,11647,11649,11652,11654,11656],{"class":3767,"line":7689},[3765,11637,11638],{"class":3779},"          tabBarIcon",[3765,11640,4229],{"class":3771},[3765,11642,11643],{"class":3797}," ({ ",[3765,11645,11646],{"class":3771},"color",[3765,11648,4032],{"class":3797},[3765,11650,11651],{"class":3771},"size",[3765,11653,7615],{"class":3797},[3765,11655,5222],{"class":3790},[3765,11657,5085],{"class":3797},[3765,11659,11660,11662,11664,11666,11668,11671,11674,11676,11678,11680,11682,11684,11686,11688,11690,11692],{"class":3767,"line":7730},[3765,11661,7648],{"class":4375},[3765,11663,11374],{"class":3845},[3765,11665,7048],{"class":4381},[3765,11667,4385],{"class":3775},[3765,11669,11670],{"class":3786},"\"map-outline\"",[3765,11672,11673],{"class":4381}," size",[3765,11675,4385],{"class":3775},[3765,11677,4388],{"class":3790},[3765,11679,11651],{"class":3771},[3765,11681,3803],{"class":3790},[3765,11683,5155],{"class":4381},[3765,11685,4385],{"class":3775},[3765,11687,4388],{"class":3790},[3765,11689,11646],{"class":3771},[3765,11691,3803],{"class":3790},[3765,11693,5238],{"class":4375},[3765,11695,11696],{"class":3767,"line":7769},[3765,11697,11698],{"class":3797},"          ),\n",[3765,11700,11701,11703],{"class":3767,"line":7810},[3765,11702,7030],{"class":3797},[3765,11704,4598],{"class":3790},[3765,11706,11707],{"class":3767,"line":7820},[3765,11708,7954],{"class":4375},[3765,11710,11711,11713],{"class":3767,"line":7830},[3765,11712,5117],{"class":4375},[3765,11714,11602],{"class":3845},[3765,11716,11717,11719,11721],{"class":3767,"line":7838},[3765,11718,11607],{"class":4381},[3765,11720,4385],{"class":3775},[3765,11722,11723],{"class":3786},"\"places\"\n",[3765,11725,11726,11728,11730,11732],{"class":3767,"line":7857},[3765,11727,11617],{"class":4381},[3765,11729,4385],{"class":3775},[3765,11731,4388],{"class":3790},[3765,11733,4559],{"class":3797},[3765,11735,11736,11738,11741],{"class":3767,"line":7885},[3765,11737,11628],{"class":3771},[3765,11739,11740],{"class":3786}," 'Місця'",[3765,11742,4479],{"class":3797},[3765,11744,11745,11747,11749,11751,11753,11755,11757,11759,11761],{"class":3767,"line":7891},[3765,11746,11638],{"class":3779},[3765,11748,4229],{"class":3771},[3765,11750,11643],{"class":3797},[3765,11752,11646],{"class":3771},[3765,11754,4032],{"class":3797},[3765,11756,11651],{"class":3771},[3765,11758,7615],{"class":3797},[3765,11760,5222],{"class":3790},[3765,11762,5085],{"class":3797},[3765,11764,11765,11767,11769,11771,11773,11776,11778,11780,11782,11784,11786,11788,11790,11792,11794,11796],{"class":3767,"line":7924},[3765,11766,7648],{"class":4375},[3765,11768,11374],{"class":3845},[3765,11770,7048],{"class":4381},[3765,11772,4385],{"class":3775},[3765,11774,11775],{"class":3786},"\"location-outline\"",[3765,11777,11673],{"class":4381},[3765,11779,4385],{"class":3775},[3765,11781,4388],{"class":3790},[3765,11783,11651],{"class":3771},[3765,11785,3803],{"class":3790},[3765,11787,5155],{"class":4381},[3765,11789,4385],{"class":3775},[3765,11791,4388],{"class":3790},[3765,11793,11646],{"class":3771},[3765,11795,3803],{"class":3790},[3765,11797,5238],{"class":4375},[3765,11799,11800],{"class":3767,"line":7933},[3765,11801,11698],{"class":3797},[3765,11803,11804,11806],{"class":3767,"line":7943},[3765,11805,7030],{"class":3797},[3765,11807,4598],{"class":3790},[3765,11809,11810],{"class":3767,"line":7951},[3765,11811,7954],{"class":4375},[3765,11813,11814,11816],{"class":3767,"line":7957},[3765,11815,5117],{"class":4375},[3765,11817,11602],{"class":3845},[3765,11819,11820,11822,11824],{"class":3767,"line":7962},[3765,11821,11607],{"class":4381},[3765,11823,4385],{"class":3775},[3765,11825,11826],{"class":3786},"\"about\"\n",[3765,11828,11829,11831,11833,11835],{"class":3767,"line":7969},[3765,11830,11617],{"class":4381},[3765,11832,4385],{"class":3775},[3765,11834,4388],{"class":3790},[3765,11836,4559],{"class":3797},[3765,11838,11839,11841,11844],{"class":3767,"line":7988},[3765,11840,11628],{"class":3771},[3765,11842,11843],{"class":3786}," 'Ще'",[3765,11845,4479],{"class":3797},[3765,11847,11848,11850,11852,11854,11856,11858,11860,11862,11864],{"class":3767,"line":8017},[3765,11849,11638],{"class":3779},[3765,11851,4229],{"class":3771},[3765,11853,11643],{"class":3797},[3765,11855,11646],{"class":3771},[3765,11857,4032],{"class":3797},[3765,11859,11651],{"class":3771},[3765,11861,7615],{"class":3797},[3765,11863,5222],{"class":3790},[3765,11865,5085],{"class":3797},[3765,11867,11868,11870],{"class":3767,"line":8022},[3765,11869,7648],{"class":4375},[3765,11871,11872],{"class":3845},"Ionicons\n",[3765,11874,11875,11878,11880],{"class":3767,"line":8055},[3765,11876,11877],{"class":4381},"              name",[3765,11879,4385],{"class":3775},[3765,11881,11882],{"class":3786},"\"ellipsis-horizontal-circle-outline\"\n",[3765,11884,11885,11888,11890,11892,11894],{"class":3767,"line":8064},[3765,11886,11887],{"class":4381},"              size",[3765,11889,4385],{"class":3775},[3765,11891,4388],{"class":3790},[3765,11893,11651],{"class":3771},[3765,11895,4598],{"class":3790},[3765,11897,11898,11901,11903,11905,11907],{"class":3767,"line":8073},[3765,11899,11900],{"class":4381},"              color",[3765,11902,4385],{"class":3775},[3765,11904,4388],{"class":3790},[3765,11906,11646],{"class":3771},[3765,11908,4598],{"class":3790},[3765,11910,11911],{"class":3767,"line":8078},[3765,11912,11913],{"class":4375},"            \u002F>\n",[3765,11915,11916],{"class":3767,"line":8083},[3765,11917,11698],{"class":3797},[3765,11919,11920,11922],{"class":3767,"line":8088},[3765,11921,7030],{"class":3797},[3765,11923,4598],{"class":3790},[3765,11925,11926],{"class":3767,"line":8107},[3765,11927,7954],{"class":4375},[3765,11929,11930,11932,11934],{"class":3767,"line":8129},[3765,11931,5243],{"class":4375},[3765,11933,3753],{"class":3845},[3765,11935,4419],{"class":4375},[3765,11937,11938],{"class":3767,"line":8137},[3765,11939,5252],{"class":3775},[3765,11941,11942],{"class":3767,"line":8148},[3765,11943,4598],{"class":3775},[3756,11945,11948],{"className":3758,"code":11946,"filename":11947,"language":3760,"meta":3761,"style":3761},"import { Stack } from 'expo-router';\n\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\n\n\u002F**\n * Вкладений Stack усередині вкладки «Поїздки».\n * Список (index) → деталі ([id]); tab bar лишається видимим.\n *\u002F\nexport default function TripsStackLayout() {\n  const { colors } = useTheme();\n\n  return (\n    \u003CStack\n      screenOptions={{\n        headerStyle: { backgroundColor: colors.background },\n        headerTintColor: colors.primary,\n        headerTitleStyle: { color: colors.text, fontWeight: '600' },\n        headerShadowVisible: false,\n        contentStyle: { backgroundColor: colors.background },\n      }}\n    >\n      \u003CStack.Screen name=\"index\" options={{ headerShown: false }} \u002F>\n      \u003CStack.Screen\n        name=\"[id]\"\n        options={{\n          title: 'Поїздка',\n          headerBackTitle: 'Список',\n        }}\n      \u002F>\n    \u003C\u002FStack>\n  );\n}\n","app\u002F(tabs)\u002Ftrips\u002F_layout.tsx",[3747,11949,11950,11966,11970,11986,11990,11994,11999,12004,12008,12021,12035,12039,12045,12051,12061,12078,12091,12114,12123,12140,12146,12150,12180,12186,12195,12205,12214,12224,12230,12234,12242,12246],{"__ignoreMap":3761},[3765,11951,11952,11954,11956,11958,11960,11962,11964],{"class":3767,"line":3768},[3765,11953,4716],{"class":4715},[3765,11955,3825],{"class":3775},[3765,11957,3749],{"class":3771},[3765,11959,4723],{"class":3775},[3765,11961,4726],{"class":4715},[3765,11963,4729],{"class":3786},[3765,11965,4732],{"class":3775},[3765,11967,11968],{"class":3767,"line":4332},[3765,11969,4363],{"emptyLinePlaceholder":4362},[3765,11971,11972,11974,11976,11978,11980,11982,11984],{"class":3767,"line":4359},[3765,11973,4716],{"class":4715},[3765,11975,3825],{"class":3775},[3765,11977,10881],{"class":3771},[3765,11979,4723],{"class":3775},[3765,11981,4726],{"class":4715},[3765,11983,10888],{"class":3786},[3765,11985,4732],{"class":3775},[3765,11987,11988],{"class":3767,"line":4366},[3765,11989,4363],{"emptyLinePlaceholder":4362},[3765,11991,11992],{"class":3767,"line":4372},[3765,11993,10899],{"class":4328},[3765,11995,11996],{"class":3767,"line":4504},[3765,11997,11998],{"class":4328}," * Вкладений Stack усередині вкладки «Поїздки».\n",[3765,12000,12001],{"class":3767,"line":4518},[3765,12002,12003],{"class":4328}," * Список (index) → деталі ([id]); tab bar лишається видимим.\n",[3765,12005,12006],{"class":3767,"line":4524},[3765,12007,10929],{"class":4328},[3765,12009,12010,12012,12014,12016,12019],{"class":3767,"line":4530},[3765,12011,4741],{"class":4715},[3765,12013,4744],{"class":4715},[3765,12015,4747],{"class":3790},[3765,12017,12018],{"class":3779}," TripsStackLayout",[3765,12020,4753],{"class":3775},[3765,12022,12023,12025,12027,12029,12031,12033],{"class":3767,"line":4535},[3765,12024,4758],{"class":3790},[3765,12026,3825],{"class":3775},[3765,12028,5162],{"class":3828},[3765,12030,3831],{"class":3775},[3765,12032,10881],{"class":3779},[3765,12034,6811],{"class":3775},[3765,12036,12037],{"class":3767,"line":4541},[3765,12038,4363],{"emptyLinePlaceholder":4362},[3765,12040,12041,12043],{"class":3767,"line":4549},[3765,12042,5082],{"class":4715},[3765,12044,5085],{"class":3775},[3765,12046,12047,12049],{"class":3767,"line":4562},[3765,12048,5090],{"class":4375},[3765,12050,6953],{"class":3845},[3765,12052,12053,12055,12057,12059],{"class":3767,"line":4572},[3765,12054,11474],{"class":4381},[3765,12056,4385],{"class":3775},[3765,12058,4388],{"class":3790},[3765,12060,4559],{"class":3797},[3765,12062,12063,12066,12068,12070,12072,12074,12076],{"class":3767,"line":4592},[3765,12064,12065],{"class":3771},"        headerStyle:",[3765,12067,3825],{"class":3797},[3765,12069,6974],{"class":3771},[3765,12071,11062],{"class":3771},[3765,12073,3776],{"class":3797},[3765,12075,11067],{"class":3771},[3765,12077,4589],{"class":3797},[3765,12079,12080,12083,12085,12087,12089],{"class":3767,"line":4601},[3765,12081,12082],{"class":3771},"        headerTintColor:",[3765,12084,11062],{"class":3771},[3765,12086,3776],{"class":3797},[3765,12088,11096],{"class":3771},[3765,12090,4479],{"class":3797},[3765,12092,12093,12096,12098,12100,12102,12104,12106,12108,12110,12112],{"class":3767,"line":4606},[3765,12094,12095],{"class":3771},"        headerTitleStyle:",[3765,12097,3825],{"class":3797},[3765,12099,6999],{"class":3771},[3765,12101,11062],{"class":3771},[3765,12103,3776],{"class":3797},[3765,12105,4045],{"class":3771},[3765,12107,4032],{"class":3797},[3765,12109,7007],{"class":3771},[3765,12111,7010],{"class":3786},[3765,12113,4589],{"class":3797},[3765,12115,12116,12119,12121],{"class":3767,"line":4612},[3765,12117,12118],{"class":3771},"        headerShadowVisible:",[3765,12120,11128],{"class":3790},[3765,12122,4479],{"class":3797},[3765,12124,12125,12128,12130,12132,12134,12136,12138],{"class":3767,"line":6683},[3765,12126,12127],{"class":3771},"        contentStyle:",[3765,12129,3825],{"class":3797},[3765,12131,6974],{"class":3771},[3765,12133,11062],{"class":3771},[3765,12135,3776],{"class":3797},[3765,12137,11067],{"class":3771},[3765,12139,4589],{"class":3797},[3765,12141,12142,12144],{"class":3767,"line":6693},[3765,12143,11588],{"class":3797},[3765,12145,4598],{"class":3790},[3765,12147,12148],{"class":3767,"line":6698},[3765,12149,11595],{"class":4375},[3765,12151,12152,12154,12156,12158,12160,12162,12164,12166,12168,12170,12172,12174,12176,12178],{"class":3767,"line":6703},[3765,12153,5117],{"class":4375},[3765,12155,7045],{"class":3845},[3765,12157,7048],{"class":4381},[3765,12159,4385],{"class":3775},[3765,12161,7053],{"class":3786},[3765,12163,7056],{"class":4381},[3765,12165,4385],{"class":3775},[3765,12167,4388],{"class":3790},[3765,12169,7063],{"class":3797},[3765,12171,11164],{"class":3771},[3765,12173,11128],{"class":3790},[3765,12175,7072],{"class":3797},[3765,12177,3803],{"class":3790},[3765,12179,5238],{"class":4375},[3765,12181,12182,12184],{"class":3767,"line":6713},[3765,12183,5117],{"class":4375},[3765,12185,11179],{"class":3845},[3765,12187,12188,12190,12192],{"class":3767,"line":6723},[3765,12189,11607],{"class":4381},[3765,12191,4385],{"class":3775},[3765,12193,12194],{"class":3786},"\"[id]\"\n",[3765,12196,12197,12199,12201,12203],{"class":3767,"line":6733},[3765,12198,11617],{"class":4381},[3765,12200,4385],{"class":3775},[3765,12202,4388],{"class":3790},[3765,12204,4559],{"class":3797},[3765,12206,12207,12209,12212],{"class":3767,"line":6743},[3765,12208,11628],{"class":3771},[3765,12210,12211],{"class":3786}," 'Поїздка'",[3765,12213,4479],{"class":3797},[3765,12215,12216,12219,12222],{"class":3767,"line":6748},[3765,12217,12218],{"class":3771},"          headerBackTitle:",[3765,12220,12221],{"class":3786}," 'Список'",[3765,12223,4479],{"class":3797},[3765,12225,12226,12228],{"class":3767,"line":6754},[3765,12227,7030],{"class":3797},[3765,12229,4598],{"class":3790},[3765,12231,12232],{"class":3767,"line":6759},[3765,12233,7954],{"class":4375},[3765,12235,12236,12238,12240],{"class":3767,"line":6788},[3765,12237,5243],{"class":4375},[3765,12239,3749],{"class":3845},[3765,12241,4419],{"class":4375},[3765,12243,12244],{"class":3767,"line":6814},[3765,12245,5252],{"class":3775},[3765,12247,12248],{"class":3767,"line":6852},[3765,12249,4598],{"class":3775},[3756,12251,12254],{"className":3758,"code":12252,"filename":12253,"language":3760,"meta":3761,"style":3761},"import { useCallback, useState } from 'react';\nimport {\n  FlatList,\n  Pressable,\n  RefreshControl,\n  StyleSheet,\n  View,\n} from 'react-native';\nimport { FlashList } from '@shopify\u002Fflash-list';\nimport { useRouter } from 'expo-router';\n\nimport {\n  mockPlaces,\n  PlaceChip,\n  TripCard,\n  useTrips,\n  type Place,\n  type Trip,\n} from '@\u002Ffeatures\u002Ftrips';\nimport { useTheme, type ThemePreference } from '@\u002Fshared\u002Ftheme';\nimport { AppText, Button, Screen } from '@\u002Fshared\u002Fui';\n\nconst PREFS: { id: ThemePreference; label: string }[] = [\n  { id: 'system', label: 'Система' },\n  { id: 'light', label: 'Світла' },\n  { id: 'dark', label: 'Темна' },\n];\n\nexport default function HomeScreen() {\n  const router = useRouter();\n  const { trips, resetToMock } = useTrips();\n  const { colors, spacing, preference, setPreference, scheme } = useTheme();\n  const [places] = useState\u003CPlace[]>(mockPlaces);\n  const [refreshing, setRefreshing] = useState(false);\n\n  const handleOpenTrip = useCallback(\n    (trip: Trip) => {\n      router.push(`\u002Ftrips\u002F${trip.id}`);\n    },\n    [router],\n  );\n\n  const handleOpenPlace = useCallback(\n    (place: Place) => {\n      \u002F\u002F Місце належить поїздці — відкриваємо її деталі у вкладеному Stack.\n      router.push(`\u002Ftrips\u002F${place.tripId}`);\n    },\n    [router],\n  );\n\n  const onRefresh = useCallback(() => {\n    setRefreshing(true);\n    \u002F\u002F Mock pull-to-refresh: повертаємо seed mock (локально створені зникають).\n    setTimeout(() => {\n      resetToMock();\n      setRefreshing(false);\n    }, 900);\n  }, [resetToMock]);\n\n  const renderTrip = useCallback(\n    ({ item }: { item: Trip }) => (\n      \u003CTripCard trip={item} onPress={handleOpenTrip} \u002F>\n    ),\n    [handleOpenTrip],\n  );\n\n  const keyExtractor = useCallback((item: Trip) => item.id, []);\n\n  const listHeader = (\n    \u003CView style={{ gap: spacing.md, marginBottom: spacing.md }}>\n      {places.length > 0 ? (\n        \u003CView style={{ gap: spacing.sm }}>\n          \u003CAppText style={{ fontWeight: '600' }}>Останні місця\u003C\u002FAppText>\n          \u003CFlatList\n            horizontal\n            data={places}\n            keyExtractor={(item) => item.id}\n            renderItem={({ item }) => (\n              \u003CPlaceChip place={item} onPress={handleOpenPlace} \u002F>\n            )}\n            showsHorizontalScrollIndicator={false}\n            ItemSeparatorComponent={() => \u003CView style={{ width: spacing.sm }} \u002F>}\n            contentContainerStyle={{ paddingVertical: 2 }}\n          \u002F>\n        \u003C\u002FView>\n      ) : null}\n\n      \u003CAppText style={{ fontWeight: '600' }}>Ваші поїздки\u003C\u002FAppText>\n    \u003C\u002FView>\n  );\n\n  const listEmpty = (\n    \u003CView\n      style={[\n        styles.empty,\n        {\n          paddingHorizontal: spacing.sm,\n          paddingVertical: spacing.xl,\n          gap: spacing.sm,\n        },\n      ]}\n    >\n      \u003CAppText variant=\"subtitle\" style={styles.emptyTitle}>\n        Поки немає поїздок\n      \u003C\u002FAppText>\n      \u003CAppText\n        variant=\"caption\"\n        color={colors.textSecondary}\n        style={styles.emptyDesc}\n      >\n        Потягніть список униз, щоб «оновити», або натисніть «Нова поїздка».\n      \u003C\u002FAppText>\n    \u003C\u002FView>\n  );\n\n  return (\n    \u003CScreen style={styles.screen}>\n      \u003CView\n        style={[\n          styles.header,\n          {\n            paddingHorizontal: spacing.md,\n            paddingTop: spacing.sm,\n            paddingBottom: spacing.md,\n            gap: spacing.xs,\n            borderBottomColor: colors.border,\n          },\n        ]}\n      >\n        \u003CAppText variant=\"title\">Мандрівник\u003C\u002FAppText>\n        \u003CAppText variant=\"caption\" style={{ marginTop: spacing.xs }}>\n          Щоденник подорожей · тема: {scheme === 'dark' ? 'темна' : 'світла'}\n        \u003C\u002FAppText>\n        \u003CAppText\n          variant=\"caption\"\n          style={{\n            marginTop: spacing.xs,\n            color: colors.primary,\n            fontWeight: '600',\n          }}\n        >\n          {trips.length > 0\n            ? `${trips.length} поїздок · ${places.length} місць`\n            : 'Список порожній'}\n        \u003C\u002FAppText>\n\n        \u003CView style={[styles.themeRow, { gap: spacing.sm, marginTop: spacing.sm }]}>\n          {PREFS.map((p) => {\n            const active = preference === p.id;\n            return (\n              \u003CPressable\n                key={p.id}\n                onPress={() => setPreference(p.id)}\n                style={[\n                  styles.themeChip,\n                  {\n                    backgroundColor: active ? colors.primary : colors.surface,\n                    borderColor: colors.border,\n                  },\n                ]}\n                accessibilityRole=\"button\"\n                accessibilityState={{ selected: active }}\n                accessibilityLabel={`Тема: ${p.label}`}\n              >\n                \u003CAppText\n                  variant=\"caption\"\n                  color={active ? colors.onPrimary : colors.text}\n                  style={styles.themeChipText}\n                >\n                  {p.label}\n                \u003C\u002FAppText>\n              \u003C\u002FPressable>\n            );\n          })}\n        \u003C\u002FView>\n      \u003C\u002FView>\n\n      \u003CView style={styles.listWrap}>\n        \u003CFlashList\n          data={trips}\n          renderItem={renderTrip}\n          keyExtractor={keyExtractor}\n          ListHeaderComponent={listHeader}\n          ListEmptyComponent={listEmpty}\n          contentContainerStyle={{\n            paddingHorizontal: spacing.md,\n            paddingTop: spacing.md,\n            paddingBottom: spacing.md,\n          }}\n          ItemSeparatorComponent={() => \u003CView style={{ height: spacing.md }} \u002F>}\n          refreshControl={\n            \u003CRefreshControl\n              refreshing={refreshing}\n              onRefresh={onRefresh}\n              tintColor={colors.primary}\n              colors={[colors.primary]}\n            \u002F>\n          }\n          showsVerticalScrollIndicator={false}\n        \u002F>\n      \u003C\u002FView>\n\n      \u003CView\n        style={[\n          styles.footer,\n          {\n            paddingHorizontal: spacing.md,\n            paddingTop: spacing.sm,\n            paddingBottom: spacing.md,\n            borderTopColor: colors.border,\n            backgroundColor: colors.background,\n          },\n        ]}\n      >\n        \u003CButton\n          label=\"Нова поїздка\"\n          onPress={() => {\n            router.push('\u002Fcreate-trip');\n          }}\n        \u002F>\n      \u003C\u002FView>\n    \u003C\u002FScreen>\n  );\n}\n\nconst styles = StyleSheet.create({\n  screen: {\n    paddingHorizontal: 0,\n  },\n  header: {\n    borderBottomWidth: 1,\n  },\n  themeRow: {\n    flexDirection: 'row',\n    flexWrap: 'wrap',\n  },\n  themeChip: {\n    paddingHorizontal: 12,\n    paddingVertical: 8,\n    borderRadius: 8,\n    borderWidth: 1,\n  },\n  themeChipText: {\n    fontWeight: '600',\n  },\n  listWrap: {\n    flex: 1,\n  },\n  empty: {\n    alignItems: 'center',\n    justifyContent: 'center',\n  },\n  emptyTitle: {\n    textAlign: 'center',\n  },\n  emptyDesc: {\n    textAlign: 'center',\n  },\n  footer: {\n    borderTopWidth: 1,\n  },\n});\n","app\u002F(tabs)\u002Ftrips\u002Findex.tsx",[3747,12255,12256,12279,12285,12292,12299,12306,12313,12320,12331,12349,12365,12369,12375,12382,12389,12396,12403,12413,12422,12432,12456,12482,12486,12515,12535,12552,12569,12573,12577,12589,12601,12621,12654,12682,12707,12711,12725,12743,12770,12774,12784,12788,12792,12805,12822,12827,12853,12857,12865,12869,12873,12891,12902,12907,12918,12925,12936,12946,12956,12960,12973,12994,13024,13029,13037,13041,13045,13077,13081,13091,13132,13154,13183,13216,13222,13227,13240,13265,13284,13315,13322,13332,13374,13394,13399,13407,13417,13421,13454,13462,13466,13470,13479,13486,13498,13510,13515,13528,13542,13556,13561,13569,13574,13604,13610,13619,13627,13638,13656,13674,13679,13685,13694,13703,13708,13713,13720,13744,13751,13762,13775,13781,13795,13809,13823,13838,13852,13858,13866,13871,13896,13931,13957,13966,13973,13983,13995,14009,14023,14033,14040,14046,14063,14098,14109,14118,14123,14173,14196,14222,14230,14237,14255,14284,14296,14309,14315,14342,14356,14362,14370,14381,14402,14429,14435,14442,14452,14484,14503,14509,14523,14533,14542,14548,14556,14565,14574,14579,14603,14611,14625,14640,14655,14670,14685,14697,14710,14723,14736,14743,14785,14795,14803,14817,14832,14850,14872,14877,14883,14893,14898,14907,14912,14919,14930,14942,14947,14960,14973,14986,15000,15014,15019,15026,15031,15039,15050,15066,15083,15090,15095,15104,15113,15118,15123,15128,15145,15153,15162,15167,15175,15185,15190,15198,15209,15220,15225,15233,15242,15251,15260,15269,15274,15282,15291,15296,15304,15313,15318,15326,15335,15344,15349,15357,15367,15372,15380,15389,15394,15402,15412,15417],{"__ignoreMap":3761},[3765,12257,12258,12260,12262,12265,12267,12270,12272,12274,12277],{"class":3767,"line":3768},[3765,12259,4716],{"class":4715},[3765,12261,3825],{"class":3775},[3765,12263,12264],{"class":3771},"useCallback",[3765,12266,4032],{"class":3775},[3765,12268,12269],{"class":3771},"useState",[3765,12271,4723],{"class":3775},[3765,12273,4726],{"class":4715},[3765,12275,12276],{"class":3786}," 'react'",[3765,12278,4732],{"class":3775},[3765,12280,12281,12283],{"class":3767,"line":4332},[3765,12282,4716],{"class":4715},[3765,12284,4487],{"class":3775},[3765,12286,12287,12290],{"class":3767,"line":4359},[3765,12288,12289],{"class":3771},"  FlatList",[3765,12291,4479],{"class":3775},[3765,12293,12294,12297],{"class":3767,"line":4366},[3765,12295,12296],{"class":3771},"  Pressable",[3765,12298,4479],{"class":3775},[3765,12300,12301,12304],{"class":3767,"line":4372},[3765,12302,12303],{"class":3771},"  RefreshControl",[3765,12305,4479],{"class":3775},[3765,12307,12308,12311],{"class":3767,"line":4504},[3765,12309,12310],{"class":3771},"  StyleSheet",[3765,12312,4479],{"class":3775},[3765,12314,12315,12318],{"class":3767,"line":4518},[3765,12316,12317],{"class":3771},"  View",[3765,12319,4479],{"class":3775},[3765,12321,12322,12325,12327,12329],{"class":3767,"line":4524},[3765,12323,12324],{"class":3775},"} ",[3765,12326,4726],{"class":4715},[3765,12328,5603],{"class":3786},[3765,12330,4732],{"class":3775},[3765,12332,12333,12335,12337,12340,12342,12344,12347],{"class":3767,"line":4530},[3765,12334,4716],{"class":4715},[3765,12336,3825],{"class":3775},[3765,12338,12339],{"class":3771},"FlashList",[3765,12341,4723],{"class":3775},[3765,12343,4726],{"class":4715},[3765,12345,12346],{"class":3786}," '@shopify\u002Fflash-list'",[3765,12348,4732],{"class":3775},[3765,12350,12351,12353,12355,12357,12359,12361,12363],{"class":3767,"line":4535},[3765,12352,4716],{"class":4715},[3765,12354,3825],{"class":3775},[3765,12356,7193],{"class":3771},[3765,12358,4723],{"class":3775},[3765,12360,4726],{"class":4715},[3765,12362,4729],{"class":3786},[3765,12364,4732],{"class":3775},[3765,12366,12367],{"class":3767,"line":4541},[3765,12368,4363],{"emptyLinePlaceholder":4362},[3765,12370,12371,12373],{"class":3767,"line":4549},[3765,12372,4716],{"class":4715},[3765,12374,4487],{"class":3775},[3765,12376,12377,12380],{"class":3767,"line":4562},[3765,12378,12379],{"class":3771},"  mockPlaces",[3765,12381,4479],{"class":3775},[3765,12383,12384,12387],{"class":3767,"line":4572},[3765,12385,12386],{"class":3771},"  PlaceChip",[3765,12388,4479],{"class":3775},[3765,12390,12391,12394],{"class":3767,"line":4592},[3765,12392,12393],{"class":3771},"  TripCard",[3765,12395,4479],{"class":3775},[3765,12397,12398,12401],{"class":3767,"line":4601},[3765,12399,12400],{"class":3771},"  useTrips",[3765,12402,4479],{"class":3775},[3765,12404,12405,12408,12411],{"class":3767,"line":4606},[3765,12406,12407],{"class":4715},"  type",[3765,12409,12410],{"class":3771}," Place",[3765,12412,4479],{"class":3775},[3765,12414,12415,12417,12420],{"class":3767,"line":4612},[3765,12416,12407],{"class":4715},[3765,12418,12419],{"class":3771}," Trip",[3765,12421,4479],{"class":3775},[3765,12423,12424,12426,12428,12430],{"class":3767,"line":6683},[3765,12425,12324],{"class":3775},[3765,12427,4726],{"class":4715},[3765,12429,10865],{"class":3786},[3765,12431,4732],{"class":3775},[3765,12433,12434,12436,12438,12440,12442,12445,12448,12450,12452,12454],{"class":3767,"line":6693},[3765,12435,4716],{"class":4715},[3765,12437,3825],{"class":3775},[3765,12439,10881],{"class":3771},[3765,12441,4032],{"class":3775},[3765,12443,12444],{"class":4715},"type",[3765,12446,12447],{"class":3771}," ThemePreference",[3765,12449,4723],{"class":3775},[3765,12451,4726],{"class":4715},[3765,12453,10888],{"class":3786},[3765,12455,4732],{"class":3775},[3765,12457,12458,12460,12462,12464,12466,12468,12470,12473,12475,12477,12480],{"class":3767,"line":6698},[3765,12459,4716],{"class":4715},[3765,12461,3825],{"class":3775},[3765,12463,5120],{"class":3771},[3765,12465,4032],{"class":3775},[3765,12467,5201],{"class":3771},[3765,12469,4032],{"class":3775},[3765,12471,12472],{"class":3771},"Screen",[3765,12474,4723],{"class":3775},[3765,12476,4726],{"class":4715},[3765,12478,12479],{"class":3786}," '@\u002Fshared\u002Fui'",[3765,12481,4732],{"class":3775},[3765,12483,12484],{"class":3767,"line":6703},[3765,12485,4363],{"emptyLinePlaceholder":4362},[3765,12487,12488,12490,12493,12496,12498,12500,12503,12505,12508,12510,12512],{"class":3767,"line":6713},[3765,12489,3822],{"class":3790},[3765,12491,12492],{"class":3828}," PREFS",[3765,12494,12495],{"class":3775},": { ",[3765,12497,3800],{"class":3771},[3765,12499,3842],{"class":3775},[3765,12501,12502],{"class":3845},"ThemePreference",[3765,12504,4781],{"class":3775},[3765,12506,12507],{"class":3771},"label",[3765,12509,3842],{"class":3775},[3765,12511,3846],{"class":3845},[3765,12513,12514],{"class":3775}," }[] = [\n",[3765,12516,12517,12520,12522,12525,12527,12530,12533],{"class":3767,"line":6723},[3765,12518,12519],{"class":3775},"  { ",[3765,12521,4580],{"class":3771},[3765,12523,12524],{"class":3786}," 'system'",[3765,12526,4032],{"class":3775},[3765,12528,12529],{"class":3771},"label:",[3765,12531,12532],{"class":3786}," 'Система'",[3765,12534,4589],{"class":3775},[3765,12536,12537,12539,12541,12543,12545,12547,12550],{"class":3767,"line":6733},[3765,12538,12519],{"class":3775},[3765,12540,4580],{"class":3771},[3765,12542,11026],{"class":3786},[3765,12544,4032],{"class":3775},[3765,12546,12529],{"class":3771},[3765,12548,12549],{"class":3786}," 'Світла'",[3765,12551,4589],{"class":3775},[3765,12553,12554,12556,12558,12560,12562,12564,12567],{"class":3767,"line":6743},[3765,12555,12519],{"class":3775},[3765,12557,4580],{"class":3771},[3765,12559,11020],{"class":3786},[3765,12561,4032],{"class":3775},[3765,12563,12529],{"class":3771},[3765,12565,12566],{"class":3786}," 'Темна'",[3765,12568,4589],{"class":3775},[3765,12570,12571],{"class":3767,"line":6748},[3765,12572,6751],{"class":3775},[3765,12574,12575],{"class":3767,"line":6754},[3765,12576,4363],{"emptyLinePlaceholder":4362},[3765,12578,12579,12581,12583,12585,12587],{"class":3767,"line":6759},[3765,12580,4741],{"class":4715},[3765,12582,4744],{"class":4715},[3765,12584,4747],{"class":3790},[3765,12586,7272],{"class":3779},[3765,12588,4753],{"class":3775},[3765,12590,12591,12593,12595,12597,12599],{"class":3767,"line":6788},[3765,12592,4758],{"class":3790},[3765,12594,5225],{"class":3828},[3765,12596,4908],{"class":3775},[3765,12598,7193],{"class":3779},[3765,12600,6811],{"class":3775},[3765,12602,12603,12605,12607,12609,12611,12614,12616,12619],{"class":3767,"line":6814},[3765,12604,4758],{"class":3790},[3765,12606,3825],{"class":3775},[3765,12608,4228],{"class":3828},[3765,12610,4032],{"class":3775},[3765,12612,12613],{"class":3828},"resetToMock",[3765,12615,3831],{"class":3775},[3765,12617,12618],{"class":3779},"useTrips",[3765,12620,6811],{"class":3775},[3765,12622,12623,12625,12627,12629,12631,12634,12636,12639,12641,12644,12646,12648,12650,12652],{"class":3767,"line":6852},[3765,12624,4758],{"class":3790},[3765,12626,3825],{"class":3775},[3765,12628,5162],{"class":3828},[3765,12630,4032],{"class":3775},[3765,12632,12633],{"class":3828},"spacing",[3765,12635,4032],{"class":3775},[3765,12637,12638],{"class":3828},"preference",[3765,12640,4032],{"class":3775},[3765,12642,12643],{"class":3828},"setPreference",[3765,12645,4032],{"class":3775},[3765,12647,5544],{"class":3828},[3765,12649,3831],{"class":3775},[3765,12651,10881],{"class":3779},[3765,12653,6811],{"class":3775},[3765,12655,12656,12658,12661,12664,12667,12669,12671,12674,12677,12680],{"class":3767,"line":7689},[3765,12657,4758],{"class":3790},[3765,12659,12660],{"class":3775}," [",[3765,12662,12663],{"class":3828},"places",[3765,12665,12666],{"class":3775},"] = ",[3765,12668,12269],{"class":3779},[3765,12670,4376],{"class":3775},[3765,12672,12673],{"class":3845},"Place",[3765,12675,12676],{"class":3775},"[]>(",[3765,12678,12679],{"class":3771},"mockPlaces",[3765,12681,3809],{"class":3775},[3765,12683,12684,12686,12688,12691,12693,12696,12698,12700,12702,12705],{"class":3767,"line":7730},[3765,12685,4758],{"class":3790},[3765,12687,12660],{"class":3775},[3765,12689,12690],{"class":3828},"refreshing",[3765,12692,4032],{"class":3775},[3765,12694,12695],{"class":3828},"setRefreshing",[3765,12697,12666],{"class":3775},[3765,12699,12269],{"class":3779},[3765,12701,3783],{"class":3775},[3765,12703,12704],{"class":3790},"false",[3765,12706,3809],{"class":3775},[3765,12708,12709],{"class":3767,"line":7769},[3765,12710,4363],{"emptyLinePlaceholder":4362},[3765,12712,12713,12715,12718,12720,12722],{"class":3767,"line":7810},[3765,12714,4758],{"class":3790},[3765,12716,12717],{"class":3828}," handleOpenTrip",[3765,12719,4908],{"class":3775},[3765,12721,12264],{"class":3779},[3765,12723,12724],{"class":3775},"(\n",[3765,12726,12727,12730,12732,12734,12737,12739,12741],{"class":3767,"line":7820},[3765,12728,12729],{"class":3775},"    (",[3765,12731,3794],{"class":3771},[3765,12733,3842],{"class":3775},[3765,12735,12736],{"class":3845},"Trip",[3765,12738,6832],{"class":3775},[3765,12740,5222],{"class":3790},[3765,12742,4487],{"class":3775},[3765,12744,12745,12748,12750,12752,12754,12756,12758,12760,12762,12764,12766,12768],{"class":3767,"line":7830},[3765,12746,12747],{"class":3771},"      router",[3765,12749,3776],{"class":3775},[3765,12751,3780],{"class":3779},[3765,12753,3783],{"class":3775},[3765,12755,3787],{"class":3786},[3765,12757,3791],{"class":3790},[3765,12759,3794],{"class":3771},[3765,12761,3776],{"class":3797},[3765,12763,3800],{"class":3771},[3765,12765,3803],{"class":3790},[3765,12767,3806],{"class":3786},[3765,12769,3809],{"class":3775},[3765,12771,12772],{"class":3767,"line":7838},[3765,12773,10551],{"class":3775},[3765,12775,12776,12779,12781],{"class":3767,"line":7857},[3765,12777,12778],{"class":3775},"    [",[3765,12780,3772],{"class":3771},[3765,12782,12783],{"class":3775},"],\n",[3765,12785,12786],{"class":3767,"line":7885},[3765,12787,5252],{"class":3775},[3765,12789,12790],{"class":3767,"line":7891},[3765,12791,4363],{"emptyLinePlaceholder":4362},[3765,12793,12794,12796,12799,12801,12803],{"class":3767,"line":7924},[3765,12795,4758],{"class":3790},[3765,12797,12798],{"class":3828}," handleOpenPlace",[3765,12800,4908],{"class":3775},[3765,12802,12264],{"class":3779},[3765,12804,12724],{"class":3775},[3765,12806,12807,12809,12812,12814,12816,12818,12820],{"class":3767,"line":7933},[3765,12808,12729],{"class":3775},[3765,12810,12811],{"class":3771},"place",[3765,12813,3842],{"class":3775},[3765,12815,12673],{"class":3845},[3765,12817,6832],{"class":3775},[3765,12819,5222],{"class":3790},[3765,12821,4487],{"class":3775},[3765,12823,12824],{"class":3767,"line":7943},[3765,12825,12826],{"class":4328},"      \u002F\u002F Місце належить поїздці — відкриваємо її деталі у вкладеному Stack.\n",[3765,12828,12829,12831,12833,12835,12837,12839,12841,12843,12845,12847,12849,12851],{"class":3767,"line":7951},[3765,12830,12747],{"class":3771},[3765,12832,3776],{"class":3775},[3765,12834,3780],{"class":3779},[3765,12836,3783],{"class":3775},[3765,12838,3787],{"class":3786},[3765,12840,3791],{"class":3790},[3765,12842,12811],{"class":3771},[3765,12844,3776],{"class":3797},[3765,12846,4275],{"class":3771},[3765,12848,3803],{"class":3790},[3765,12850,3806],{"class":3786},[3765,12852,3809],{"class":3775},[3765,12854,12855],{"class":3767,"line":7957},[3765,12856,10551],{"class":3775},[3765,12858,12859,12861,12863],{"class":3767,"line":7962},[3765,12860,12778],{"class":3775},[3765,12862,3772],{"class":3771},[3765,12864,12783],{"class":3775},[3765,12866,12867],{"class":3767,"line":7969},[3765,12868,5252],{"class":3775},[3765,12870,12871],{"class":3767,"line":7988},[3765,12872,4363],{"emptyLinePlaceholder":4362},[3765,12874,12875,12877,12880,12882,12884,12887,12889],{"class":3767,"line":8017},[3765,12876,4758],{"class":3790},[3765,12878,12879],{"class":3828}," onRefresh",[3765,12881,4908],{"class":3775},[3765,12883,12264],{"class":3779},[3765,12885,12886],{"class":3775},"(() ",[3765,12888,5222],{"class":3790},[3765,12890,4487],{"class":3775},[3765,12892,12893,12896,12898,12900],{"class":3767,"line":8022},[3765,12894,12895],{"class":3779},"    setRefreshing",[3765,12897,3783],{"class":3775},[3765,12899,10503],{"class":3790},[3765,12901,3809],{"class":3775},[3765,12903,12904],{"class":3767,"line":8055},[3765,12905,12906],{"class":4328},"    \u002F\u002F Mock pull-to-refresh: повертаємо seed mock (локально створені зникають).\n",[3765,12908,12909,12912,12914,12916],{"class":3767,"line":8064},[3765,12910,12911],{"class":3779},"    setTimeout",[3765,12913,12886],{"class":3775},[3765,12915,5222],{"class":3790},[3765,12917,4487],{"class":3775},[3765,12919,12920,12923],{"class":3767,"line":8073},[3765,12921,12922],{"class":3779},"      resetToMock",[3765,12924,6811],{"class":3775},[3765,12926,12927,12930,12932,12934],{"class":3767,"line":8078},[3765,12928,12929],{"class":3779},"      setRefreshing",[3765,12931,3783],{"class":3775},[3765,12933,12704],{"class":3790},[3765,12935,3809],{"class":3775},[3765,12937,12938,12941,12944],{"class":3767,"line":8083},[3765,12939,12940],{"class":3775},"    }, ",[3765,12942,12943],{"class":4931},"900",[3765,12945,3809],{"class":3775},[3765,12947,12948,12951,12953],{"class":3767,"line":8088},[3765,12949,12950],{"class":3775},"  }, [",[3765,12952,12613],{"class":3771},[3765,12954,12955],{"class":3775},"]);\n",[3765,12957,12958],{"class":3767,"line":8107},[3765,12959,4363],{"emptyLinePlaceholder":4362},[3765,12961,12962,12964,12967,12969,12971],{"class":3767,"line":8129},[3765,12963,4758],{"class":3790},[3765,12965,12966],{"class":3828}," renderTrip",[3765,12968,4908],{"class":3775},[3765,12970,12264],{"class":3779},[3765,12972,12724],{"class":3775},[3765,12974,12975,12978,12980,12982,12984,12986,12988,12990,12992],{"class":3767,"line":8137},[3765,12976,12977],{"class":3775},"    ({ ",[3765,12979,7529],{"class":3771},[3765,12981,5631],{"class":3775},[3765,12983,7529],{"class":3771},[3765,12985,3842],{"class":3775},[3765,12987,12736],{"class":3845},[3765,12989,7615],{"class":3775},[3765,12991,5222],{"class":3790},[3765,12993,5085],{"class":3775},[3765,12995,12996,12998,13001,13003,13005,13007,13009,13011,13013,13015,13017,13020,13022],{"class":3767,"line":8148},[3765,12997,5117],{"class":4375},[3765,12999,13000],{"class":3845},"TripCard",[3765,13002,4495],{"class":4381},[3765,13004,4385],{"class":3775},[3765,13006,4388],{"class":3790},[3765,13008,7529],{"class":3771},[3765,13010,3803],{"class":3790},[3765,13012,5212],{"class":4381},[3765,13014,4385],{"class":3775},[3765,13016,4388],{"class":3790},[3765,13018,13019],{"class":3771},"handleOpenTrip",[3765,13021,3803],{"class":3790},[3765,13023,5238],{"class":4375},[3765,13025,13026],{"class":3767,"line":8159},[3765,13027,13028],{"class":3775},"    ),\n",[3765,13030,13031,13033,13035],{"class":3767,"line":8170},[3765,13032,12778],{"class":3775},[3765,13034,13019],{"class":3771},[3765,13036,12783],{"class":3775},[3765,13038,13039],{"class":3767,"line":8181},[3765,13040,5252],{"class":3775},[3765,13042,13043],{"class":3767,"line":8192},[3765,13044,4363],{"emptyLinePlaceholder":4362},[3765,13046,13047,13049,13052,13054,13056,13058,13060,13062,13064,13066,13068,13070,13072,13074],{"class":3767,"line":8197},[3765,13048,4758],{"class":3790},[3765,13050,13051],{"class":3828}," keyExtractor",[3765,13053,4908],{"class":3775},[3765,13055,12264],{"class":3779},[3765,13057,6826],{"class":3775},[3765,13059,7529],{"class":3771},[3765,13061,3842],{"class":3775},[3765,13063,12736],{"class":3845},[3765,13065,6832],{"class":3775},[3765,13067,5222],{"class":3790},[3765,13069,7536],{"class":3771},[3765,13071,3776],{"class":3775},[3765,13073,3800],{"class":3771},[3765,13075,13076],{"class":3775},", []);\n",[3765,13078,13079],{"class":3767,"line":8205},[3765,13080,4363],{"emptyLinePlaceholder":4362},[3765,13082,13083,13085,13088],{"class":3767,"line":8214},[3765,13084,4758],{"class":3790},[3765,13086,13087],{"class":3779}," listHeader",[3765,13089,13090],{"class":3775}," = (\n",[3765,13092,13093,13095,13097,13099,13101,13103,13105,13107,13110,13112,13115,13117,13120,13122,13124,13126,13128,13130],{"class":3767,"line":8225},[3765,13094,5090],{"class":4375},[3765,13096,5093],{"class":3845},[3765,13098,5096],{"class":4381},[3765,13100,4385],{"class":3775},[3765,13102,4388],{"class":3790},[3765,13104,7063],{"class":3797},[3765,13106,9540],{"class":3771},[3765,13108,13109],{"class":3771}," spacing",[3765,13111,3776],{"class":3797},[3765,13113,13114],{"class":3771},"md",[3765,13116,4032],{"class":3797},[3765,13118,13119],{"class":3771},"marginBottom:",[3765,13121,13109],{"class":3771},[3765,13123,3776],{"class":3797},[3765,13125,13114],{"class":3771},[3765,13127,7072],{"class":3797},[3765,13129,3803],{"class":3790},[3765,13131,4419],{"class":4375},[3765,13133,13134,13137,13139,13141,13144,13147,13150,13152],{"class":3767,"line":8235},[3765,13135,13136],{"class":3790},"      {",[3765,13138,12663],{"class":3771},[3765,13140,3776],{"class":3797},[3765,13142,13143],{"class":3771},"length",[3765,13145,13146],{"class":3775}," >",[3765,13148,13149],{"class":4931}," 0",[3765,13151,11023],{"class":3775},[3765,13153,5085],{"class":3797},[3765,13155,13156,13158,13160,13162,13164,13166,13168,13170,13172,13174,13177,13179,13181],{"class":3767,"line":8244},[3765,13157,7042],{"class":4375},[3765,13159,5093],{"class":3845},[3765,13161,5096],{"class":4381},[3765,13163,4385],{"class":3775},[3765,13165,4388],{"class":3790},[3765,13167,7063],{"class":3797},[3765,13169,9540],{"class":3771},[3765,13171,13109],{"class":3771},[3765,13173,3776],{"class":3797},[3765,13175,13176],{"class":3771},"sm",[3765,13178,7072],{"class":3797},[3765,13180,3803],{"class":3790},[3765,13182,4419],{"class":4375},[3765,13184,13185,13187,13189,13191,13193,13195,13197,13199,13201,13203,13205,13207,13210,13212,13214],{"class":3767,"line":8254},[3765,13186,7624],{"class":4375},[3765,13188,5120],{"class":3845},[3765,13190,5096],{"class":4381},[3765,13192,4385],{"class":3775},[3765,13194,4388],{"class":3790},[3765,13196,7063],{"class":3797},[3765,13198,7007],{"class":3771},[3765,13200,7010],{"class":3786},[3765,13202,7072],{"class":3797},[3765,13204,3803],{"class":3790},[3765,13206,4408],{"class":4375},[3765,13208,13209],{"class":3797},"Останні місця",[3765,13211,4414],{"class":4375},[3765,13213,5120],{"class":3845},[3765,13215,4419],{"class":4375},[3765,13217,13218,13220],{"class":3767,"line":8264},[3765,13219,7624],{"class":4375},[3765,13221,7502],{"class":3845},[3765,13223,13224],{"class":3767,"line":8269},[3765,13225,13226],{"class":4381},"            horizontal\n",[3765,13228,13229,13232,13234,13236,13238],{"class":3767,"line":8292},[3765,13230,13231],{"class":4381},"            data",[3765,13233,4385],{"class":3775},[3765,13235,4388],{"class":3790},[3765,13237,12663],{"class":3771},[3765,13239,4598],{"class":3790},[3765,13241,13242,13245,13247,13249,13251,13253,13255,13257,13259,13261,13263],{"class":3767,"line":8300},[3765,13243,13244],{"class":4381},"            keyExtractor",[3765,13246,4385],{"class":3775},[3765,13248,4388],{"class":3790},[3765,13250,3783],{"class":3797},[3765,13252,7529],{"class":3771},[3765,13254,6832],{"class":3797},[3765,13256,5222],{"class":3790},[3765,13258,7536],{"class":3771},[3765,13260,3776],{"class":3797},[3765,13262,3800],{"class":3771},[3765,13264,4598],{"class":3790},[3765,13266,13267,13270,13272,13274,13276,13278,13280,13282],{"class":3767,"line":8311},[3765,13268,13269],{"class":4381},"            renderItem",[3765,13271,4385],{"class":3775},[3765,13273,4388],{"class":3790},[3765,13275,5621],{"class":3797},[3765,13277,7529],{"class":3771},[3765,13279,7615],{"class":3797},[3765,13281,5222],{"class":3790},[3765,13283,5085],{"class":3797},[3765,13285,13286,13288,13291,13294,13296,13298,13300,13302,13304,13306,13308,13311,13313],{"class":3767,"line":8321},[3765,13287,7682],{"class":4375},[3765,13289,13290],{"class":3845},"PlaceChip",[3765,13292,13293],{"class":4381}," place",[3765,13295,4385],{"class":3775},[3765,13297,4388],{"class":3790},[3765,13299,7529],{"class":3771},[3765,13301,3803],{"class":3790},[3765,13303,5212],{"class":4381},[3765,13305,4385],{"class":3775},[3765,13307,4388],{"class":3790},[3765,13309,13310],{"class":3771},"handleOpenPlace",[3765,13312,3803],{"class":3790},[3765,13314,5238],{"class":4375},[3765,13316,13317,13320],{"class":3767,"line":8331},[3765,13318,13319],{"class":3797},"            )",[3765,13321,4598],{"class":3790},[3765,13323,13324,13327,13329],{"class":3767,"line":8342},[3765,13325,13326],{"class":4381},"            showsHorizontalScrollIndicator",[3765,13328,4385],{"class":3775},[3765,13330,13331],{"class":3790},"{false}\n",[3765,13333,13334,13337,13339,13341,13343,13345,13347,13349,13351,13353,13355,13357,13360,13362,13364,13366,13368,13370,13372],{"class":3767,"line":8353},[3765,13335,13336],{"class":4381},"            ItemSeparatorComponent",[3765,13338,4385],{"class":3775},[3765,13340,4388],{"class":3790},[3765,13342,5219],{"class":3797},[3765,13344,5222],{"class":3790},[3765,13346,4969],{"class":4375},[3765,13348,5093],{"class":3845},[3765,13350,5096],{"class":4381},[3765,13352,4385],{"class":3775},[3765,13354,4388],{"class":3790},[3765,13356,7063],{"class":3797},[3765,13358,13359],{"class":3771},"width:",[3765,13361,13109],{"class":3771},[3765,13363,3776],{"class":3797},[3765,13365,13176],{"class":3771},[3765,13367,7072],{"class":3797},[3765,13369,3803],{"class":3790},[3765,13371,4983],{"class":4375},[3765,13373,4598],{"class":3790},[3765,13375,13376,13379,13381,13383,13385,13388,13390,13392],{"class":3767,"line":8363},[3765,13377,13378],{"class":4381},"            contentContainerStyle",[3765,13380,4385],{"class":3775},[3765,13382,4388],{"class":3790},[3765,13384,7063],{"class":3797},[3765,13386,13387],{"class":3771},"paddingVertical:",[3765,13389,9697],{"class":4931},[3765,13391,7072],{"class":3797},[3765,13393,4598],{"class":3790},[3765,13395,13396],{"class":3767,"line":8368},[3765,13397,13398],{"class":4375},"          \u002F>\n",[3765,13400,13401,13403,13405],{"class":3767,"line":8397},[3765,13402,9099],{"class":4375},[3765,13404,5093],{"class":3845},[3765,13406,4419],{"class":4375},[3765,13408,13409,13412,13414],{"class":3767,"line":8432},[3765,13410,13411],{"class":3797},"      ) ",[3765,13413,4229],{"class":3775},[3765,13415,13416],{"class":3790}," null}\n",[3765,13418,13419],{"class":3767,"line":8452},[3765,13420,4363],{"emptyLinePlaceholder":4362},[3765,13422,13423,13425,13427,13429,13431,13433,13435,13437,13439,13441,13443,13445,13448,13450,13452],{"class":3767,"line":8460},[3765,13424,5117],{"class":4375},[3765,13426,5120],{"class":3845},[3765,13428,5096],{"class":4381},[3765,13430,4385],{"class":3775},[3765,13432,4388],{"class":3790},[3765,13434,7063],{"class":3797},[3765,13436,7007],{"class":3771},[3765,13438,7010],{"class":3786},[3765,13440,7072],{"class":3797},[3765,13442,3803],{"class":3790},[3765,13444,4408],{"class":4375},[3765,13446,13447],{"class":3775},"Ваші поїздки",[3765,13449,4414],{"class":4375},[3765,13451,5120],{"class":3845},[3765,13453,4419],{"class":4375},[3765,13455,13456,13458,13460],{"class":3767,"line":8470},[3765,13457,5243],{"class":4375},[3765,13459,5093],{"class":3845},[3765,13461,4419],{"class":4375},[3765,13463,13464],{"class":3767,"line":8480},[3765,13465,5252],{"class":3775},[3765,13467,13468],{"class":3767,"line":8489},[3765,13469,4363],{"emptyLinePlaceholder":4362},[3765,13471,13472,13474,13477],{"class":3767,"line":8498},[3765,13473,4758],{"class":3790},[3765,13475,13476],{"class":3779}," listEmpty",[3765,13478,13090],{"class":3775},[3765,13480,13481,13483],{"class":3767,"line":8507},[3765,13482,5090],{"class":4375},[3765,13484,13485],{"class":3845},"View\n",[3765,13487,13488,13491,13493,13495],{"class":3767,"line":8518},[3765,13489,13490],{"class":4381},"      style",[3765,13492,4385],{"class":3775},[3765,13494,4388],{"class":3790},[3765,13496,13497],{"class":3797},"[\n",[3765,13499,13500,13503,13505,13508],{"class":3767,"line":8523},[3765,13501,13502],{"class":3771},"        styles",[3765,13504,3776],{"class":3797},[3765,13506,13507],{"class":3771},"empty",[3765,13509,4479],{"class":3797},[3765,13511,13512],{"class":3767,"line":8543},[3765,13513,13514],{"class":3797},"        {\n",[3765,13516,13517,13520,13522,13524,13526],{"class":3767,"line":8564},[3765,13518,13519],{"class":3771},"          paddingHorizontal:",[3765,13521,13109],{"class":3771},[3765,13523,3776],{"class":3797},[3765,13525,13176],{"class":3771},[3765,13527,4479],{"class":3797},[3765,13529,13530,13533,13535,13537,13540],{"class":3767,"line":8585},[3765,13531,13532],{"class":3771},"          paddingVertical:",[3765,13534,13109],{"class":3771},[3765,13536,3776],{"class":3797},[3765,13538,13539],{"class":3771},"xl",[3765,13541,4479],{"class":3797},[3765,13543,13545,13548,13550,13552,13554],{"class":3767,"line":13544},99,[3765,13546,13547],{"class":3771},"          gap:",[3765,13549,13109],{"class":3771},[3765,13551,3776],{"class":3797},[3765,13553,13176],{"class":3771},[3765,13555,4479],{"class":3797},[3765,13557,13559],{"class":3767,"line":13558},100,[3765,13560,11554],{"class":3797},[3765,13562,13564,13567],{"class":3767,"line":13563},101,[3765,13565,13566],{"class":3797},"      ]",[3765,13568,4598],{"class":3790},[3765,13570,13572],{"class":3767,"line":13571},102,[3765,13573,11595],{"class":4375},[3765,13575,13577,13579,13581,13583,13585,13587,13589,13591,13593,13595,13597,13600,13602],{"class":3767,"line":13576},103,[3765,13578,5117],{"class":4375},[3765,13580,5120],{"class":3845},[3765,13582,5123],{"class":4381},[3765,13584,4385],{"class":3775},[3765,13586,5128],{"class":3786},[3765,13588,5096],{"class":4381},[3765,13590,4385],{"class":3775},[3765,13592,4388],{"class":3790},[3765,13594,5103],{"class":3771},[3765,13596,3776],{"class":3797},[3765,13598,13599],{"class":3771},"emptyTitle",[3765,13601,3803],{"class":3790},[3765,13603,4419],{"class":4375},[3765,13605,13607],{"class":3767,"line":13606},104,[3765,13608,13609],{"class":3775},"        Поки немає поїздок\n",[3765,13611,13613,13615,13617],{"class":3767,"line":13612},105,[3765,13614,5190],{"class":4375},[3765,13616,5120],{"class":3845},[3765,13618,4419],{"class":4375},[3765,13620,13622,13624],{"class":3767,"line":13621},106,[3765,13623,5117],{"class":4375},[3765,13625,13626],{"class":3845},"AppText\n",[3765,13628,13630,13633,13635],{"class":3767,"line":13629},107,[3765,13631,13632],{"class":4381},"        variant",[3765,13634,4385],{"class":3775},[3765,13636,13637],{"class":3786},"\"caption\"\n",[3765,13639,13641,13644,13646,13648,13650,13652,13654],{"class":3767,"line":13640},108,[3765,13642,13643],{"class":4381},"        color",[3765,13645,4385],{"class":3775},[3765,13647,4388],{"class":3790},[3765,13649,5162],{"class":3771},[3765,13651,3776],{"class":3797},[3765,13653,5167],{"class":3771},[3765,13655,4598],{"class":3790},[3765,13657,13659,13661,13663,13665,13667,13669,13672],{"class":3767,"line":13658},109,[3765,13660,7972],{"class":4381},[3765,13662,4385],{"class":3775},[3765,13664,4388],{"class":3790},[3765,13666,5103],{"class":3771},[3765,13668,3776],{"class":3797},[3765,13670,13671],{"class":3771},"emptyDesc",[3765,13673,4598],{"class":3790},[3765,13675,13677],{"class":3767,"line":13676},110,[3765,13678,7037],{"class":4375},[3765,13680,13682],{"class":3767,"line":13681},111,[3765,13683,13684],{"class":3775},"        Потягніть список униз, щоб «оновити», або натисніть «Нова поїздка».\n",[3765,13686,13688,13690,13692],{"class":3767,"line":13687},112,[3765,13689,5190],{"class":4375},[3765,13691,5120],{"class":3845},[3765,13693,4419],{"class":4375},[3765,13695,13697,13699,13701],{"class":3767,"line":13696},113,[3765,13698,5243],{"class":4375},[3765,13700,5093],{"class":3845},[3765,13702,4419],{"class":4375},[3765,13704,13706],{"class":3767,"line":13705},114,[3765,13707,5252],{"class":3775},[3765,13709,13711],{"class":3767,"line":13710},115,[3765,13712,4363],{"emptyLinePlaceholder":4362},[3765,13714,13716,13718],{"class":3767,"line":13715},116,[3765,13717,5082],{"class":4715},[3765,13719,5085],{"class":3775},[3765,13721,13723,13725,13727,13729,13731,13733,13735,13737,13740,13742],{"class":3767,"line":13722},117,[3765,13724,5090],{"class":4375},[3765,13726,12472],{"class":3845},[3765,13728,5096],{"class":4381},[3765,13730,4385],{"class":3775},[3765,13732,4388],{"class":3790},[3765,13734,5103],{"class":3771},[3765,13736,3776],{"class":3797},[3765,13738,13739],{"class":3771},"screen",[3765,13741,3803],{"class":3790},[3765,13743,4419],{"class":4375},[3765,13745,13747,13749],{"class":3767,"line":13746},118,[3765,13748,5117],{"class":4375},[3765,13750,13485],{"class":3845},[3765,13752,13754,13756,13758,13760],{"class":3767,"line":13753},119,[3765,13755,7972],{"class":4381},[3765,13757,4385],{"class":3775},[3765,13759,4388],{"class":3790},[3765,13761,13497],{"class":3797},[3765,13763,13765,13768,13770,13773],{"class":3767,"line":13764},120,[3765,13766,13767],{"class":3771},"          styles",[3765,13769,3776],{"class":3797},[3765,13771,13772],{"class":3771},"header",[3765,13774,4479],{"class":3797},[3765,13776,13778],{"class":3767,"line":13777},121,[3765,13779,13780],{"class":3797},"          {\n",[3765,13782,13784,13787,13789,13791,13793],{"class":3767,"line":13783},122,[3765,13785,13786],{"class":3771},"            paddingHorizontal:",[3765,13788,13109],{"class":3771},[3765,13790,3776],{"class":3797},[3765,13792,13114],{"class":3771},[3765,13794,4479],{"class":3797},[3765,13796,13798,13801,13803,13805,13807],{"class":3767,"line":13797},123,[3765,13799,13800],{"class":3771},"            paddingTop:",[3765,13802,13109],{"class":3771},[3765,13804,3776],{"class":3797},[3765,13806,13176],{"class":3771},[3765,13808,4479],{"class":3797},[3765,13810,13812,13815,13817,13819,13821],{"class":3767,"line":13811},124,[3765,13813,13814],{"class":3771},"            paddingBottom:",[3765,13816,13109],{"class":3771},[3765,13818,3776],{"class":3797},[3765,13820,13114],{"class":3771},[3765,13822,4479],{"class":3797},[3765,13824,13826,13829,13831,13833,13836],{"class":3767,"line":13825},125,[3765,13827,13828],{"class":3771},"            gap:",[3765,13830,13109],{"class":3771},[3765,13832,3776],{"class":3797},[3765,13834,13835],{"class":3771},"xs",[3765,13837,4479],{"class":3797},[3765,13839,13841,13844,13846,13848,13850],{"class":3767,"line":13840},126,[3765,13842,13843],{"class":3771},"            borderBottomColor:",[3765,13845,11062],{"class":3771},[3765,13847,3776],{"class":3797},[3765,13849,11547],{"class":3771},[3765,13851,4479],{"class":3797},[3765,13853,13855],{"class":3767,"line":13854},127,[3765,13856,13857],{"class":3797},"          },\n",[3765,13859,13861,13864],{"class":3767,"line":13860},128,[3765,13862,13863],{"class":3797},"        ]",[3765,13865,4598],{"class":3790},[3765,13867,13869],{"class":3767,"line":13868},129,[3765,13870,7037],{"class":4375},[3765,13872,13874,13876,13878,13880,13882,13885,13887,13890,13892,13894],{"class":3767,"line":13873},130,[3765,13875,7042],{"class":4375},[3765,13877,5120],{"class":3845},[3765,13879,5123],{"class":4381},[3765,13881,4385],{"class":3775},[3765,13883,13884],{"class":3786},"\"title\"",[3765,13886,4408],{"class":4375},[3765,13888,13889],{"class":3775},"Мандрівник",[3765,13891,4414],{"class":4375},[3765,13893,5120],{"class":3845},[3765,13895,4419],{"class":4375},[3765,13897,13899,13901,13903,13905,13907,13909,13911,13913,13915,13917,13919,13921,13923,13925,13927,13929],{"class":3767,"line":13898},131,[3765,13900,7042],{"class":4375},[3765,13902,5120],{"class":3845},[3765,13904,5123],{"class":4381},[3765,13906,4385],{"class":3775},[3765,13908,5152],{"class":3786},[3765,13910,5096],{"class":4381},[3765,13912,4385],{"class":3775},[3765,13914,4388],{"class":3790},[3765,13916,7063],{"class":3797},[3765,13918,9733],{"class":3771},[3765,13920,13109],{"class":3771},[3765,13922,3776],{"class":3797},[3765,13924,13835],{"class":3771},[3765,13926,7072],{"class":3797},[3765,13928,3803],{"class":3790},[3765,13930,4419],{"class":4375},[3765,13932,13934,13937,13939,13941,13943,13945,13947,13950,13952,13955],{"class":3767,"line":13933},132,[3765,13935,13936],{"class":3775},"          Щоденник подорожей · тема: ",[3765,13938,4388],{"class":3790},[3765,13940,5544],{"class":3771},[3765,13942,11017],{"class":3775},[3765,13944,11020],{"class":3786},[3765,13946,11023],{"class":3775},[3765,13948,13949],{"class":3786}," 'темна'",[3765,13951,11029],{"class":3775},[3765,13953,13954],{"class":3786}," 'світла'",[3765,13956,4598],{"class":3790},[3765,13958,13960,13962,13964],{"class":3767,"line":13959},133,[3765,13961,9099],{"class":4375},[3765,13963,5120],{"class":3845},[3765,13965,4419],{"class":4375},[3765,13967,13969,13971],{"class":3767,"line":13968},134,[3765,13970,7042],{"class":4375},[3765,13972,13626],{"class":3845},[3765,13974,13976,13979,13981],{"class":3767,"line":13975},135,[3765,13977,13978],{"class":4381},"          variant",[3765,13980,4385],{"class":3775},[3765,13982,13637],{"class":3786},[3765,13984,13986,13989,13991,13993],{"class":3767,"line":13985},136,[3765,13987,13988],{"class":4381},"          style",[3765,13990,4385],{"class":3775},[3765,13992,4388],{"class":3790},[3765,13994,4559],{"class":3797},[3765,13996,13998,14001,14003,14005,14007],{"class":3767,"line":13997},137,[3765,13999,14000],{"class":3771},"            marginTop:",[3765,14002,13109],{"class":3771},[3765,14004,3776],{"class":3797},[3765,14006,13835],{"class":3771},[3765,14008,4479],{"class":3797},[3765,14010,14012,14015,14017,14019,14021],{"class":3767,"line":14011},138,[3765,14013,14014],{"class":3771},"            color:",[3765,14016,11062],{"class":3771},[3765,14018,3776],{"class":3797},[3765,14020,11096],{"class":3771},[3765,14022,4479],{"class":3797},[3765,14024,14026,14029,14031],{"class":3767,"line":14025},139,[3765,14027,14028],{"class":3771},"            fontWeight:",[3765,14030,7010],{"class":3786},[3765,14032,4479],{"class":3797},[3765,14034,14036,14038],{"class":3767,"line":14035},140,[3765,14037,11245],{"class":3797},[3765,14039,4598],{"class":3790},[3765,14041,14043],{"class":3767,"line":14042},141,[3765,14044,14045],{"class":4375},"        >\n",[3765,14047,14049,14052,14054,14056,14058,14060],{"class":3767,"line":14048},142,[3765,14050,14051],{"class":3790},"          {",[3765,14053,4228],{"class":3771},[3765,14055,3776],{"class":3797},[3765,14057,13143],{"class":3771},[3765,14059,13146],{"class":3775},[3765,14061,14062],{"class":4931}," 0\n",[3765,14064,14066,14069,14072,14074,14076,14078,14080,14082,14085,14087,14089,14091,14093,14095],{"class":3767,"line":14065},143,[3765,14067,14068],{"class":3775},"            ?",[3765,14070,14071],{"class":3786}," `",[3765,14073,3791],{"class":3790},[3765,14075,4228],{"class":3771},[3765,14077,3776],{"class":3797},[3765,14079,13143],{"class":3771},[3765,14081,3803],{"class":3790},[3765,14083,14084],{"class":3786}," поїздок · ",[3765,14086,3791],{"class":3790},[3765,14088,12663],{"class":3771},[3765,14090,3776],{"class":3797},[3765,14092,13143],{"class":3771},[3765,14094,3803],{"class":3790},[3765,14096,14097],{"class":3786}," місць`\n",[3765,14099,14101,14104,14107],{"class":3767,"line":14100},144,[3765,14102,14103],{"class":3775},"            :",[3765,14105,14106],{"class":3786}," 'Список порожній'",[3765,14108,4598],{"class":3790},[3765,14110,14112,14114,14116],{"class":3767,"line":14111},145,[3765,14113,9099],{"class":4375},[3765,14115,5120],{"class":3845},[3765,14117,4419],{"class":4375},[3765,14119,14121],{"class":3767,"line":14120},146,[3765,14122,4363],{"emptyLinePlaceholder":4362},[3765,14124,14126,14128,14130,14132,14134,14136,14138,14140,14142,14145,14148,14150,14152,14154,14156,14158,14160,14162,14164,14166,14169,14171],{"class":3767,"line":14125},147,[3765,14127,7042],{"class":4375},[3765,14129,5093],{"class":3845},[3765,14131,5096],{"class":4381},[3765,14133,4385],{"class":3775},[3765,14135,4388],{"class":3790},[3765,14137,4928],{"class":3797},[3765,14139,5103],{"class":3771},[3765,14141,3776],{"class":3797},[3765,14143,14144],{"class":3771},"themeRow",[3765,14146,14147],{"class":3797},", { ",[3765,14149,9540],{"class":3771},[3765,14151,13109],{"class":3771},[3765,14153,3776],{"class":3797},[3765,14155,13176],{"class":3771},[3765,14157,4032],{"class":3797},[3765,14159,9733],{"class":3771},[3765,14161,13109],{"class":3771},[3765,14163,3776],{"class":3797},[3765,14165,13176],{"class":3771},[3765,14167,14168],{"class":3797}," }]",[3765,14170,3803],{"class":3790},[3765,14172,4419],{"class":4375},[3765,14174,14176,14178,14181,14183,14186,14188,14190,14192,14194],{"class":3767,"line":14175},148,[3765,14177,14051],{"class":3790},[3765,14179,14180],{"class":3828},"PREFS",[3765,14182,3776],{"class":3797},[3765,14184,14185],{"class":3779},"map",[3765,14187,6826],{"class":3797},[3765,14189,3743],{"class":3771},[3765,14191,6832],{"class":3797},[3765,14193,5222],{"class":3790},[3765,14195,4487],{"class":3797},[3765,14197,14199,14202,14205,14208,14211,14213,14216,14218,14220],{"class":3767,"line":14198},149,[3765,14200,14201],{"class":3790},"            const",[3765,14203,14204],{"class":3828}," active",[3765,14206,14207],{"class":3775}," =",[3765,14209,14210],{"class":3771}," preference",[3765,14212,11017],{"class":3775},[3765,14214,14215],{"class":3771}," p",[3765,14217,3776],{"class":3797},[3765,14219,3800],{"class":3771},[3765,14221,4732],{"class":3797},[3765,14223,14225,14228],{"class":3767,"line":14224},150,[3765,14226,14227],{"class":4715},"            return",[3765,14229,5085],{"class":3797},[3765,14231,14233,14235],{"class":3767,"line":14232},151,[3765,14234,7682],{"class":4375},[3765,14236,7835],{"class":3845},[3765,14238,14240,14243,14245,14247,14249,14251,14253],{"class":3767,"line":14239},152,[3765,14241,14242],{"class":4381},"                key",[3765,14244,4385],{"class":3775},[3765,14246,4388],{"class":3790},[3765,14248,3743],{"class":3771},[3765,14250,3776],{"class":3797},[3765,14252,3800],{"class":3771},[3765,14254,4598],{"class":3790},[3765,14256,14258,14261,14263,14265,14267,14269,14272,14274,14276,14278,14280,14282],{"class":3767,"line":14257},153,[3765,14259,14260],{"class":4381},"                onPress",[3765,14262,4385],{"class":3775},[3765,14264,4388],{"class":3790},[3765,14266,5219],{"class":3797},[3765,14268,5222],{"class":3790},[3765,14270,14271],{"class":3779}," setPreference",[3765,14273,3783],{"class":3797},[3765,14275,3743],{"class":3771},[3765,14277,3776],{"class":3797},[3765,14279,3800],{"class":3771},[3765,14281,4679],{"class":3797},[3765,14283,4598],{"class":3790},[3765,14285,14287,14290,14292,14294],{"class":3767,"line":14286},154,[3765,14288,14289],{"class":4381},"                style",[3765,14291,4385],{"class":3775},[3765,14293,4388],{"class":3790},[3765,14295,13497],{"class":3797},[3765,14297,14299,14302,14304,14307],{"class":3767,"line":14298},155,[3765,14300,14301],{"class":3771},"                  styles",[3765,14303,3776],{"class":3797},[3765,14305,14306],{"class":3771},"themeChip",[3765,14308,4479],{"class":3797},[3765,14310,14312],{"class":3767,"line":14311},156,[3765,14313,14314],{"class":3797},"                  {\n",[3765,14316,14318,14321,14323,14325,14327,14329,14331,14333,14335,14337,14340],{"class":3767,"line":14317},157,[3765,14319,14320],{"class":3771},"                    backgroundColor:",[3765,14322,14204],{"class":3771},[3765,14324,11023],{"class":3775},[3765,14326,11062],{"class":3771},[3765,14328,3776],{"class":3797},[3765,14330,11096],{"class":3771},[3765,14332,11029],{"class":3775},[3765,14334,11062],{"class":3771},[3765,14336,3776],{"class":3797},[3765,14338,14339],{"class":3771},"surface",[3765,14341,4479],{"class":3797},[3765,14343,14345,14348,14350,14352,14354],{"class":3767,"line":14344},158,[3765,14346,14347],{"class":3771},"                    borderColor:",[3765,14349,11062],{"class":3771},[3765,14351,3776],{"class":3797},[3765,14353,11547],{"class":3771},[3765,14355,4479],{"class":3797},[3765,14357,14359],{"class":3767,"line":14358},159,[3765,14360,14361],{"class":3797},"                  },\n",[3765,14363,14365,14368],{"class":3767,"line":14364},160,[3765,14366,14367],{"class":3797},"                ]",[3765,14369,4598],{"class":3790},[3765,14371,14373,14376,14378],{"class":3767,"line":14372},161,[3765,14374,14375],{"class":4381},"                accessibilityRole",[3765,14377,4385],{"class":3775},[3765,14379,14380],{"class":3786},"\"button\"\n",[3765,14382,14384,14387,14389,14391,14393,14396,14398,14400],{"class":3767,"line":14383},162,[3765,14385,14386],{"class":4381},"                accessibilityState",[3765,14388,4385],{"class":3775},[3765,14390,4388],{"class":3790},[3765,14392,7063],{"class":3797},[3765,14394,14395],{"class":3771},"selected:",[3765,14397,14204],{"class":3771},[3765,14399,7072],{"class":3797},[3765,14401,4598],{"class":3790},[3765,14403,14405,14408,14410,14412,14415,14417,14419,14421,14423,14425,14427],{"class":3767,"line":14404},163,[3765,14406,14407],{"class":4381},"                accessibilityLabel",[3765,14409,4385],{"class":3775},[3765,14411,4388],{"class":3790},[3765,14413,14414],{"class":3786},"`Тема: ",[3765,14416,3791],{"class":3790},[3765,14418,3743],{"class":3771},[3765,14420,3776],{"class":3797},[3765,14422,12507],{"class":3771},[3765,14424,3803],{"class":3790},[3765,14426,3806],{"class":3786},[3765,14428,4598],{"class":3790},[3765,14430,14432],{"class":3767,"line":14431},164,[3765,14433,14434],{"class":4375},"              >\n",[3765,14436,14438,14440],{"class":3767,"line":14437},165,[3765,14439,7692],{"class":4375},[3765,14441,13626],{"class":3845},[3765,14443,14445,14448,14450],{"class":3767,"line":14444},166,[3765,14446,14447],{"class":4381},"                  variant",[3765,14449,4385],{"class":3775},[3765,14451,13637],{"class":3786},[3765,14453,14455,14458,14460,14462,14465,14467,14469,14471,14474,14476,14478,14480,14482],{"class":3767,"line":14454},167,[3765,14456,14457],{"class":4381},"                  color",[3765,14459,4385],{"class":3775},[3765,14461,4388],{"class":3790},[3765,14463,14464],{"class":3771},"active",[3765,14466,11023],{"class":3775},[3765,14468,11062],{"class":3771},[3765,14470,3776],{"class":3797},[3765,14472,14473],{"class":3771},"onPrimary",[3765,14475,11029],{"class":3775},[3765,14477,11062],{"class":3771},[3765,14479,3776],{"class":3797},[3765,14481,4045],{"class":3771},[3765,14483,4598],{"class":3790},[3765,14485,14487,14490,14492,14494,14496,14498,14501],{"class":3767,"line":14486},168,[3765,14488,14489],{"class":4381},"                  style",[3765,14491,4385],{"class":3775},[3765,14493,4388],{"class":3790},[3765,14495,5103],{"class":3771},[3765,14497,3776],{"class":3797},[3765,14499,14500],{"class":3771},"themeChipText",[3765,14502,4598],{"class":3790},[3765,14504,14506],{"class":3767,"line":14505},169,[3765,14507,14508],{"class":4375},"                >\n",[3765,14510,14512,14515,14517,14519,14521],{"class":3767,"line":14511},170,[3765,14513,14514],{"class":3790},"                  {",[3765,14516,3743],{"class":3771},[3765,14518,3776],{"class":3797},[3765,14520,12507],{"class":3771},[3765,14522,4598],{"class":3790},[3765,14524,14526,14529,14531],{"class":3767,"line":14525},171,[3765,14527,14528],{"class":4375},"                \u003C\u002F",[3765,14530,5120],{"class":3845},[3765,14532,4419],{"class":4375},[3765,14534,14536,14538,14540],{"class":3767,"line":14535},172,[3765,14537,7813],{"class":4375},[3765,14539,7158],{"class":3845},[3765,14541,4419],{"class":4375},[3765,14543,14545],{"class":3767,"line":14544},173,[3765,14546,14547],{"class":3797},"            );\n",[3765,14549,14551,14554],{"class":3767,"line":14550},174,[3765,14552,14553],{"class":3797},"          })",[3765,14555,4598],{"class":3790},[3765,14557,14559,14561,14563],{"class":3767,"line":14558},175,[3765,14560,9099],{"class":4375},[3765,14562,5093],{"class":3845},[3765,14564,4419],{"class":4375},[3765,14566,14568,14570,14572],{"class":3767,"line":14567},176,[3765,14569,5190],{"class":4375},[3765,14571,5093],{"class":3845},[3765,14573,4419],{"class":4375},[3765,14575,14577],{"class":3767,"line":14576},177,[3765,14578,4363],{"emptyLinePlaceholder":4362},[3765,14580,14582,14584,14586,14588,14590,14592,14594,14596,14599,14601],{"class":3767,"line":14581},178,[3765,14583,5117],{"class":4375},[3765,14585,5093],{"class":3845},[3765,14587,5096],{"class":4381},[3765,14589,4385],{"class":3775},[3765,14591,4388],{"class":3790},[3765,14593,5103],{"class":3771},[3765,14595,3776],{"class":3797},[3765,14597,14598],{"class":3771},"listWrap",[3765,14600,3803],{"class":3790},[3765,14602,4419],{"class":4375},[3765,14604,14606,14608],{"class":3767,"line":14605},179,[3765,14607,7042],{"class":4375},[3765,14609,14610],{"class":3845},"FlashList\n",[3765,14612,14614,14617,14619,14621,14623],{"class":3767,"line":14613},180,[3765,14615,14616],{"class":4381},"          data",[3765,14618,4385],{"class":3775},[3765,14620,4388],{"class":3790},[3765,14622,4228],{"class":3771},[3765,14624,4598],{"class":3790},[3765,14626,14628,14631,14633,14635,14638],{"class":3767,"line":14627},181,[3765,14629,14630],{"class":4381},"          renderItem",[3765,14632,4385],{"class":3775},[3765,14634,4388],{"class":3790},[3765,14636,14637],{"class":3771},"renderTrip",[3765,14639,4598],{"class":3790},[3765,14641,14643,14646,14648,14650,14653],{"class":3767,"line":14642},182,[3765,14644,14645],{"class":4381},"          keyExtractor",[3765,14647,4385],{"class":3775},[3765,14649,4388],{"class":3790},[3765,14651,14652],{"class":3771},"keyExtractor",[3765,14654,4598],{"class":3790},[3765,14656,14658,14661,14663,14665,14668],{"class":3767,"line":14657},183,[3765,14659,14660],{"class":4381},"          ListHeaderComponent",[3765,14662,4385],{"class":3775},[3765,14664,4388],{"class":3790},[3765,14666,14667],{"class":3771},"listHeader",[3765,14669,4598],{"class":3790},[3765,14671,14673,14676,14678,14680,14683],{"class":3767,"line":14672},184,[3765,14674,14675],{"class":4381},"          ListEmptyComponent",[3765,14677,4385],{"class":3775},[3765,14679,4388],{"class":3790},[3765,14681,14682],{"class":3771},"listEmpty",[3765,14684,4598],{"class":3790},[3765,14686,14688,14691,14693,14695],{"class":3767,"line":14687},185,[3765,14689,14690],{"class":4381},"          contentContainerStyle",[3765,14692,4385],{"class":3775},[3765,14694,4388],{"class":3790},[3765,14696,4559],{"class":3797},[3765,14698,14700,14702,14704,14706,14708],{"class":3767,"line":14699},186,[3765,14701,13786],{"class":3771},[3765,14703,13109],{"class":3771},[3765,14705,3776],{"class":3797},[3765,14707,13114],{"class":3771},[3765,14709,4479],{"class":3797},[3765,14711,14713,14715,14717,14719,14721],{"class":3767,"line":14712},187,[3765,14714,13800],{"class":3771},[3765,14716,13109],{"class":3771},[3765,14718,3776],{"class":3797},[3765,14720,13114],{"class":3771},[3765,14722,4479],{"class":3797},[3765,14724,14726,14728,14730,14732,14734],{"class":3767,"line":14725},188,[3765,14727,13814],{"class":3771},[3765,14729,13109],{"class":3771},[3765,14731,3776],{"class":3797},[3765,14733,13114],{"class":3771},[3765,14735,4479],{"class":3797},[3765,14737,14739,14741],{"class":3767,"line":14738},189,[3765,14740,11245],{"class":3797},[3765,14742,4598],{"class":3790},[3765,14744,14746,14749,14751,14753,14755,14757,14759,14761,14763,14765,14767,14769,14771,14773,14775,14777,14779,14781,14783],{"class":3767,"line":14745},190,[3765,14747,14748],{"class":4381},"          ItemSeparatorComponent",[3765,14750,4385],{"class":3775},[3765,14752,4388],{"class":3790},[3765,14754,5219],{"class":3797},[3765,14756,5222],{"class":3790},[3765,14758,4969],{"class":4375},[3765,14760,5093],{"class":3845},[3765,14762,5096],{"class":4381},[3765,14764,4385],{"class":3775},[3765,14766,4388],{"class":3790},[3765,14768,7063],{"class":3797},[3765,14770,7588],{"class":3771},[3765,14772,13109],{"class":3771},[3765,14774,3776],{"class":3797},[3765,14776,13114],{"class":3771},[3765,14778,7072],{"class":3797},[3765,14780,3803],{"class":3790},[3765,14782,4983],{"class":4375},[3765,14784,4598],{"class":3790},[3765,14786,14788,14791,14793],{"class":3767,"line":14787},191,[3765,14789,14790],{"class":4381},"          refreshControl",[3765,14792,4385],{"class":3775},[3765,14794,4559],{"class":3790},[3765,14796,14798,14800],{"class":3767,"line":14797},192,[3765,14799,7648],{"class":4375},[3765,14801,14802],{"class":3845},"RefreshControl\n",[3765,14804,14806,14809,14811,14813,14815],{"class":3767,"line":14805},193,[3765,14807,14808],{"class":4381},"              refreshing",[3765,14810,4385],{"class":3775},[3765,14812,4388],{"class":3790},[3765,14814,12690],{"class":3771},[3765,14816,4598],{"class":3790},[3765,14818,14820,14823,14825,14827,14830],{"class":3767,"line":14819},194,[3765,14821,14822],{"class":4381},"              onRefresh",[3765,14824,4385],{"class":3775},[3765,14826,4388],{"class":3790},[3765,14828,14829],{"class":3771},"onRefresh",[3765,14831,4598],{"class":3790},[3765,14833,14835,14838,14840,14842,14844,14846,14848],{"class":3767,"line":14834},195,[3765,14836,14837],{"class":4381},"              tintColor",[3765,14839,4385],{"class":3775},[3765,14841,4388],{"class":3790},[3765,14843,5162],{"class":3771},[3765,14845,3776],{"class":3797},[3765,14847,11096],{"class":3771},[3765,14849,4598],{"class":3790},[3765,14851,14853,14856,14858,14860,14862,14864,14866,14868,14870],{"class":3767,"line":14852},196,[3765,14854,14855],{"class":4381},"              colors",[3765,14857,4385],{"class":3775},[3765,14859,4388],{"class":3790},[3765,14861,4928],{"class":3797},[3765,14863,5162],{"class":3771},[3765,14865,3776],{"class":3797},[3765,14867,11096],{"class":3771},[3765,14869,7414],{"class":3797},[3765,14871,4598],{"class":3790},[3765,14873,14875],{"class":3767,"line":14874},197,[3765,14876,11913],{"class":4375},[3765,14878,14880],{"class":3767,"line":14879},198,[3765,14881,14882],{"class":3790},"          }\n",[3765,14884,14886,14889,14891],{"class":3767,"line":14885},199,[3765,14887,14888],{"class":4381},"          showsVerticalScrollIndicator",[3765,14890,4385],{"class":3775},[3765,14892,13331],{"class":3790},[3765,14894,14896],{"class":3767,"line":14895},200,[3765,14897,11252],{"class":4375},[3765,14899,14901,14903,14905],{"class":3767,"line":14900},201,[3765,14902,5190],{"class":4375},[3765,14904,5093],{"class":3845},[3765,14906,4419],{"class":4375},[3765,14908,14910],{"class":3767,"line":14909},202,[3765,14911,4363],{"emptyLinePlaceholder":4362},[3765,14913,14915,14917],{"class":3767,"line":14914},203,[3765,14916,5117],{"class":4375},[3765,14918,13485],{"class":3845},[3765,14920,14922,14924,14926,14928],{"class":3767,"line":14921},204,[3765,14923,7972],{"class":4381},[3765,14925,4385],{"class":3775},[3765,14927,4388],{"class":3790},[3765,14929,13497],{"class":3797},[3765,14931,14933,14935,14937,14940],{"class":3767,"line":14932},205,[3765,14934,13767],{"class":3771},[3765,14936,3776],{"class":3797},[3765,14938,14939],{"class":3771},"footer",[3765,14941,4479],{"class":3797},[3765,14943,14945],{"class":3767,"line":14944},206,[3765,14946,13780],{"class":3797},[3765,14948,14950,14952,14954,14956,14958],{"class":3767,"line":14949},207,[3765,14951,13786],{"class":3771},[3765,14953,13109],{"class":3771},[3765,14955,3776],{"class":3797},[3765,14957,13114],{"class":3771},[3765,14959,4479],{"class":3797},[3765,14961,14963,14965,14967,14969,14971],{"class":3767,"line":14962},208,[3765,14964,13800],{"class":3771},[3765,14966,13109],{"class":3771},[3765,14968,3776],{"class":3797},[3765,14970,13176],{"class":3771},[3765,14972,4479],{"class":3797},[3765,14974,14976,14978,14980,14982,14984],{"class":3767,"line":14975},209,[3765,14977,13814],{"class":3771},[3765,14979,13109],{"class":3771},[3765,14981,3776],{"class":3797},[3765,14983,13114],{"class":3771},[3765,14985,4479],{"class":3797},[3765,14987,14989,14992,14994,14996,14998],{"class":3767,"line":14988},210,[3765,14990,14991],{"class":3771},"            borderTopColor:",[3765,14993,11062],{"class":3771},[3765,14995,3776],{"class":3797},[3765,14997,11547],{"class":3771},[3765,14999,4479],{"class":3797},[3765,15001,15003,15006,15008,15010,15012],{"class":3767,"line":15002},211,[3765,15004,15005],{"class":3771},"            backgroundColor:",[3765,15007,11062],{"class":3771},[3765,15009,3776],{"class":3797},[3765,15011,11067],{"class":3771},[3765,15013,4479],{"class":3797},[3765,15015,15017],{"class":3767,"line":15016},212,[3765,15018,13857],{"class":3797},[3765,15020,15022,15024],{"class":3767,"line":15021},213,[3765,15023,13863],{"class":3797},[3765,15025,4598],{"class":3790},[3765,15027,15029],{"class":3767,"line":15028},214,[3765,15030,7037],{"class":4375},[3765,15032,15034,15036],{"class":3767,"line":15033},215,[3765,15035,7042],{"class":4375},[3765,15037,15038],{"class":3845},"Button\n",[3765,15040,15042,15045,15047],{"class":3767,"line":15041},216,[3765,15043,15044],{"class":4381},"          label",[3765,15046,4385],{"class":3775},[3765,15048,15049],{"class":3786},"\"Нова поїздка\"\n",[3765,15051,15053,15056,15058,15060,15062,15064],{"class":3767,"line":15052},217,[3765,15054,15055],{"class":4381},"          onPress",[3765,15057,4385],{"class":3775},[3765,15059,4388],{"class":3790},[3765,15061,5219],{"class":3797},[3765,15063,5222],{"class":3790},[3765,15065,4487],{"class":3797},[3765,15067,15069,15072,15074,15076,15078,15081],{"class":3767,"line":15068},218,[3765,15070,15071],{"class":3771},"            router",[3765,15073,3776],{"class":3797},[3765,15075,3780],{"class":3779},[3765,15077,3783],{"class":3797},[3765,15079,15080],{"class":3786},"'\u002Fcreate-trip'",[3765,15082,3809],{"class":3797},[3765,15084,15086,15088],{"class":3767,"line":15085},219,[3765,15087,11245],{"class":3797},[3765,15089,4598],{"class":3790},[3765,15091,15093],{"class":3767,"line":15092},220,[3765,15094,11252],{"class":4375},[3765,15096,15098,15100,15102],{"class":3767,"line":15097},221,[3765,15099,5190],{"class":4375},[3765,15101,5093],{"class":3845},[3765,15103,4419],{"class":4375},[3765,15105,15107,15109,15111],{"class":3767,"line":15106},222,[3765,15108,5243],{"class":4375},[3765,15110,12472],{"class":3845},[3765,15112,4419],{"class":4375},[3765,15114,15116],{"class":3767,"line":15115},223,[3765,15117,5252],{"class":3775},[3765,15119,15121],{"class":3767,"line":15120},224,[3765,15122,4598],{"class":3775},[3765,15124,15126],{"class":3767,"line":15125},225,[3765,15127,4363],{"emptyLinePlaceholder":4362},[3765,15129,15131,15133,15135,15137,15139,15141,15143],{"class":3767,"line":15130},226,[3765,15132,3822],{"class":3790},[3765,15134,8093],{"class":3828},[3765,15136,4908],{"class":3775},[3765,15138,7163],{"class":3771},[3765,15140,3776],{"class":3775},[3765,15142,8102],{"class":3779},[3765,15144,4468],{"class":3775},[3765,15146,15148,15151],{"class":3767,"line":15147},227,[3765,15149,15150],{"class":3771},"  screen:",[3765,15152,4487],{"class":3775},[3765,15154,15156,15158,15160],{"class":3767,"line":15155},228,[3765,15157,8140],{"class":3771},[3765,15159,13149],{"class":4931},[3765,15161,4479],{"class":3775},[3765,15163,15165],{"class":3767,"line":15164},229,[3765,15166,4521],{"class":3775},[3765,15168,15170,15173],{"class":3767,"line":15169},230,[3765,15171,15172],{"class":3771},"  header:",[3765,15174,4487],{"class":3775},[3765,15176,15178,15181,15183],{"class":3767,"line":15177},231,[3765,15179,15180],{"class":3771},"    borderBottomWidth:",[3765,15182,8118],{"class":4931},[3765,15184,4479],{"class":3775},[3765,15186,15188],{"class":3767,"line":15187},232,[3765,15189,4521],{"class":3775},[3765,15191,15193,15196],{"class":3767,"line":15192},233,[3765,15194,15195],{"class":3771},"  themeRow:",[3765,15197,4487],{"class":3775},[3765,15199,15201,15204,15207],{"class":3767,"line":15200},234,[3765,15202,15203],{"class":3771},"    flexDirection:",[3765,15205,15206],{"class":3786}," 'row'",[3765,15208,4479],{"class":3775},[3765,15210,15212,15215,15218],{"class":3767,"line":15211},235,[3765,15213,15214],{"class":3771},"    flexWrap:",[3765,15216,15217],{"class":3786}," 'wrap'",[3765,15219,4479],{"class":3775},[3765,15221,15223],{"class":3767,"line":15222},236,[3765,15224,4521],{"class":3775},[3765,15226,15228,15231],{"class":3767,"line":15227},237,[3765,15229,15230],{"class":3771},"  themeChip:",[3765,15232,4487],{"class":3775},[3765,15234,15236,15238,15240],{"class":3767,"line":15235},238,[3765,15237,8140],{"class":3771},[3765,15239,8249],{"class":4931},[3765,15241,4479],{"class":3775},[3765,15243,15245,15247,15249],{"class":3767,"line":15244},239,[3765,15246,8473],{"class":3771},[3765,15248,8154],{"class":4931},[3765,15250,4479],{"class":3775},[3765,15252,15254,15256,15258],{"class":3767,"line":15253},240,[3765,15255,8314],{"class":3771},[3765,15257,8154],{"class":4931},[3765,15259,4479],{"class":3775},[3765,15261,15263,15265,15267],{"class":3767,"line":15262},241,[3765,15264,8324],{"class":3771},[3765,15266,8118],{"class":4931},[3765,15268,4479],{"class":3775},[3765,15270,15272],{"class":3767,"line":15271},242,[3765,15273,4521],{"class":3775},[3765,15275,15277,15280],{"class":3767,"line":15276},243,[3765,15278,15279],{"class":3771},"  themeChipText:",[3765,15281,4487],{"class":3775},[3765,15283,15285,15287,15289],{"class":3767,"line":15284},244,[3765,15286,8257],{"class":3771},[3765,15288,7010],{"class":3786},[3765,15290,4479],{"class":3775},[3765,15292,15294],{"class":3767,"line":15293},245,[3765,15295,4521],{"class":3775},[3765,15297,15299,15302],{"class":3767,"line":15298},246,[3765,15300,15301],{"class":3771},"  listWrap:",[3765,15303,4487],{"class":3775},[3765,15305,15307,15309,15311],{"class":3767,"line":15306},247,[3765,15308,9556],{"class":3771},[3765,15310,8118],{"class":4931},[3765,15312,4479],{"class":3775},[3765,15314,15316],{"class":3767,"line":15315},248,[3765,15317,4521],{"class":3775},[3765,15319,15321,15324],{"class":3767,"line":15320},249,[3765,15322,15323],{"class":3771},"  empty:",[3765,15325,4487],{"class":3775},[3765,15327,15329,15331,15333],{"class":3767,"line":15328},250,[3765,15330,8510],{"class":3771},[3765,15332,8513],{"class":3786},[3765,15334,4479],{"class":3775},[3765,15336,15338,15340,15342],{"class":3767,"line":15337},251,[3765,15339,9573],{"class":3771},[3765,15341,8513],{"class":3786},[3765,15343,4479],{"class":3775},[3765,15345,15347],{"class":3767,"line":15346},252,[3765,15348,4521],{"class":3775},[3765,15350,15352,15355],{"class":3767,"line":15351},253,[3765,15353,15354],{"class":3771},"  emptyTitle:",[3765,15356,4487],{"class":3775},[3765,15358,15360,15363,15365],{"class":3767,"line":15359},254,[3765,15361,15362],{"class":3771},"    textAlign:",[3765,15364,8513],{"class":3786},[3765,15366,4479],{"class":3775},[3765,15368,15370],{"class":3767,"line":15369},255,[3765,15371,4521],{"class":3775},[3765,15373,15375,15378],{"class":3767,"line":15374},256,[3765,15376,15377],{"class":3771},"  emptyDesc:",[3765,15379,4487],{"class":3775},[3765,15381,15383,15385,15387],{"class":3767,"line":15382},257,[3765,15384,15362],{"class":3771},[3765,15386,8513],{"class":3786},[3765,15388,4479],{"class":3775},[3765,15390,15392],{"class":3767,"line":15391},258,[3765,15393,4521],{"class":3775},[3765,15395,15397,15400],{"class":3767,"line":15396},259,[3765,15398,15399],{"class":3771},"  footer:",[3765,15401,4487],{"class":3775},[3765,15403,15405,15408,15410],{"class":3767,"line":15404},260,[3765,15406,15407],{"class":3771},"    borderTopWidth:",[3765,15409,8118],{"class":4931},[3765,15411,4479],{"class":3775},[3765,15413,15415],{"class":3767,"line":15414},261,[3765,15416,4521],{"class":3775},[3765,15418,15420],{"class":3767,"line":15419},262,[3765,15421,4527],{"class":3775},[3756,15423,15425],{"className":3758,"code":15424,"filename":5310,"language":3760,"meta":3761,"style":3761},"import { useCallback, useMemo } from 'react';\nimport {\n  Alert,\n  Image,\n  Platform,\n  ScrollView,\n  StyleSheet,\n  View,\n} from 'react-native';\nimport { Stack, useLocalSearchParams, useRouter } from 'expo-router';\nimport * as Linking from 'expo-linking';\n\nimport {\n  getPlacesForTrip,\n  useTrips,\n  type Place,\n} from '@\u002Ffeatures\u002Ftrips';\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\nimport { AppText, Button, Screen } from '@\u002Fshared\u002Fui';\n\n\u002F**\n * Деталі поїздки — вкладений Stack у вкладці «Поїздки».\n * Tab bar знизу лишається (на відміну від root-modal create-trip).\n *\u002F\nexport default function TripDetailsScreen() {\n  const { id } = useLocalSearchParams\u003C{ id: string }>();\n  const tripId = Array.isArray(id) ? id[0] : id;\n  const { getTrip } = useTrips();\n  const trip = tripId ? getTrip(tripId) : undefined;\n  const places = useMemo(\n    () => (tripId ? getPlacesForTrip(tripId) : []),\n    [tripId],\n  );\n  const { colors, spacing, radius } = useTheme();\n  const router = useRouter();\n\n  const openCreateModal = useCallback(() => {\n    router.push('\u002Fcreate-trip');\n  }, [router]);\n\n  const deepLink = tripId\n    ? Linking.createURL(`\u002Ftrips\u002F${tripId}`)\n    : Linking.createURL('\u002Ftrips');\n\n  const shareDeepLink = useCallback(async () => {\n    try {\n      await Linking.openURL(deepLink);\n    } catch {\n      Alert.alert('Deep link', deepLink);\n    }\n  }, [deepLink]);\n\n  if (!trip) {\n    return (\n      \u003CScreen>\n        \u003CStack.Screen options={{ title: 'Не знайдено' }} \u002F>\n        \u003CView style={[styles.center, { padding: spacing.lg }]}>\n          \u003CAppText variant=\"subtitle\">Поїздку не знайдено\u003C\u002FAppText>\n          \u003CAppText\n            variant=\"caption\"\n            color={colors.textSecondary}\n            style={{ marginTop: spacing.sm, textAlign: 'center' }}\n          >\n            Немає запису з id: {String(tripId)}. Можливо, список скинули\n            pull-to-refresh.\n          \u003C\u002FAppText>\n          \u003CButton\n            label=\"До списку\"\n            onPress={() => router.back()}\n            style={{ marginTop: spacing.md }}\n          \u002F>\n        \u003C\u002FView>\n      \u003C\u002FScreen>\n    );\n  }\n\n  return (\n    \u003CScreen style={styles.screen}>\n      \u003CStack.Screen options={{ title: trip.title }} \u002F>\n      \u003CScrollView\n        contentContainerStyle={{\n          paddingBottom: spacing.xl,\n        }}\n        showsVerticalScrollIndicator={false}\n      >\n        \u003CImage\n          source={{ uri: trip.coverUri }}\n          style={[styles.cover, { backgroundColor: colors.border }]}\n          resizeMode=\"cover\"\n        \u002F>\n        \u003CView style={{ padding: spacing.md, gap: spacing.sm }}>\n          \u003CAppText variant=\"title\">{trip.title}\u003C\u002FAppText>\n          \u003CAppText variant=\"caption\" color={colors.primary} style={styles.meta}>\n            {trip.dateLabel} · {trip.region}\n            {trip.plannedDays\n              ? ` · ${trip.plannedDays} дн.`\n              : ''}\n          \u003C\u002FAppText>\n\n          \u003CView style={[styles.badges, { gap: spacing.sm }]}>\n            {trip.isPrivate ? (\n              \u003CAppText variant=\"caption\" color={colors.textSecondary}>\n                приватна\n              \u003C\u002FAppText>\n            ) : null}\n            {trip.hasItinerary ? (\n              \u003CAppText variant=\"caption\" color={colors.primary}>\n                є план маршруту\n              \u003C\u002FAppText>\n            ) : null}\n          \u003C\u002FView>\n\n          \u003CAppText style={{ marginTop: spacing.sm, lineHeight: 24 }}>\n            {trip.description}\n          \u003C\u002FAppText>\n\n          \u003CAppText\n            style={{ fontWeight: '700', marginTop: spacing.md }}\n          >\n            Місця в цій поїздці\n          \u003C\u002FAppText>\n          {places.length === 0 ? (\n            \u003CAppText variant=\"caption\" color={colors.textSecondary}>\n              Поки немає точок у mock-даних для цієї поїздки.\n            \u003C\u002FAppText>\n          ) : (\n            places.map((place) => (\n              \u003CPlaceRow key={place.id} place={place} \u002F>\n            ))\n          )}\n\n          \u003CView style={{ gap: spacing.sm, marginTop: spacing.lg }}>\n            \u003CAppText style={{ fontWeight: '700' }}>Deep link\u003C\u002FAppText>\n            \u003CAppText variant=\"caption\" color={colors.textSecondary}>\n              Посилання на цей екран (scheme з app.json + path). У Expo Go\n              рядок може бути exp:\u002F\u002F…; у standalone — nomad:\u002F\u002F…\n            \u003C\u002FAppText>\n            \u003CAppText\n              variant=\"caption\"\n              color={colors.primary}\n              style={styles.linkMono}\n            >\n              {deepLink}\n            \u003C\u002FAppText>\n            \u003CButton\n              label=\"Відкрити це посилання\"\n              variant=\"secondary\"\n              onPress={shareDeepLink}\n            \u002F>\n\n            \u003CButton\n              label=\"Нова поїздка (modal)\"\n              onPress={openCreateModal}\n            \u002F>\n            \u003CAppText variant=\"caption\" color={colors.textSecondary}>\n              Modal create-trip на кореневому Stack — вкладки ховаються під\n              модалкою.\n            \u003C\u002FAppText>\n          \u003C\u002FView>\n        \u003C\u002FView>\n      \u003C\u002FScrollView>\n    \u003C\u002FScreen>\n  );\n}\n\nfunction PlaceRow({ place }: { place: Place }) {\n  const { colors, spacing, radius } = useTheme();\n  return (\n    \u003CView\n      style={[\n        styles.place,\n        {\n          backgroundColor: colors.surface,\n          borderColor: colors.border,\n          borderRadius: radius.md,\n          padding: spacing.sm,\n        },\n      ]}\n    >\n      \u003CAppText style={{ fontWeight: '700' }}>{place.name}\u003C\u002FAppText>\n      \u003CAppText variant=\"caption\" color={colors.primary}>\n        {place.city}\n      \u003C\u002FAppText>\n      \u003CAppText variant=\"caption\" color={colors.textSecondary}>\n        {place.note}\n      \u003C\u002FAppText>\n    \u003C\u002FView>\n  );\n}\n\nconst styles = StyleSheet.create({\n  screen: {\n    paddingHorizontal: 0,\n  },\n  center: {\n    flex: 1,\n    alignItems: 'center',\n    justifyContent: 'center',\n  },\n  cover: {\n    width: '100%',\n    height: 200,\n  },\n  meta: {\n    fontWeight: '600',\n  },\n  badges: {\n    flexDirection: 'row',\n    flexWrap: 'wrap',\n  },\n  linkMono: {\n    fontFamily: Platform.select({ ios: 'Menlo', android: 'monospace', default: 'monospace' }),\n  },\n  place: {\n    borderWidth: 1,\n    marginTop: 8,\n    ...Platform.select({\n      ios: {\n        shadowColor: '#000',\n        shadowOpacity: 0.04,\n        shadowRadius: 6,\n        shadowOffset: { width: 0, height: 2 },\n      },\n      android: { elevation: 1 },\n      default: {},\n    }),\n  },\n});\n",[3747,15426,15427,15448,15454,15461,15468,15475,15482,15488,15494,15504,15528,15544,15548,15554,15561,15567,15575,15585,15601,15625,15629,15633,15638,15643,15647,15659,15681,15713,15727,15751,15764,15787,15795,15799,15822,15834,15838,15855,15870,15878,15882,15893,15917,15934,15938,15959,15966,15983,15993,16013,16017,16025,16029,16039,16045,16053,16077,16114,16136,16142,16151,16168,16198,16203,16223,16228,16236,16242,16252,16275,16297,16301,16309,16317,16321,16325,16329,16335,16357,16385,16392,16402,16415,16421,16430,16434,16441,16466,16497,16507,16511,16549,16579,16622,16650,16661,16683,16693,16701,16705,16742,16757,16785,16790,16798,16807,16822,16850,16855,16863,16871,16879,16883,16917,16929,16937,16941,16947,16975,16979,16984,16992,17010,17038,17043,17051,17060,17079,17113,17118,17125,17129,17167,17200,17228,17233,17238,17246,17252,17261,17277,17294,17298,17307,17315,17321,17331,17340,17353,17357,17361,17367,17376,17389,17393,17421,17426,17431,17439,17447,17455,17464,17472,17476,17480,17484,17505,17527,17533,17539,17549,17559,17563,17575,17588,17602,17615,17619,17625,17629,17670,17698,17712,17720,17748,17760,17768,17776,17780,17784,17788,17804,17810,17818,17822,17828,17836,17844,17852,17856,17863,17873,17883,17887,17894,17902,17906,17913,17921,17929,17933,17940,17979,17983,17990,17998,18006,18020,18027,18037,18047,18056,18075,18079,18093,18101,18106,18110],{"__ignoreMap":3761},[3765,15428,15429,15431,15433,15435,15437,15440,15442,15444,15446],{"class":3767,"line":3768},[3765,15430,4716],{"class":4715},[3765,15432,3825],{"class":3775},[3765,15434,12264],{"class":3771},[3765,15436,4032],{"class":3775},[3765,15438,15439],{"class":3771},"useMemo",[3765,15441,4723],{"class":3775},[3765,15443,4726],{"class":4715},[3765,15445,12276],{"class":3786},[3765,15447,4732],{"class":3775},[3765,15449,15450,15452],{"class":3767,"line":4332},[3765,15451,4716],{"class":4715},[3765,15453,4487],{"class":3775},[3765,15455,15456,15459],{"class":3767,"line":4359},[3765,15457,15458],{"class":3771},"  Alert",[3765,15460,4479],{"class":3775},[3765,15462,15463,15466],{"class":3767,"line":4366},[3765,15464,15465],{"class":3771},"  Image",[3765,15467,4479],{"class":3775},[3765,15469,15470,15473],{"class":3767,"line":4372},[3765,15471,15472],{"class":3771},"  Platform",[3765,15474,4479],{"class":3775},[3765,15476,15477,15480],{"class":3767,"line":4504},[3765,15478,15479],{"class":3771},"  ScrollView",[3765,15481,4479],{"class":3775},[3765,15483,15484,15486],{"class":3767,"line":4518},[3765,15485,12310],{"class":3771},[3765,15487,4479],{"class":3775},[3765,15489,15490,15492],{"class":3767,"line":4524},[3765,15491,12317],{"class":3771},[3765,15493,4479],{"class":3775},[3765,15495,15496,15498,15500,15502],{"class":3767,"line":4530},[3765,15497,12324],{"class":3775},[3765,15499,4726],{"class":4715},[3765,15501,5603],{"class":3786},[3765,15503,4732],{"class":3775},[3765,15505,15506,15508,15510,15512,15514,15516,15518,15520,15522,15524,15526],{"class":3767,"line":4535},[3765,15507,4716],{"class":4715},[3765,15509,3825],{"class":3775},[3765,15511,3749],{"class":3771},[3765,15513,4032],{"class":3775},[3765,15515,3834],{"class":3771},[3765,15517,4032],{"class":3775},[3765,15519,7193],{"class":3771},[3765,15521,4723],{"class":3775},[3765,15523,4726],{"class":4715},[3765,15525,4729],{"class":3786},[3765,15527,4732],{"class":3775},[3765,15529,15530,15532,15534,15536,15538,15540,15542],{"class":3767,"line":4541},[3765,15531,4716],{"class":4715},[3765,15533,5573],{"class":3790},[3765,15535,5576],{"class":4715},[3765,15537,5579],{"class":3771},[3765,15539,5582],{"class":4715},[3765,15541,5585],{"class":3786},[3765,15543,4732],{"class":3775},[3765,15545,15546],{"class":3767,"line":4549},[3765,15547,4363],{"emptyLinePlaceholder":4362},[3765,15549,15550,15552],{"class":3767,"line":4562},[3765,15551,4716],{"class":4715},[3765,15553,4487],{"class":3775},[3765,15555,15556,15559],{"class":3767,"line":4572},[3765,15557,15558],{"class":3771},"  getPlacesForTrip",[3765,15560,4479],{"class":3775},[3765,15562,15563,15565],{"class":3767,"line":4592},[3765,15564,12400],{"class":3771},[3765,15566,4479],{"class":3775},[3765,15568,15569,15571,15573],{"class":3767,"line":4601},[3765,15570,12407],{"class":4715},[3765,15572,12410],{"class":3771},[3765,15574,4479],{"class":3775},[3765,15576,15577,15579,15581,15583],{"class":3767,"line":4606},[3765,15578,12324],{"class":3775},[3765,15580,4726],{"class":4715},[3765,15582,10865],{"class":3786},[3765,15584,4732],{"class":3775},[3765,15586,15587,15589,15591,15593,15595,15597,15599],{"class":3767,"line":4612},[3765,15588,4716],{"class":4715},[3765,15590,3825],{"class":3775},[3765,15592,10881],{"class":3771},[3765,15594,4723],{"class":3775},[3765,15596,4726],{"class":4715},[3765,15598,10888],{"class":3786},[3765,15600,4732],{"class":3775},[3765,15602,15603,15605,15607,15609,15611,15613,15615,15617,15619,15621,15623],{"class":3767,"line":6683},[3765,15604,4716],{"class":4715},[3765,15606,3825],{"class":3775},[3765,15608,5120],{"class":3771},[3765,15610,4032],{"class":3775},[3765,15612,5201],{"class":3771},[3765,15614,4032],{"class":3775},[3765,15616,12472],{"class":3771},[3765,15618,4723],{"class":3775},[3765,15620,4726],{"class":4715},[3765,15622,12479],{"class":3786},[3765,15624,4732],{"class":3775},[3765,15626,15627],{"class":3767,"line":6693},[3765,15628,4363],{"emptyLinePlaceholder":4362},[3765,15630,15631],{"class":3767,"line":6698},[3765,15632,10899],{"class":4328},[3765,15634,15635],{"class":3767,"line":6703},[3765,15636,15637],{"class":4328}," * Деталі поїздки — вкладений Stack у вкладці «Поїздки».\n",[3765,15639,15640],{"class":3767,"line":6713},[3765,15641,15642],{"class":4328}," * Tab bar знизу лишається (на відміну від root-modal create-trip).\n",[3765,15644,15645],{"class":3767,"line":6723},[3765,15646,10929],{"class":4328},[3765,15648,15649,15651,15653,15655,15657],{"class":3767,"line":6733},[3765,15650,4741],{"class":4715},[3765,15652,4744],{"class":4715},[3765,15654,4747],{"class":3790},[3765,15656,4750],{"class":3779},[3765,15658,4753],{"class":3775},[3765,15660,15661,15663,15665,15667,15669,15671,15673,15675,15677,15679],{"class":3767,"line":6743},[3765,15662,4758],{"class":3790},[3765,15664,3825],{"class":3775},[3765,15666,3800],{"class":3828},[3765,15668,3831],{"class":3775},[3765,15670,3834],{"class":3779},[3765,15672,3837],{"class":3775},[3765,15674,3800],{"class":3771},[3765,15676,3842],{"class":3775},[3765,15678,3846],{"class":3845},[3765,15680,3849],{"class":3775},[3765,15682,15683,15685,15687,15689,15691,15693,15695,15697,15699,15701,15703,15705,15707,15709,15711],{"class":3767,"line":6748},[3765,15684,4758],{"class":3790},[3765,15686,4905],{"class":3828},[3765,15688,4908],{"class":3775},[3765,15690,4911],{"class":3771},[3765,15692,3776],{"class":3775},[3765,15694,4916],{"class":3779},[3765,15696,3783],{"class":3775},[3765,15698,3800],{"class":3771},[3765,15700,4923],{"class":3775},[3765,15702,3800],{"class":3771},[3765,15704,4928],{"class":3775},[3765,15706,4932],{"class":4931},[3765,15708,4935],{"class":3775},[3765,15710,3800],{"class":3771},[3765,15712,4732],{"class":3775},[3765,15714,15715,15717,15719,15721,15723,15725],{"class":3767,"line":6754},[3765,15716,4758],{"class":3790},[3765,15718,3825],{"class":3775},[3765,15720,9968],{"class":3828},[3765,15722,3831],{"class":3775},[3765,15724,12618],{"class":3779},[3765,15726,6811],{"class":3775},[3765,15728,15729,15731,15733,15735,15737,15739,15741,15743,15745,15747,15749],{"class":3767,"line":6759},[3765,15730,4758],{"class":3790},[3765,15732,4495],{"class":3828},[3765,15734,4908],{"class":3775},[3765,15736,4275],{"class":3771},[3765,15738,8788],{"class":3775},[3765,15740,9968],{"class":3779},[3765,15742,3783],{"class":3775},[3765,15744,4275],{"class":3771},[3765,15746,8797],{"class":3775},[3765,15748,4279],{"class":3790},[3765,15750,4732],{"class":3775},[3765,15752,15753,15755,15758,15760,15762],{"class":3767,"line":6788},[3765,15754,4758],{"class":3790},[3765,15756,15757],{"class":3828}," places",[3765,15759,4908],{"class":3775},[3765,15761,15439],{"class":3779},[3765,15763,12724],{"class":3775},[3765,15765,15766,15769,15771,15773,15775,15777,15780,15782,15784],{"class":3767,"line":6814},[3765,15767,15768],{"class":3775},"    () ",[3765,15770,5222],{"class":3790},[3765,15772,7304],{"class":3775},[3765,15774,4275],{"class":3771},[3765,15776,8788],{"class":3775},[3765,15778,15779],{"class":3779},"getPlacesForTrip",[3765,15781,3783],{"class":3775},[3765,15783,4275],{"class":3771},[3765,15785,15786],{"class":3775},") : []),\n",[3765,15788,15789,15791,15793],{"class":3767,"line":6852},[3765,15790,12778],{"class":3775},[3765,15792,4275],{"class":3771},[3765,15794,12783],{"class":3775},[3765,15796,15797],{"class":3767,"line":7689},[3765,15798,5252],{"class":3775},[3765,15800,15801,15803,15805,15807,15809,15811,15813,15816,15818,15820],{"class":3767,"line":7730},[3765,15802,4758],{"class":3790},[3765,15804,3825],{"class":3775},[3765,15806,5162],{"class":3828},[3765,15808,4032],{"class":3775},[3765,15810,12633],{"class":3828},[3765,15812,4032],{"class":3775},[3765,15814,15815],{"class":3828},"radius",[3765,15817,3831],{"class":3775},[3765,15819,10881],{"class":3779},[3765,15821,6811],{"class":3775},[3765,15823,15824,15826,15828,15830,15832],{"class":3767,"line":7769},[3765,15825,4758],{"class":3790},[3765,15827,5225],{"class":3828},[3765,15829,4908],{"class":3775},[3765,15831,7193],{"class":3779},[3765,15833,6811],{"class":3775},[3765,15835,15836],{"class":3767,"line":7810},[3765,15837,4363],{"emptyLinePlaceholder":4362},[3765,15839,15840,15842,15845,15847,15849,15851,15853],{"class":3767,"line":7820},[3765,15841,4758],{"class":3790},[3765,15843,15844],{"class":3828}," openCreateModal",[3765,15846,4908],{"class":3775},[3765,15848,12264],{"class":3779},[3765,15850,12886],{"class":3775},[3765,15852,5222],{"class":3790},[3765,15854,4487],{"class":3775},[3765,15856,15857,15860,15862,15864,15866,15868],{"class":3767,"line":7830},[3765,15858,15859],{"class":3771},"    router",[3765,15861,3776],{"class":3775},[3765,15863,3780],{"class":3779},[3765,15865,3783],{"class":3775},[3765,15867,15080],{"class":3786},[3765,15869,3809],{"class":3775},[3765,15871,15872,15874,15876],{"class":3767,"line":7838},[3765,15873,12950],{"class":3775},[3765,15875,3772],{"class":3771},[3765,15877,12955],{"class":3775},[3765,15879,15880],{"class":3767,"line":7857},[3765,15881,4363],{"emptyLinePlaceholder":4362},[3765,15883,15884,15886,15888,15890],{"class":3767,"line":7885},[3765,15885,4758],{"class":3790},[3765,15887,8824],{"class":3828},[3765,15889,4908],{"class":3775},[3765,15891,15892],{"class":3771},"tripId\n",[3765,15894,15895,15897,15899,15901,15903,15905,15907,15909,15911,15913,15915],{"class":3767,"line":7891},[3765,15896,8834],{"class":3775},[3765,15898,5685],{"class":3771},[3765,15900,3776],{"class":3775},[3765,15902,5690],{"class":3779},[3765,15904,3783],{"class":3775},[3765,15906,3787],{"class":3786},[3765,15908,3791],{"class":3790},[3765,15910,4275],{"class":3771},[3765,15912,3803],{"class":3790},[3765,15914,3806],{"class":3786},[3765,15916,8866],{"class":3775},[3765,15918,15919,15921,15923,15925,15927,15929,15932],{"class":3767,"line":7924},[3765,15920,8871],{"class":3775},[3765,15922,5685],{"class":3771},[3765,15924,3776],{"class":3775},[3765,15926,5690],{"class":3779},[3765,15928,3783],{"class":3775},[3765,15930,15931],{"class":3786},"'\u002Ftrips'",[3765,15933,3809],{"class":3775},[3765,15935,15936],{"class":3767,"line":7933},[3765,15937,4363],{"emptyLinePlaceholder":4362},[3765,15939,15940,15942,15945,15947,15949,15951,15953,15955,15957],{"class":3767,"line":7943},[3765,15941,4758],{"class":3790},[3765,15943,15944],{"class":3828}," shareDeepLink",[3765,15946,4908],{"class":3775},[3765,15948,12264],{"class":3779},[3765,15950,3783],{"class":3775},[3765,15952,5660],{"class":3790},[3765,15954,5663],{"class":3775},[3765,15956,5222],{"class":3790},[3765,15958,4487],{"class":3775},[3765,15960,15961,15964],{"class":3767,"line":7951},[3765,15962,15963],{"class":4715},"    try",[3765,15965,4487],{"class":3775},[3765,15967,15968,15971,15973,15975,15977,15979,15981],{"class":3767,"line":7957},[3765,15969,15970],{"class":4715},"      await",[3765,15972,5579],{"class":3771},[3765,15974,3776],{"class":3775},[3765,15976,7357],{"class":3779},[3765,15978,3783],{"class":3775},[3765,15980,9357],{"class":3771},[3765,15982,3809],{"class":3775},[3765,15984,15985,15988,15991],{"class":3767,"line":7962},[3765,15986,15987],{"class":3775},"    } ",[3765,15989,15990],{"class":4715},"catch",[3765,15992,4487],{"class":3775},[3765,15994,15995,15998,16000,16002,16004,16007,16009,16011],{"class":3767,"line":7969},[3765,15996,15997],{"class":3771},"      Alert",[3765,15999,3776],{"class":3775},[3765,16001,9407],{"class":3779},[3765,16003,3783],{"class":3775},[3765,16005,16006],{"class":3786},"'Deep link'",[3765,16008,4032],{"class":3775},[3765,16010,9357],{"class":3771},[3765,16012,3809],{"class":3775},[3765,16014,16015],{"class":3767,"line":7988},[3765,16016,10700],{"class":3775},[3765,16018,16019,16021,16023],{"class":3767,"line":8017},[3765,16020,12950],{"class":3775},[3765,16022,9357],{"class":3771},[3765,16024,12955],{"class":3775},[3765,16026,16027],{"class":3767,"line":8022},[3765,16028,4363],{"emptyLinePlaceholder":4362},[3765,16030,16031,16033,16035,16037],{"class":3767,"line":8055},[3765,16032,4953],{"class":4715},[3765,16034,4956],{"class":3775},[3765,16036,3794],{"class":3771},[3765,16038,4961],{"class":3775},[3765,16040,16041,16043],{"class":3767,"line":8064},[3765,16042,4966],{"class":4715},[3765,16044,5085],{"class":3775},[3765,16046,16047,16049,16051],{"class":3767,"line":8073},[3765,16048,5117],{"class":4375},[3765,16050,12472],{"class":3845},[3765,16052,4419],{"class":4375},[3765,16054,16055,16057,16059,16061,16063,16065,16067,16069,16071,16073,16075],{"class":3767,"line":8078},[3765,16056,7042],{"class":4375},[3765,16058,7045],{"class":3845},[3765,16060,7056],{"class":4381},[3765,16062,4385],{"class":3775},[3765,16064,4388],{"class":3790},[3765,16066,7063],{"class":3797},[3765,16068,7066],{"class":3771},[3765,16070,8939],{"class":3786},[3765,16072,7072],{"class":3797},[3765,16074,3803],{"class":3790},[3765,16076,5238],{"class":4375},[3765,16078,16079,16081,16083,16085,16087,16089,16091,16093,16095,16097,16099,16101,16103,16105,16108,16110,16112],{"class":3767,"line":8083},[3765,16080,7042],{"class":4375},[3765,16082,5093],{"class":3845},[3765,16084,5096],{"class":4381},[3765,16086,4385],{"class":3775},[3765,16088,4388],{"class":3790},[3765,16090,4928],{"class":3797},[3765,16092,5103],{"class":3771},[3765,16094,3776],{"class":3797},[3765,16096,8916],{"class":3771},[3765,16098,14147],{"class":3797},[3765,16100,8277],{"class":3771},[3765,16102,13109],{"class":3771},[3765,16104,3776],{"class":3797},[3765,16106,16107],{"class":3771},"lg",[3765,16109,14168],{"class":3797},[3765,16111,3803],{"class":3790},[3765,16113,4419],{"class":4375},[3765,16115,16116,16118,16120,16122,16124,16126,16128,16130,16132,16134],{"class":3767,"line":8088},[3765,16117,7624],{"class":4375},[3765,16119,5120],{"class":3845},[3765,16121,5123],{"class":4381},[3765,16123,4385],{"class":3775},[3765,16125,5128],{"class":3786},[3765,16127,4408],{"class":4375},[3765,16129,5133],{"class":3775},[3765,16131,4414],{"class":4375},[3765,16133,5120],{"class":3845},[3765,16135,4419],{"class":4375},[3765,16137,16138,16140],{"class":3767,"line":8107},[3765,16139,7624],{"class":4375},[3765,16141,13626],{"class":3845},[3765,16143,16144,16147,16149],{"class":3767,"line":8129},[3765,16145,16146],{"class":4381},"            variant",[3765,16148,4385],{"class":3775},[3765,16150,13637],{"class":3786},[3765,16152,16153,16156,16158,16160,16162,16164,16166],{"class":3767,"line":8137},[3765,16154,16155],{"class":4381},"            color",[3765,16157,4385],{"class":3775},[3765,16159,4388],{"class":3790},[3765,16161,5162],{"class":3771},[3765,16163,3776],{"class":3797},[3765,16165,5167],{"class":3771},[3765,16167,4598],{"class":3790},[3765,16169,16170,16173,16175,16177,16179,16181,16183,16185,16187,16189,16192,16194,16196],{"class":3767,"line":8148},[3765,16171,16172],{"class":4381},"            style",[3765,16174,4385],{"class":3775},[3765,16176,4388],{"class":3790},[3765,16178,7063],{"class":3797},[3765,16180,9733],{"class":3771},[3765,16182,13109],{"class":3771},[3765,16184,3776],{"class":3797},[3765,16186,13176],{"class":3771},[3765,16188,4032],{"class":3797},[3765,16190,16191],{"class":3771},"textAlign:",[3765,16193,8513],{"class":3786},[3765,16195,7072],{"class":3797},[3765,16197,4598],{"class":3790},[3765,16199,16200],{"class":3767,"line":8159},[3765,16201,16202],{"class":4375},"          >\n",[3765,16204,16205,16208,16210,16212,16214,16216,16218,16220],{"class":3767,"line":8170},[3765,16206,16207],{"class":3775},"            Немає запису з id: ",[3765,16209,4388],{"class":3790},[3765,16211,8849],{"class":3779},[3765,16213,3783],{"class":3797},[3765,16215,4275],{"class":3771},[3765,16217,4679],{"class":3797},[3765,16219,3803],{"class":3790},[3765,16221,16222],{"class":3775},". Можливо, список скинули\n",[3765,16224,16225],{"class":3767,"line":8181},[3765,16226,16227],{"class":3775},"            pull-to-refresh.\n",[3765,16229,16230,16232,16234],{"class":3767,"line":8192},[3765,16231,7936],{"class":4375},[3765,16233,5120],{"class":3845},[3765,16235,4419],{"class":4375},[3765,16237,16238,16240],{"class":3767,"line":8197},[3765,16239,7624],{"class":4375},[3765,16241,15038],{"class":3845},[3765,16243,16244,16247,16249],{"class":3767,"line":8205},[3765,16245,16246],{"class":4381},"            label",[3765,16248,4385],{"class":3775},[3765,16250,16251],{"class":3786},"\"До списку\"\n",[3765,16253,16254,16257,16259,16261,16263,16265,16267,16269,16271,16273],{"class":3767,"line":8214},[3765,16255,16256],{"class":4381},"            onPress",[3765,16258,4385],{"class":3775},[3765,16260,4388],{"class":3790},[3765,16262,5219],{"class":3797},[3765,16264,5222],{"class":3790},[3765,16266,5225],{"class":3771},[3765,16268,3776],{"class":3797},[3765,16270,5230],{"class":3779},[3765,16272,5233],{"class":3797},[3765,16274,4598],{"class":3790},[3765,16276,16277,16279,16281,16283,16285,16287,16289,16291,16293,16295],{"class":3767,"line":8225},[3765,16278,16172],{"class":4381},[3765,16280,4385],{"class":3775},[3765,16282,4388],{"class":3790},[3765,16284,7063],{"class":3797},[3765,16286,9733],{"class":3771},[3765,16288,13109],{"class":3771},[3765,16290,3776],{"class":3797},[3765,16292,13114],{"class":3771},[3765,16294,7072],{"class":3797},[3765,16296,4598],{"class":3790},[3765,16298,16299],{"class":3767,"line":8235},[3765,16300,13398],{"class":4375},[3765,16302,16303,16305,16307],{"class":3767,"line":8244},[3765,16304,9099],{"class":4375},[3765,16306,5093],{"class":3845},[3765,16308,4419],{"class":4375},[3765,16310,16311,16313,16315],{"class":3767,"line":8254},[3765,16312,5190],{"class":4375},[3765,16314,12472],{"class":3845},[3765,16316,4419],{"class":4375},[3765,16318,16319],{"class":3767,"line":8264},[3765,16320,9116],{"class":3775},[3765,16322,16323],{"class":3767,"line":8269},[3765,16324,4990],{"class":3775},[3765,16326,16327],{"class":3767,"line":8292},[3765,16328,4363],{"emptyLinePlaceholder":4362},[3765,16330,16331,16333],{"class":3767,"line":8300},[3765,16332,5082],{"class":4715},[3765,16334,5085],{"class":3775},[3765,16336,16337,16339,16341,16343,16345,16347,16349,16351,16353,16355],{"class":3767,"line":8311},[3765,16338,5090],{"class":4375},[3765,16340,12472],{"class":3845},[3765,16342,5096],{"class":4381},[3765,16344,4385],{"class":3775},[3765,16346,4388],{"class":3790},[3765,16348,5103],{"class":3771},[3765,16350,3776],{"class":3797},[3765,16352,13739],{"class":3771},[3765,16354,3803],{"class":3790},[3765,16356,4419],{"class":4375},[3765,16358,16359,16361,16363,16365,16367,16369,16371,16373,16375,16377,16379,16381,16383],{"class":3767,"line":8321},[3765,16360,5117],{"class":4375},[3765,16362,7045],{"class":3845},[3765,16364,7056],{"class":4381},[3765,16366,4385],{"class":3775},[3765,16368,4388],{"class":3790},[3765,16370,7063],{"class":3797},[3765,16372,7066],{"class":3771},[3765,16374,4495],{"class":3771},[3765,16376,3776],{"class":3797},[3765,16378,5628],{"class":3771},[3765,16380,7072],{"class":3797},[3765,16382,3803],{"class":3790},[3765,16384,5238],{"class":4375},[3765,16386,16387,16389],{"class":3767,"line":8331},[3765,16388,5117],{"class":4375},[3765,16390,16391],{"class":3845},"ScrollView\n",[3765,16393,16394,16396,16398,16400],{"class":3767,"line":8342},[3765,16395,7547],{"class":4381},[3765,16397,4385],{"class":3775},[3765,16399,4388],{"class":3790},[3765,16401,4559],{"class":3797},[3765,16403,16404,16407,16409,16411,16413],{"class":3767,"line":8353},[3765,16405,16406],{"class":3771},"          paddingBottom:",[3765,16408,13109],{"class":3771},[3765,16410,3776],{"class":3797},[3765,16412,13539],{"class":3771},[3765,16414,4479],{"class":3797},[3765,16416,16417,16419],{"class":3767,"line":8363},[3765,16418,7030],{"class":3797},[3765,16420,4598],{"class":3790},[3765,16422,16423,16426,16428],{"class":3767,"line":8368},[3765,16424,16425],{"class":4381},"        showsVerticalScrollIndicator",[3765,16427,4385],{"class":3775},[3765,16429,13331],{"class":3790},[3765,16431,16432],{"class":3767,"line":8397},[3765,16433,7037],{"class":4375},[3765,16435,16436,16438],{"class":3767,"line":8432},[3765,16437,7042],{"class":4375},[3765,16439,16440],{"class":3845},"Image\n",[3765,16442,16443,16446,16448,16450,16452,16455,16457,16459,16462,16464],{"class":3767,"line":8452},[3765,16444,16445],{"class":4381},"          source",[3765,16447,4385],{"class":3775},[3765,16449,4388],{"class":3790},[3765,16451,7063],{"class":3797},[3765,16453,16454],{"class":3771},"uri:",[3765,16456,4495],{"class":3771},[3765,16458,3776],{"class":3797},[3765,16460,16461],{"class":3771},"coverUri",[3765,16463,7072],{"class":3797},[3765,16465,4598],{"class":3790},[3765,16467,16468,16470,16472,16474,16476,16478,16480,16483,16485,16487,16489,16491,16493,16495],{"class":3767,"line":8460},[3765,16469,13988],{"class":4381},[3765,16471,4385],{"class":3775},[3765,16473,4388],{"class":3790},[3765,16475,4928],{"class":3797},[3765,16477,5103],{"class":3771},[3765,16479,3776],{"class":3797},[3765,16481,16482],{"class":3771},"cover",[3765,16484,14147],{"class":3797},[3765,16486,6974],{"class":3771},[3765,16488,11062],{"class":3771},[3765,16490,3776],{"class":3797},[3765,16492,11547],{"class":3771},[3765,16494,14168],{"class":3797},[3765,16496,4598],{"class":3790},[3765,16498,16499,16502,16504],{"class":3767,"line":8470},[3765,16500,16501],{"class":4381},"          resizeMode",[3765,16503,4385],{"class":3775},[3765,16505,16506],{"class":3786},"\"cover\"\n",[3765,16508,16509],{"class":3767,"line":8480},[3765,16510,11252],{"class":4375},[3765,16512,16513,16515,16517,16519,16521,16523,16525,16527,16529,16531,16533,16535,16537,16539,16541,16543,16545,16547],{"class":3767,"line":8489},[3765,16514,7042],{"class":4375},[3765,16516,5093],{"class":3845},[3765,16518,5096],{"class":4381},[3765,16520,4385],{"class":3775},[3765,16522,4388],{"class":3790},[3765,16524,7063],{"class":3797},[3765,16526,8277],{"class":3771},[3765,16528,13109],{"class":3771},[3765,16530,3776],{"class":3797},[3765,16532,13114],{"class":3771},[3765,16534,4032],{"class":3797},[3765,16536,9540],{"class":3771},[3765,16538,13109],{"class":3771},[3765,16540,3776],{"class":3797},[3765,16542,13176],{"class":3771},[3765,16544,7072],{"class":3797},[3765,16546,3803],{"class":3790},[3765,16548,4419],{"class":4375},[3765,16550,16551,16553,16555,16557,16559,16561,16563,16565,16567,16569,16571,16573,16575,16577],{"class":3767,"line":8498},[3765,16552,7624],{"class":4375},[3765,16554,5120],{"class":3845},[3765,16556,5123],{"class":4381},[3765,16558,4385],{"class":3775},[3765,16560,13884],{"class":3786},[3765,16562,4408],{"class":4375},[3765,16564,4388],{"class":3790},[3765,16566,3794],{"class":3771},[3765,16568,3776],{"class":3797},[3765,16570,5628],{"class":3771},[3765,16572,3803],{"class":3790},[3765,16574,4414],{"class":4375},[3765,16576,5120],{"class":3845},[3765,16578,4419],{"class":4375},[3765,16580,16581,16583,16585,16587,16589,16591,16593,16595,16597,16599,16601,16603,16605,16607,16609,16611,16613,16615,16618,16620],{"class":3767,"line":8507},[3765,16582,7624],{"class":4375},[3765,16584,5120],{"class":3845},[3765,16586,5123],{"class":4381},[3765,16588,4385],{"class":3775},[3765,16590,5152],{"class":3786},[3765,16592,5155],{"class":4381},[3765,16594,4385],{"class":3775},[3765,16596,4388],{"class":3790},[3765,16598,5162],{"class":3771},[3765,16600,3776],{"class":3797},[3765,16602,11096],{"class":3771},[3765,16604,3803],{"class":3790},[3765,16606,5096],{"class":4381},[3765,16608,4385],{"class":3775},[3765,16610,4388],{"class":3790},[3765,16612,5103],{"class":3771},[3765,16614,3776],{"class":3797},[3765,16616,16617],{"class":3771},"meta",[3765,16619,3803],{"class":3790},[3765,16621,4419],{"class":4375},[3765,16623,16624,16627,16629,16631,16634,16636,16639,16641,16643,16645,16648],{"class":3767,"line":8518},[3765,16625,16626],{"class":3790},"            {",[3765,16628,3794],{"class":3771},[3765,16630,3776],{"class":3797},[3765,16632,16633],{"class":3771},"dateLabel",[3765,16635,3803],{"class":3790},[3765,16637,16638],{"class":3775}," · ",[3765,16640,4388],{"class":3790},[3765,16642,3794],{"class":3771},[3765,16644,3776],{"class":3797},[3765,16646,16647],{"class":3771},"region",[3765,16649,4598],{"class":3790},[3765,16651,16652,16654,16656,16658],{"class":3767,"line":8523},[3765,16653,16626],{"class":3790},[3765,16655,3794],{"class":3771},[3765,16657,3776],{"class":3797},[3765,16659,16660],{"class":3771},"plannedDays\n",[3765,16662,16663,16666,16669,16671,16673,16675,16678,16680],{"class":3767,"line":8543},[3765,16664,16665],{"class":3775},"              ?",[3765,16667,16668],{"class":3786}," ` · ",[3765,16670,3791],{"class":3790},[3765,16672,3794],{"class":3771},[3765,16674,3776],{"class":3797},[3765,16676,16677],{"class":3771},"plannedDays",[3765,16679,3803],{"class":3790},[3765,16681,16682],{"class":3786}," дн.`\n",[3765,16684,16685,16688,16691],{"class":3767,"line":8564},[3765,16686,16687],{"class":3775},"              :",[3765,16689,16690],{"class":3786}," ''",[3765,16692,4598],{"class":3790},[3765,16694,16695,16697,16699],{"class":3767,"line":8585},[3765,16696,7936],{"class":4375},[3765,16698,5120],{"class":3845},[3765,16700,4419],{"class":4375},[3765,16702,16703],{"class":3767,"line":13544},[3765,16704,4363],{"emptyLinePlaceholder":4362},[3765,16706,16707,16709,16711,16713,16715,16717,16719,16721,16723,16726,16728,16730,16732,16734,16736,16738,16740],{"class":3767,"line":13558},[3765,16708,7624],{"class":4375},[3765,16710,5093],{"class":3845},[3765,16712,5096],{"class":4381},[3765,16714,4385],{"class":3775},[3765,16716,4388],{"class":3790},[3765,16718,4928],{"class":3797},[3765,16720,5103],{"class":3771},[3765,16722,3776],{"class":3797},[3765,16724,16725],{"class":3771},"badges",[3765,16727,14147],{"class":3797},[3765,16729,9540],{"class":3771},[3765,16731,13109],{"class":3771},[3765,16733,3776],{"class":3797},[3765,16735,13176],{"class":3771},[3765,16737,14168],{"class":3797},[3765,16739,3803],{"class":3790},[3765,16741,4419],{"class":4375},[3765,16743,16744,16746,16748,16750,16753,16755],{"class":3767,"line":13563},[3765,16745,16626],{"class":3790},[3765,16747,3794],{"class":3771},[3765,16749,3776],{"class":3797},[3765,16751,16752],{"class":3771},"isPrivate",[3765,16754,11023],{"class":3775},[3765,16756,5085],{"class":3797},[3765,16758,16759,16761,16763,16765,16767,16769,16771,16773,16775,16777,16779,16781,16783],{"class":3767,"line":13571},[3765,16760,7682],{"class":4375},[3765,16762,5120],{"class":3845},[3765,16764,5123],{"class":4381},[3765,16766,4385],{"class":3775},[3765,16768,5152],{"class":3786},[3765,16770,5155],{"class":4381},[3765,16772,4385],{"class":3775},[3765,16774,4388],{"class":3790},[3765,16776,5162],{"class":3771},[3765,16778,3776],{"class":3797},[3765,16780,5167],{"class":3771},[3765,16782,3803],{"class":3790},[3765,16784,4419],{"class":4375},[3765,16786,16787],{"class":3767,"line":13576},[3765,16788,16789],{"class":3797},"                приватна\n",[3765,16791,16792,16794,16796],{"class":3767,"line":13606},[3765,16793,7813],{"class":4375},[3765,16795,5120],{"class":3845},[3765,16797,4419],{"class":4375},[3765,16799,16800,16803,16805],{"class":3767,"line":13612},[3765,16801,16802],{"class":3797},"            ) ",[3765,16804,4229],{"class":3775},[3765,16806,13416],{"class":3790},[3765,16808,16809,16811,16813,16815,16818,16820],{"class":3767,"line":13621},[3765,16810,16626],{"class":3790},[3765,16812,3794],{"class":3771},[3765,16814,3776],{"class":3797},[3765,16816,16817],{"class":3771},"hasItinerary",[3765,16819,11023],{"class":3775},[3765,16821,5085],{"class":3797},[3765,16823,16824,16826,16828,16830,16832,16834,16836,16838,16840,16842,16844,16846,16848],{"class":3767,"line":13629},[3765,16825,7682],{"class":4375},[3765,16827,5120],{"class":3845},[3765,16829,5123],{"class":4381},[3765,16831,4385],{"class":3775},[3765,16833,5152],{"class":3786},[3765,16835,5155],{"class":4381},[3765,16837,4385],{"class":3775},[3765,16839,4388],{"class":3790},[3765,16841,5162],{"class":3771},[3765,16843,3776],{"class":3797},[3765,16845,11096],{"class":3771},[3765,16847,3803],{"class":3790},[3765,16849,4419],{"class":4375},[3765,16851,16852],{"class":3767,"line":13640},[3765,16853,16854],{"class":3797},"                є план маршруту\n",[3765,16856,16857,16859,16861],{"class":3767,"line":13658},[3765,16858,7813],{"class":4375},[3765,16860,5120],{"class":3845},[3765,16862,4419],{"class":4375},[3765,16864,16865,16867,16869],{"class":3767,"line":13676},[3765,16866,16802],{"class":3797},[3765,16868,4229],{"class":3775},[3765,16870,13416],{"class":3790},[3765,16872,16873,16875,16877],{"class":3767,"line":13681},[3765,16874,7936],{"class":4375},[3765,16876,5093],{"class":3845},[3765,16878,4419],{"class":4375},[3765,16880,16881],{"class":3767,"line":13687},[3765,16882,4363],{"emptyLinePlaceholder":4362},[3765,16884,16885,16887,16889,16891,16893,16895,16897,16899,16901,16903,16905,16907,16909,16911,16913,16915],{"class":3767,"line":13696},[3765,16886,7624],{"class":4375},[3765,16888,5120],{"class":3845},[3765,16890,5096],{"class":4381},[3765,16892,4385],{"class":3775},[3765,16894,4388],{"class":3790},[3765,16896,7063],{"class":3797},[3765,16898,9733],{"class":3771},[3765,16900,13109],{"class":3771},[3765,16902,3776],{"class":3797},[3765,16904,13176],{"class":3771},[3765,16906,4032],{"class":3797},[3765,16908,9719],{"class":3771},[3765,16910,8287],{"class":4931},[3765,16912,7072],{"class":3797},[3765,16914,3803],{"class":3790},[3765,16916,4419],{"class":4375},[3765,16918,16919,16921,16923,16925,16927],{"class":3767,"line":13705},[3765,16920,16626],{"class":3790},[3765,16922,3794],{"class":3771},[3765,16924,3776],{"class":3797},[3765,16926,9290],{"class":3771},[3765,16928,4598],{"class":3790},[3765,16930,16931,16933,16935],{"class":3767,"line":13710},[3765,16932,7936],{"class":4375},[3765,16934,5120],{"class":3845},[3765,16936,4419],{"class":4375},[3765,16938,16939],{"class":3767,"line":13715},[3765,16940,4363],{"emptyLinePlaceholder":4362},[3765,16942,16943,16945],{"class":3767,"line":13722},[3765,16944,7624],{"class":4375},[3765,16946,13626],{"class":3845},[3765,16948,16949,16951,16953,16955,16957,16959,16961,16963,16965,16967,16969,16971,16973],{"class":3767,"line":13746},[3765,16950,16172],{"class":4381},[3765,16952,4385],{"class":3775},[3765,16954,4388],{"class":3790},[3765,16956,7063],{"class":3797},[3765,16958,7007],{"class":3771},[3765,16960,8386],{"class":3786},[3765,16962,4032],{"class":3797},[3765,16964,9733],{"class":3771},[3765,16966,13109],{"class":3771},[3765,16968,3776],{"class":3797},[3765,16970,13114],{"class":3771},[3765,16972,7072],{"class":3797},[3765,16974,4598],{"class":3790},[3765,16976,16977],{"class":3767,"line":13753},[3765,16978,16202],{"class":4375},[3765,16980,16981],{"class":3767,"line":13764},[3765,16982,16983],{"class":3775},"            Місця в цій поїздці\n",[3765,16985,16986,16988,16990],{"class":3767,"line":13777},[3765,16987,7936],{"class":4375},[3765,16989,5120],{"class":3845},[3765,16991,4419],{"class":4375},[3765,16993,16994,16996,16998,17000,17002,17004,17006,17008],{"class":3767,"line":13783},[3765,16995,14051],{"class":3790},[3765,16997,12663],{"class":3771},[3765,16999,3776],{"class":3797},[3765,17001,13143],{"class":3771},[3765,17003,11017],{"class":3775},[3765,17005,13149],{"class":4931},[3765,17007,11023],{"class":3775},[3765,17009,5085],{"class":3797},[3765,17011,17012,17014,17016,17018,17020,17022,17024,17026,17028,17030,17032,17034,17036],{"class":3767,"line":13797},[3765,17013,7648],{"class":4375},[3765,17015,5120],{"class":3845},[3765,17017,5123],{"class":4381},[3765,17019,4385],{"class":3775},[3765,17021,5152],{"class":3786},[3765,17023,5155],{"class":4381},[3765,17025,4385],{"class":3775},[3765,17027,4388],{"class":3790},[3765,17029,5162],{"class":3771},[3765,17031,3776],{"class":3797},[3765,17033,5167],{"class":3771},[3765,17035,3803],{"class":3790},[3765,17037,4419],{"class":4375},[3765,17039,17040],{"class":3767,"line":13811},[3765,17041,17042],{"class":3797},"              Поки немає точок у mock-даних для цієї поїздки.\n",[3765,17044,17045,17047,17049],{"class":3767,"line":13825},[3765,17046,7823],{"class":4375},[3765,17048,5120],{"class":3845},[3765,17050,4419],{"class":4375},[3765,17052,17053,17056,17058],{"class":3767,"line":13840},[3765,17054,17055],{"class":3797},"          ) ",[3765,17057,4229],{"class":3775},[3765,17059,5085],{"class":3797},[3765,17061,17062,17065,17067,17069,17071,17073,17075,17077],{"class":3767,"line":13854},[3765,17063,17064],{"class":3771},"            places",[3765,17066,3776],{"class":3797},[3765,17068,14185],{"class":3779},[3765,17070,6826],{"class":3797},[3765,17072,12811],{"class":3771},[3765,17074,6832],{"class":3797},[3765,17076,5222],{"class":3790},[3765,17078,5085],{"class":3797},[3765,17080,17081,17083,17086,17089,17091,17093,17095,17097,17099,17101,17103,17105,17107,17109,17111],{"class":3767,"line":13860},[3765,17082,7682],{"class":4375},[3765,17084,17085],{"class":3845},"PlaceRow",[3765,17087,17088],{"class":4381}," key",[3765,17090,4385],{"class":3775},[3765,17092,4388],{"class":3790},[3765,17094,12811],{"class":3771},[3765,17096,3776],{"class":3797},[3765,17098,3800],{"class":3771},[3765,17100,3803],{"class":3790},[3765,17102,13293],{"class":4381},[3765,17104,4385],{"class":3775},[3765,17106,4388],{"class":3790},[3765,17108,12811],{"class":3771},[3765,17110,3803],{"class":3790},[3765,17112,5238],{"class":4375},[3765,17114,17115],{"class":3767,"line":13868},[3765,17116,17117],{"class":3797},"            ))\n",[3765,17119,17120,17123],{"class":3767,"line":13873},[3765,17121,17122],{"class":3797},"          )",[3765,17124,4598],{"class":3790},[3765,17126,17127],{"class":3767,"line":13898},[3765,17128,4363],{"emptyLinePlaceholder":4362},[3765,17130,17131,17133,17135,17137,17139,17141,17143,17145,17147,17149,17151,17153,17155,17157,17159,17161,17163,17165],{"class":3767,"line":13933},[3765,17132,7624],{"class":4375},[3765,17134,5093],{"class":3845},[3765,17136,5096],{"class":4381},[3765,17138,4385],{"class":3775},[3765,17140,4388],{"class":3790},[3765,17142,7063],{"class":3797},[3765,17144,9540],{"class":3771},[3765,17146,13109],{"class":3771},[3765,17148,3776],{"class":3797},[3765,17150,13176],{"class":3771},[3765,17152,4032],{"class":3797},[3765,17154,9733],{"class":3771},[3765,17156,13109],{"class":3771},[3765,17158,3776],{"class":3797},[3765,17160,16107],{"class":3771},[3765,17162,7072],{"class":3797},[3765,17164,3803],{"class":3790},[3765,17166,4419],{"class":4375},[3765,17168,17169,17171,17173,17175,17177,17179,17181,17183,17185,17187,17189,17191,17194,17196,17198],{"class":3767,"line":13959},[3765,17170,7648],{"class":4375},[3765,17172,5120],{"class":3845},[3765,17174,5096],{"class":4381},[3765,17176,4385],{"class":3775},[3765,17178,4388],{"class":3790},[3765,17180,7063],{"class":3797},[3765,17182,7007],{"class":3771},[3765,17184,8386],{"class":3786},[3765,17186,7072],{"class":3797},[3765,17188,3803],{"class":3790},[3765,17190,4408],{"class":4375},[3765,17192,17193],{"class":3775},"Deep link",[3765,17195,4414],{"class":4375},[3765,17197,5120],{"class":3845},[3765,17199,4419],{"class":4375},[3765,17201,17202,17204,17206,17208,17210,17212,17214,17216,17218,17220,17222,17224,17226],{"class":3767,"line":13968},[3765,17203,7648],{"class":4375},[3765,17205,5120],{"class":3845},[3765,17207,5123],{"class":4381},[3765,17209,4385],{"class":3775},[3765,17211,5152],{"class":3786},[3765,17213,5155],{"class":4381},[3765,17215,4385],{"class":3775},[3765,17217,4388],{"class":3790},[3765,17219,5162],{"class":3771},[3765,17221,3776],{"class":3797},[3765,17223,5167],{"class":3771},[3765,17225,3803],{"class":3790},[3765,17227,4419],{"class":4375},[3765,17229,17230],{"class":3767,"line":13975},[3765,17231,17232],{"class":3775},"              Посилання на цей екран (scheme з app.json + path). У Expo Go\n",[3765,17234,17235],{"class":3767,"line":13985},[3765,17236,17237],{"class":3775},"              рядок може бути exp:\u002F\u002F…; у standalone — nomad:\u002F\u002F…\n",[3765,17239,17240,17242,17244],{"class":3767,"line":13997},[3765,17241,7823],{"class":4375},[3765,17243,5120],{"class":3845},[3765,17245,4419],{"class":4375},[3765,17247,17248,17250],{"class":3767,"line":14011},[3765,17249,7648],{"class":4375},[3765,17251,13626],{"class":3845},[3765,17253,17254,17257,17259],{"class":3767,"line":14025},[3765,17255,17256],{"class":4381},"              variant",[3765,17258,4385],{"class":3775},[3765,17260,13637],{"class":3786},[3765,17262,17263,17265,17267,17269,17271,17273,17275],{"class":3767,"line":14035},[3765,17264,11900],{"class":4381},[3765,17266,4385],{"class":3775},[3765,17268,4388],{"class":3790},[3765,17270,5162],{"class":3771},[3765,17272,3776],{"class":3797},[3765,17274,11096],{"class":3771},[3765,17276,4598],{"class":3790},[3765,17278,17279,17281,17283,17285,17287,17289,17292],{"class":3767,"line":14042},[3765,17280,7841],{"class":4381},[3765,17282,4385],{"class":3775},[3765,17284,4388],{"class":3790},[3765,17286,5103],{"class":3771},[3765,17288,3776],{"class":3797},[3765,17290,17291],{"class":3771},"linkMono",[3765,17293,4598],{"class":3790},[3765,17295,17296],{"class":3767,"line":14048},[3765,17297,7888],{"class":4375},[3765,17299,17300,17303,17305],{"class":3767,"line":14065},[3765,17301,17302],{"class":3790},"              {",[3765,17304,9357],{"class":3771},[3765,17306,4598],{"class":3790},[3765,17308,17309,17311,17313],{"class":3767,"line":14100},[3765,17310,7823],{"class":4375},[3765,17312,5120],{"class":3845},[3765,17314,4419],{"class":4375},[3765,17316,17317,17319],{"class":3767,"line":14111},[3765,17318,7648],{"class":4375},[3765,17320,15038],{"class":3845},[3765,17322,17323,17326,17328],{"class":3767,"line":14120},[3765,17324,17325],{"class":4381},"              label",[3765,17327,4385],{"class":3775},[3765,17329,17330],{"class":3786},"\"Відкрити це посилання\"\n",[3765,17332,17333,17335,17337],{"class":3767,"line":14125},[3765,17334,17256],{"class":4381},[3765,17336,4385],{"class":3775},[3765,17338,17339],{"class":3786},"\"secondary\"\n",[3765,17341,17342,17344,17346,17348,17351],{"class":3767,"line":14175},[3765,17343,7860],{"class":4381},[3765,17345,4385],{"class":3775},[3765,17347,4388],{"class":3790},[3765,17349,17350],{"class":3771},"shareDeepLink",[3765,17352,4598],{"class":3790},[3765,17354,17355],{"class":3767,"line":14198},[3765,17356,11913],{"class":4375},[3765,17358,17359],{"class":3767,"line":14224},[3765,17360,4363],{"emptyLinePlaceholder":4362},[3765,17362,17363,17365],{"class":3767,"line":14232},[3765,17364,7648],{"class":4375},[3765,17366,15038],{"class":3845},[3765,17368,17369,17371,17373],{"class":3767,"line":14239},[3765,17370,17325],{"class":4381},[3765,17372,4385],{"class":3775},[3765,17374,17375],{"class":3786},"\"Нова поїздка (modal)\"\n",[3765,17377,17378,17380,17382,17384,17387],{"class":3767,"line":14257},[3765,17379,7860],{"class":4381},[3765,17381,4385],{"class":3775},[3765,17383,4388],{"class":3790},[3765,17385,17386],{"class":3771},"openCreateModal",[3765,17388,4598],{"class":3790},[3765,17390,17391],{"class":3767,"line":14286},[3765,17392,11913],{"class":4375},[3765,17394,17395,17397,17399,17401,17403,17405,17407,17409,17411,17413,17415,17417,17419],{"class":3767,"line":14298},[3765,17396,7648],{"class":4375},[3765,17398,5120],{"class":3845},[3765,17400,5123],{"class":4381},[3765,17402,4385],{"class":3775},[3765,17404,5152],{"class":3786},[3765,17406,5155],{"class":4381},[3765,17408,4385],{"class":3775},[3765,17410,4388],{"class":3790},[3765,17412,5162],{"class":3771},[3765,17414,3776],{"class":3797},[3765,17416,5167],{"class":3771},[3765,17418,3803],{"class":3790},[3765,17420,4419],{"class":4375},[3765,17422,17423],{"class":3767,"line":14311},[3765,17424,17425],{"class":3775},"              Modal create-trip на кореневому Stack — вкладки ховаються під\n",[3765,17427,17428],{"class":3767,"line":14317},[3765,17429,17430],{"class":3775},"              модалкою.\n",[3765,17432,17433,17435,17437],{"class":3767,"line":14344},[3765,17434,7823],{"class":4375},[3765,17436,5120],{"class":3845},[3765,17438,4419],{"class":4375},[3765,17440,17441,17443,17445],{"class":3767,"line":14358},[3765,17442,7936],{"class":4375},[3765,17444,5093],{"class":3845},[3765,17446,4419],{"class":4375},[3765,17448,17449,17451,17453],{"class":3767,"line":14364},[3765,17450,9099],{"class":4375},[3765,17452,5093],{"class":3845},[3765,17454,4419],{"class":4375},[3765,17456,17457,17459,17462],{"class":3767,"line":14372},[3765,17458,5190],{"class":4375},[3765,17460,17461],{"class":3845},"ScrollView",[3765,17463,4419],{"class":4375},[3765,17465,17466,17468,17470],{"class":3767,"line":14383},[3765,17467,5243],{"class":4375},[3765,17469,12472],{"class":3845},[3765,17471,4419],{"class":4375},[3765,17473,17474],{"class":3767,"line":14404},[3765,17475,5252],{"class":3775},[3765,17477,17478],{"class":3767,"line":14431},[3765,17479,4598],{"class":3775},[3765,17481,17482],{"class":3767,"line":14437},[3765,17483,4363],{"emptyLinePlaceholder":4362},[3765,17485,17486,17488,17491,17493,17495,17497,17499,17501,17503],{"class":3767,"line":14444},[3765,17487,10963],{"class":3790},[3765,17489,17490],{"class":3779}," PlaceRow",[3765,17492,5621],{"class":3775},[3765,17494,12811],{"class":3771},[3765,17496,5631],{"class":3775},[3765,17498,12811],{"class":3771},[3765,17500,3842],{"class":3775},[3765,17502,12673],{"class":3845},[3765,17504,5648],{"class":3775},[3765,17506,17507,17509,17511,17513,17515,17517,17519,17521,17523,17525],{"class":3767,"line":14454},[3765,17508,4758],{"class":3790},[3765,17510,3825],{"class":3775},[3765,17512,5162],{"class":3828},[3765,17514,4032],{"class":3775},[3765,17516,12633],{"class":3828},[3765,17518,4032],{"class":3775},[3765,17520,15815],{"class":3828},[3765,17522,3831],{"class":3775},[3765,17524,10881],{"class":3779},[3765,17526,6811],{"class":3775},[3765,17528,17529,17531],{"class":3767,"line":14486},[3765,17530,5082],{"class":4715},[3765,17532,5085],{"class":3775},[3765,17534,17535,17537],{"class":3767,"line":14505},[3765,17536,5090],{"class":4375},[3765,17538,13485],{"class":3845},[3765,17540,17541,17543,17545,17547],{"class":3767,"line":14511},[3765,17542,13490],{"class":4381},[3765,17544,4385],{"class":3775},[3765,17546,4388],{"class":3790},[3765,17548,13497],{"class":3797},[3765,17550,17551,17553,17555,17557],{"class":3767,"line":14525},[3765,17552,13502],{"class":3771},[3765,17554,3776],{"class":3797},[3765,17556,12811],{"class":3771},[3765,17558,4479],{"class":3797},[3765,17560,17561],{"class":3767,"line":14535},[3765,17562,13514],{"class":3797},[3765,17564,17565,17567,17569,17571,17573],{"class":3767,"line":14544},[3765,17566,11527],{"class":3771},[3765,17568,11062],{"class":3771},[3765,17570,3776],{"class":3797},[3765,17572,14339],{"class":3771},[3765,17574,4479],{"class":3797},[3765,17576,17577,17580,17582,17584,17586],{"class":3767,"line":14550},[3765,17578,17579],{"class":3771},"          borderColor:",[3765,17581,11062],{"class":3771},[3765,17583,3776],{"class":3797},[3765,17585,11547],{"class":3771},[3765,17587,4479],{"class":3797},[3765,17589,17590,17593,17596,17598,17600],{"class":3767,"line":14558},[3765,17591,17592],{"class":3771},"          borderRadius:",[3765,17594,17595],{"class":3771}," radius",[3765,17597,3776],{"class":3797},[3765,17599,13114],{"class":3771},[3765,17601,4479],{"class":3797},[3765,17603,17604,17607,17609,17611,17613],{"class":3767,"line":14567},[3765,17605,17606],{"class":3771},"          padding:",[3765,17608,13109],{"class":3771},[3765,17610,3776],{"class":3797},[3765,17612,13176],{"class":3771},[3765,17614,4479],{"class":3797},[3765,17616,17617],{"class":3767,"line":14576},[3765,17618,11554],{"class":3797},[3765,17620,17621,17623],{"class":3767,"line":14581},[3765,17622,13566],{"class":3797},[3765,17624,4598],{"class":3790},[3765,17626,17627],{"class":3767,"line":14605},[3765,17628,11595],{"class":4375},[3765,17630,17631,17633,17635,17637,17639,17641,17643,17645,17647,17649,17651,17653,17655,17657,17659,17662,17664,17666,17668],{"class":3767,"line":14613},[3765,17632,5117],{"class":4375},[3765,17634,5120],{"class":3845},[3765,17636,5096],{"class":4381},[3765,17638,4385],{"class":3775},[3765,17640,4388],{"class":3790},[3765,17642,7063],{"class":3797},[3765,17644,7007],{"class":3771},[3765,17646,8386],{"class":3786},[3765,17648,7072],{"class":3797},[3765,17650,3803],{"class":3790},[3765,17652,4408],{"class":4375},[3765,17654,4388],{"class":3790},[3765,17656,12811],{"class":3771},[3765,17658,3776],{"class":3797},[3765,17660,17661],{"class":3771},"name",[3765,17663,3803],{"class":3790},[3765,17665,4414],{"class":4375},[3765,17667,5120],{"class":3845},[3765,17669,4419],{"class":4375},[3765,17671,17672,17674,17676,17678,17680,17682,17684,17686,17688,17690,17692,17694,17696],{"class":3767,"line":14627},[3765,17673,5117],{"class":4375},[3765,17675,5120],{"class":3845},[3765,17677,5123],{"class":4381},[3765,17679,4385],{"class":3775},[3765,17681,5152],{"class":3786},[3765,17683,5155],{"class":4381},[3765,17685,4385],{"class":3775},[3765,17687,4388],{"class":3790},[3765,17689,5162],{"class":3771},[3765,17691,3776],{"class":3797},[3765,17693,11096],{"class":3771},[3765,17695,3803],{"class":3790},[3765,17697,4419],{"class":4375},[3765,17699,17700,17703,17705,17707,17710],{"class":3767,"line":14642},[3765,17701,17702],{"class":3790},"        {",[3765,17704,12811],{"class":3771},[3765,17706,3776],{"class":3797},[3765,17708,17709],{"class":3771},"city",[3765,17711,4598],{"class":3790},[3765,17713,17714,17716,17718],{"class":3767,"line":14657},[3765,17715,5190],{"class":4375},[3765,17717,5120],{"class":3845},[3765,17719,4419],{"class":4375},[3765,17721,17722,17724,17726,17728,17730,17732,17734,17736,17738,17740,17742,17744,17746],{"class":3767,"line":14672},[3765,17723,5117],{"class":4375},[3765,17725,5120],{"class":3845},[3765,17727,5123],{"class":4381},[3765,17729,4385],{"class":3775},[3765,17731,5152],{"class":3786},[3765,17733,5155],{"class":4381},[3765,17735,4385],{"class":3775},[3765,17737,4388],{"class":3790},[3765,17739,5162],{"class":3771},[3765,17741,3776],{"class":3797},[3765,17743,5167],{"class":3771},[3765,17745,3803],{"class":3790},[3765,17747,4419],{"class":4375},[3765,17749,17750,17752,17754,17756,17758],{"class":3767,"line":14687},[3765,17751,17702],{"class":3790},[3765,17753,12811],{"class":3771},[3765,17755,3776],{"class":3797},[3765,17757,3976],{"class":3771},[3765,17759,4598],{"class":3790},[3765,17761,17762,17764,17766],{"class":3767,"line":14699},[3765,17763,5190],{"class":4375},[3765,17765,5120],{"class":3845},[3765,17767,4419],{"class":4375},[3765,17769,17770,17772,17774],{"class":3767,"line":14712},[3765,17771,5243],{"class":4375},[3765,17773,5093],{"class":3845},[3765,17775,4419],{"class":4375},[3765,17777,17778],{"class":3767,"line":14725},[3765,17779,5252],{"class":3775},[3765,17781,17782],{"class":3767,"line":14738},[3765,17783,4598],{"class":3775},[3765,17785,17786],{"class":3767,"line":14745},[3765,17787,4363],{"emptyLinePlaceholder":4362},[3765,17789,17790,17792,17794,17796,17798,17800,17802],{"class":3767,"line":14787},[3765,17791,3822],{"class":3790},[3765,17793,8093],{"class":3828},[3765,17795,4908],{"class":3775},[3765,17797,7163],{"class":3771},[3765,17799,3776],{"class":3775},[3765,17801,8102],{"class":3779},[3765,17803,4468],{"class":3775},[3765,17805,17806,17808],{"class":3767,"line":14797},[3765,17807,15150],{"class":3771},[3765,17809,4487],{"class":3775},[3765,17811,17812,17814,17816],{"class":3767,"line":14805},[3765,17813,8140],{"class":3771},[3765,17815,13149],{"class":4931},[3765,17817,4479],{"class":3775},[3765,17819,17820],{"class":3767,"line":14819},[3765,17821,4521],{"class":3775},[3765,17823,17824,17826],{"class":3767,"line":14834},[3765,17825,9549],{"class":3771},[3765,17827,4487],{"class":3775},[3765,17829,17830,17832,17834],{"class":3767,"line":14852},[3765,17831,9556],{"class":3771},[3765,17833,8118],{"class":4931},[3765,17835,4479],{"class":3775},[3765,17837,17838,17840,17842],{"class":3767,"line":14874},[3765,17839,8510],{"class":3771},[3765,17841,8513],{"class":3786},[3765,17843,4479],{"class":3775},[3765,17845,17846,17848,17850],{"class":3767,"line":14879},[3765,17847,9573],{"class":3771},[3765,17849,8513],{"class":3786},[3765,17851,4479],{"class":3775},[3765,17853,17854],{"class":3767,"line":14885},[3765,17855,4521],{"class":3775},[3765,17857,17858,17861],{"class":3767,"line":14895},[3765,17859,17860],{"class":3771},"  cover:",[3765,17862,4487],{"class":3775},[3765,17864,17865,17868,17871],{"class":3767,"line":14900},[3765,17866,17867],{"class":3771},"    width:",[3765,17869,17870],{"class":3786}," '100%'",[3765,17872,4479],{"class":3775},[3765,17874,17875,17878,17881],{"class":3767,"line":14909},[3765,17876,17877],{"class":3771},"    height:",[3765,17879,17880],{"class":4931}," 200",[3765,17882,4479],{"class":3775},[3765,17884,17885],{"class":3767,"line":14914},[3765,17886,4521],{"class":3775},[3765,17888,17889,17892],{"class":3767,"line":14921},[3765,17890,17891],{"class":3771},"  meta:",[3765,17893,4487],{"class":3775},[3765,17895,17896,17898,17900],{"class":3767,"line":14932},[3765,17897,8257],{"class":3771},[3765,17899,7010],{"class":3786},[3765,17901,4479],{"class":3775},[3765,17903,17904],{"class":3767,"line":14944},[3765,17905,4521],{"class":3775},[3765,17907,17908,17911],{"class":3767,"line":14949},[3765,17909,17910],{"class":3771},"  badges:",[3765,17912,4487],{"class":3775},[3765,17914,17915,17917,17919],{"class":3767,"line":14962},[3765,17916,15203],{"class":3771},[3765,17918,15206],{"class":3786},[3765,17920,4479],{"class":3775},[3765,17922,17923,17925,17927],{"class":3767,"line":14975},[3765,17924,15214],{"class":3771},[3765,17926,15217],{"class":3786},[3765,17928,4479],{"class":3775},[3765,17930,17931],{"class":3767,"line":14988},[3765,17932,4521],{"class":3775},[3765,17934,17935,17938],{"class":3767,"line":15002},[3765,17936,17937],{"class":3771},"  linkMono:",[3765,17939,4487],{"class":3775},[3765,17941,17942,17945,17948,17950,17953,17955,17958,17961,17963,17966,17969,17971,17974,17976],{"class":3767,"line":15016},[3765,17943,17944],{"class":3771},"    fontFamily:",[3765,17946,17947],{"class":3771}," Platform",[3765,17949,3776],{"class":3775},[3765,17951,17952],{"class":3779},"select",[3765,17954,5621],{"class":3775},[3765,17956,17957],{"class":3771},"ios:",[3765,17959,17960],{"class":3786}," 'Menlo'",[3765,17962,4032],{"class":3775},[3765,17964,17965],{"class":3771},"android:",[3765,17967,17968],{"class":3786}," 'monospace'",[3765,17970,4032],{"class":3775},[3765,17972,17973],{"class":3771},"default:",[3765,17975,17968],{"class":3786},[3765,17977,17978],{"class":3775}," }),\n",[3765,17980,17981],{"class":3767,"line":15021},[3765,17982,4521],{"class":3775},[3765,17984,17985,17988],{"class":3767,"line":15028},[3765,17986,17987],{"class":3771},"  place:",[3765,17989,4487],{"class":3775},[3765,17991,17992,17994,17996],{"class":3767,"line":15033},[3765,17993,8324],{"class":3771},[3765,17995,8118],{"class":4931},[3765,17997,4479],{"class":3775},[3765,17999,18000,18002,18004],{"class":3767,"line":15041},[3765,18001,8217],{"class":3771},[3765,18003,8154],{"class":4931},[3765,18005,4479],{"class":3775},[3765,18007,18008,18011,18014,18016,18018],{"class":3767,"line":15052},[3765,18009,18010],{"class":3775},"    ...",[3765,18012,18013],{"class":3771},"Platform",[3765,18015,3776],{"class":3775},[3765,18017,17952],{"class":3779},[3765,18019,4468],{"class":3775},[3765,18021,18022,18025],{"class":3767,"line":15068},[3765,18023,18024],{"class":3771},"      ios:",[3765,18026,4487],{"class":3775},[3765,18028,18029,18032,18035],{"class":3767,"line":15085},[3765,18030,18031],{"class":3771},"        shadowColor:",[3765,18033,18034],{"class":3786}," '#000'",[3765,18036,4479],{"class":3775},[3765,18038,18039,18042,18045],{"class":3767,"line":15092},[3765,18040,18041],{"class":3771},"        shadowOpacity:",[3765,18043,18044],{"class":4931}," 0.04",[3765,18046,4479],{"class":3775},[3765,18048,18049,18052,18054],{"class":3767,"line":15097},[3765,18050,18051],{"class":3771},"        shadowRadius:",[3765,18053,8220],{"class":4931},[3765,18055,4479],{"class":3775},[3765,18057,18058,18061,18063,18065,18067,18069,18071,18073],{"class":3767,"line":15106},[3765,18059,18060],{"class":3771},"        shadowOffset:",[3765,18062,3825],{"class":3775},[3765,18064,13359],{"class":3771},[3765,18066,13149],{"class":4931},[3765,18068,4032],{"class":3775},[3765,18070,7588],{"class":3771},[3765,18072,9697],{"class":4931},[3765,18074,4589],{"class":3775},[3765,18076,18077],{"class":3767,"line":15115},[3765,18078,10609],{"class":3775},[3765,18080,18081,18084,18086,18089,18091],{"class":3767,"line":15120},[3765,18082,18083],{"class":3771},"      android:",[3765,18085,3825],{"class":3775},[3765,18087,18088],{"class":3771},"elevation:",[3765,18090,8118],{"class":4931},[3765,18092,4589],{"class":3775},[3765,18094,18095,18098],{"class":3767,"line":15125},[3765,18096,18097],{"class":3771},"      default:",[3765,18099,18100],{"class":3775}," {},\n",[3765,18102,18103],{"class":3767,"line":15130},[3765,18104,18105],{"class":3775},"    }),\n",[3765,18107,18108],{"class":3767,"line":15147},[3765,18109,4521],{"class":3775},[3765,18111,18112],{"class":3767,"line":15155},[3765,18113,4527],{"class":3775},[3756,18115,18118],{"className":3758,"code":18116,"filename":18117,"language":3760,"meta":3761,"style":3761},"import { useCallback, useState } from 'react';\nimport { FlatList, StyleSheet, View } from 'react-native';\nimport { useRouter } from 'expo-router';\n\nimport { mockPlaces, PlaceChip, type Place } from '@\u002Ffeatures\u002Ftrips';\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\nimport { AppText, Screen } from '@\u002Fshared\u002Fui';\n\n\u002F**\n * Вкладка «Місця» — повний список місць (раніше лише горизонтальна стрічка на home).\n *\u002F\nexport default function PlacesScreen() {\n  const router = useRouter();\n  const { colors, spacing } = useTheme();\n  const [places] = useState\u003CPlace[]>(mockPlaces);\n\n  const handleOpenPlace = useCallback(\n    (place: Place) => {\n      router.push(`\u002Ftrips\u002F${place.tripId}`);\n    },\n    [router],\n  );\n\n  return (\n    \u003CScreen style={styles.screen}>\n      \u003CView\n        style={[\n          styles.header,\n          {\n            paddingHorizontal: spacing.md,\n            paddingTop: spacing.sm,\n            paddingBottom: spacing.md,\n            borderBottomColor: colors.border,\n          },\n        ]}\n      >\n        \u003CAppText variant=\"title\">Місця\u003C\u002FAppText>\n        \u003CAppText variant=\"caption\" style={{ marginTop: spacing.xs }}>\n          Усі збережені точки з mock-даних · {places.length}\n        \u003C\u002FAppText>\n      \u003C\u002FView>\n\n      \u003CFlatList\n        data={places}\n        keyExtractor={(item) => item.id}\n        numColumns={2}\n        columnWrapperStyle={{\n          gap: spacing.sm,\n          paddingHorizontal: spacing.md,\n        }}\n        contentContainerStyle={{\n          paddingTop: spacing.md,\n          paddingBottom: spacing.xl,\n          gap: spacing.sm,\n        }}\n        renderItem={({ item }) => (\n          \u003CView style={styles.cell}>\n            \u003CPlaceChip place={item} onPress={handleOpenPlace} \u002F>\n          \u003C\u002FView>\n        )}\n        ListEmptyComponent={\n          \u003CView style={styles.empty}>\n            \u003CAppText variant=\"subtitle\" style={styles.center}>\n              Місць поки немає\n            \u003C\u002FAppText>\n            \u003CAppText variant=\"caption\" color={colors.textSecondary} style={styles.center}>\n              Вони з’являться разом із поїздками.\n            \u003C\u002FAppText>\n          \u003C\u002FView>\n        }\n        showsVerticalScrollIndicator={false}\n      \u002F>\n    \u003C\u002FScreen>\n  );\n}\n\nconst styles = StyleSheet.create({\n  screen: {\n    paddingHorizontal: 0,\n  },\n  header: {\n    borderBottomWidth: 1,\n  },\n  cell: {\n    flex: 1,\n  },\n  empty: {\n    padding: 32,\n    gap: 8,\n  },\n  center: {\n    textAlign: 'center',\n  },\n});\n","app\u002F(tabs)\u002Fplaces.tsx",[3747,18119,18120,18140,18164,18180,18184,18210,18226,18246,18250,18254,18259,18263,18276,18288,18306,18328,18332,18344,18360,18386,18390,18398,18402,18406,18412,18434,18440,18450,18460,18464,18476,18488,18500,18512,18516,18522,18526,18549,18583,18598,18606,18614,18618,18624,18636,18660,18674,18685,18697,18709,18715,18725,18738,18750,18762,18768,18786,18809,18837,18845,18851,18860,18882,18910,18915,18923,18965,18970,18978,18986,18991,18999,19003,19011,19015,19019,19023,19039,19045,19053,19057,19063,19071,19075,19082,19090,19094,19100,19109,19117,19121,19127,19135,19139],{"__ignoreMap":3761},[3765,18121,18122,18124,18126,18128,18130,18132,18134,18136,18138],{"class":3767,"line":3768},[3765,18123,4716],{"class":4715},[3765,18125,3825],{"class":3775},[3765,18127,12264],{"class":3771},[3765,18129,4032],{"class":3775},[3765,18131,12269],{"class":3771},[3765,18133,4723],{"class":3775},[3765,18135,4726],{"class":4715},[3765,18137,12276],{"class":3786},[3765,18139,4732],{"class":3775},[3765,18141,18142,18144,18146,18148,18150,18152,18154,18156,18158,18160,18162],{"class":3767,"line":4332},[3765,18143,4716],{"class":4715},[3765,18145,3825],{"class":3775},[3765,18147,7153],{"class":3771},[3765,18149,4032],{"class":3775},[3765,18151,7163],{"class":3771},[3765,18153,4032],{"class":3775},[3765,18155,5093],{"class":3771},[3765,18157,4723],{"class":3775},[3765,18159,4726],{"class":4715},[3765,18161,5603],{"class":3786},[3765,18163,4732],{"class":3775},[3765,18165,18166,18168,18170,18172,18174,18176,18178],{"class":3767,"line":4359},[3765,18167,4716],{"class":4715},[3765,18169,3825],{"class":3775},[3765,18171,7193],{"class":3771},[3765,18173,4723],{"class":3775},[3765,18175,4726],{"class":4715},[3765,18177,4729],{"class":3786},[3765,18179,4732],{"class":3775},[3765,18181,18182],{"class":3767,"line":4366},[3765,18183,4363],{"emptyLinePlaceholder":4362},[3765,18185,18186,18188,18190,18192,18194,18196,18198,18200,18202,18204,18206,18208],{"class":3767,"line":4372},[3765,18187,4716],{"class":4715},[3765,18189,3825],{"class":3775},[3765,18191,12679],{"class":3771},[3765,18193,4032],{"class":3775},[3765,18195,13290],{"class":3771},[3765,18197,4032],{"class":3775},[3765,18199,12444],{"class":4715},[3765,18201,12410],{"class":3771},[3765,18203,4723],{"class":3775},[3765,18205,4726],{"class":4715},[3765,18207,10865],{"class":3786},[3765,18209,4732],{"class":3775},[3765,18211,18212,18214,18216,18218,18220,18222,18224],{"class":3767,"line":4504},[3765,18213,4716],{"class":4715},[3765,18215,3825],{"class":3775},[3765,18217,10881],{"class":3771},[3765,18219,4723],{"class":3775},[3765,18221,4726],{"class":4715},[3765,18223,10888],{"class":3786},[3765,18225,4732],{"class":3775},[3765,18227,18228,18230,18232,18234,18236,18238,18240,18242,18244],{"class":3767,"line":4518},[3765,18229,4716],{"class":4715},[3765,18231,3825],{"class":3775},[3765,18233,5120],{"class":3771},[3765,18235,4032],{"class":3775},[3765,18237,12472],{"class":3771},[3765,18239,4723],{"class":3775},[3765,18241,4726],{"class":4715},[3765,18243,12479],{"class":3786},[3765,18245,4732],{"class":3775},[3765,18247,18248],{"class":3767,"line":4524},[3765,18249,4363],{"emptyLinePlaceholder":4362},[3765,18251,18252],{"class":3767,"line":4530},[3765,18253,10899],{"class":4328},[3765,18255,18256],{"class":3767,"line":4535},[3765,18257,18258],{"class":4328}," * Вкладка «Місця» — повний список місць (раніше лише горизонтальна стрічка на home).\n",[3765,18260,18261],{"class":3767,"line":4541},[3765,18262,10929],{"class":4328},[3765,18264,18265,18267,18269,18271,18274],{"class":3767,"line":4549},[3765,18266,4741],{"class":4715},[3765,18268,4744],{"class":4715},[3765,18270,4747],{"class":3790},[3765,18272,18273],{"class":3779}," PlacesScreen",[3765,18275,4753],{"class":3775},[3765,18277,18278,18280,18282,18284,18286],{"class":3767,"line":4562},[3765,18279,4758],{"class":3790},[3765,18281,5225],{"class":3828},[3765,18283,4908],{"class":3775},[3765,18285,7193],{"class":3779},[3765,18287,6811],{"class":3775},[3765,18289,18290,18292,18294,18296,18298,18300,18302,18304],{"class":3767,"line":4572},[3765,18291,4758],{"class":3790},[3765,18293,3825],{"class":3775},[3765,18295,5162],{"class":3828},[3765,18297,4032],{"class":3775},[3765,18299,12633],{"class":3828},[3765,18301,3831],{"class":3775},[3765,18303,10881],{"class":3779},[3765,18305,6811],{"class":3775},[3765,18307,18308,18310,18312,18314,18316,18318,18320,18322,18324,18326],{"class":3767,"line":4592},[3765,18309,4758],{"class":3790},[3765,18311,12660],{"class":3775},[3765,18313,12663],{"class":3828},[3765,18315,12666],{"class":3775},[3765,18317,12269],{"class":3779},[3765,18319,4376],{"class":3775},[3765,18321,12673],{"class":3845},[3765,18323,12676],{"class":3775},[3765,18325,12679],{"class":3771},[3765,18327,3809],{"class":3775},[3765,18329,18330],{"class":3767,"line":4601},[3765,18331,4363],{"emptyLinePlaceholder":4362},[3765,18333,18334,18336,18338,18340,18342],{"class":3767,"line":4606},[3765,18335,4758],{"class":3790},[3765,18337,12798],{"class":3828},[3765,18339,4908],{"class":3775},[3765,18341,12264],{"class":3779},[3765,18343,12724],{"class":3775},[3765,18345,18346,18348,18350,18352,18354,18356,18358],{"class":3767,"line":4612},[3765,18347,12729],{"class":3775},[3765,18349,12811],{"class":3771},[3765,18351,3842],{"class":3775},[3765,18353,12673],{"class":3845},[3765,18355,6832],{"class":3775},[3765,18357,5222],{"class":3790},[3765,18359,4487],{"class":3775},[3765,18361,18362,18364,18366,18368,18370,18372,18374,18376,18378,18380,18382,18384],{"class":3767,"line":6683},[3765,18363,12747],{"class":3771},[3765,18365,3776],{"class":3775},[3765,18367,3780],{"class":3779},[3765,18369,3783],{"class":3775},[3765,18371,3787],{"class":3786},[3765,18373,3791],{"class":3790},[3765,18375,12811],{"class":3771},[3765,18377,3776],{"class":3797},[3765,18379,4275],{"class":3771},[3765,18381,3803],{"class":3790},[3765,18383,3806],{"class":3786},[3765,18385,3809],{"class":3775},[3765,18387,18388],{"class":3767,"line":6693},[3765,18389,10551],{"class":3775},[3765,18391,18392,18394,18396],{"class":3767,"line":6698},[3765,18393,12778],{"class":3775},[3765,18395,3772],{"class":3771},[3765,18397,12783],{"class":3775},[3765,18399,18400],{"class":3767,"line":6703},[3765,18401,5252],{"class":3775},[3765,18403,18404],{"class":3767,"line":6713},[3765,18405,4363],{"emptyLinePlaceholder":4362},[3765,18407,18408,18410],{"class":3767,"line":6723},[3765,18409,5082],{"class":4715},[3765,18411,5085],{"class":3775},[3765,18413,18414,18416,18418,18420,18422,18424,18426,18428,18430,18432],{"class":3767,"line":6733},[3765,18415,5090],{"class":4375},[3765,18417,12472],{"class":3845},[3765,18419,5096],{"class":4381},[3765,18421,4385],{"class":3775},[3765,18423,4388],{"class":3790},[3765,18425,5103],{"class":3771},[3765,18427,3776],{"class":3797},[3765,18429,13739],{"class":3771},[3765,18431,3803],{"class":3790},[3765,18433,4419],{"class":4375},[3765,18435,18436,18438],{"class":3767,"line":6743},[3765,18437,5117],{"class":4375},[3765,18439,13485],{"class":3845},[3765,18441,18442,18444,18446,18448],{"class":3767,"line":6748},[3765,18443,7972],{"class":4381},[3765,18445,4385],{"class":3775},[3765,18447,4388],{"class":3790},[3765,18449,13497],{"class":3797},[3765,18451,18452,18454,18456,18458],{"class":3767,"line":6754},[3765,18453,13767],{"class":3771},[3765,18455,3776],{"class":3797},[3765,18457,13772],{"class":3771},[3765,18459,4479],{"class":3797},[3765,18461,18462],{"class":3767,"line":6759},[3765,18463,13780],{"class":3797},[3765,18465,18466,18468,18470,18472,18474],{"class":3767,"line":6788},[3765,18467,13786],{"class":3771},[3765,18469,13109],{"class":3771},[3765,18471,3776],{"class":3797},[3765,18473,13114],{"class":3771},[3765,18475,4479],{"class":3797},[3765,18477,18478,18480,18482,18484,18486],{"class":3767,"line":6814},[3765,18479,13800],{"class":3771},[3765,18481,13109],{"class":3771},[3765,18483,3776],{"class":3797},[3765,18485,13176],{"class":3771},[3765,18487,4479],{"class":3797},[3765,18489,18490,18492,18494,18496,18498],{"class":3767,"line":6852},[3765,18491,13814],{"class":3771},[3765,18493,13109],{"class":3771},[3765,18495,3776],{"class":3797},[3765,18497,13114],{"class":3771},[3765,18499,4479],{"class":3797},[3765,18501,18502,18504,18506,18508,18510],{"class":3767,"line":7689},[3765,18503,13843],{"class":3771},[3765,18505,11062],{"class":3771},[3765,18507,3776],{"class":3797},[3765,18509,11547],{"class":3771},[3765,18511,4479],{"class":3797},[3765,18513,18514],{"class":3767,"line":7730},[3765,18515,13857],{"class":3797},[3765,18517,18518,18520],{"class":3767,"line":7769},[3765,18519,13863],{"class":3797},[3765,18521,4598],{"class":3790},[3765,18523,18524],{"class":3767,"line":7810},[3765,18525,7037],{"class":4375},[3765,18527,18528,18530,18532,18534,18536,18538,18540,18543,18545,18547],{"class":3767,"line":7820},[3765,18529,7042],{"class":4375},[3765,18531,5120],{"class":3845},[3765,18533,5123],{"class":4381},[3765,18535,4385],{"class":3775},[3765,18537,13884],{"class":3786},[3765,18539,4408],{"class":4375},[3765,18541,18542],{"class":3775},"Місця",[3765,18544,4414],{"class":4375},[3765,18546,5120],{"class":3845},[3765,18548,4419],{"class":4375},[3765,18550,18551,18553,18555,18557,18559,18561,18563,18565,18567,18569,18571,18573,18575,18577,18579,18581],{"class":3767,"line":7830},[3765,18552,7042],{"class":4375},[3765,18554,5120],{"class":3845},[3765,18556,5123],{"class":4381},[3765,18558,4385],{"class":3775},[3765,18560,5152],{"class":3786},[3765,18562,5096],{"class":4381},[3765,18564,4385],{"class":3775},[3765,18566,4388],{"class":3790},[3765,18568,7063],{"class":3797},[3765,18570,9733],{"class":3771},[3765,18572,13109],{"class":3771},[3765,18574,3776],{"class":3797},[3765,18576,13835],{"class":3771},[3765,18578,7072],{"class":3797},[3765,18580,3803],{"class":3790},[3765,18582,4419],{"class":4375},[3765,18584,18585,18588,18590,18592,18594,18596],{"class":3767,"line":7838},[3765,18586,18587],{"class":3775},"          Усі збережені точки з mock-даних · ",[3765,18589,4388],{"class":3790},[3765,18591,12663],{"class":3771},[3765,18593,3776],{"class":3797},[3765,18595,13143],{"class":3771},[3765,18597,4598],{"class":3790},[3765,18599,18600,18602,18604],{"class":3767,"line":7857},[3765,18601,9099],{"class":4375},[3765,18603,5120],{"class":3845},[3765,18605,4419],{"class":4375},[3765,18607,18608,18610,18612],{"class":3767,"line":7885},[3765,18609,5190],{"class":4375},[3765,18611,5093],{"class":3845},[3765,18613,4419],{"class":4375},[3765,18615,18616],{"class":3767,"line":7891},[3765,18617,4363],{"emptyLinePlaceholder":4362},[3765,18619,18620,18622],{"class":3767,"line":7924},[3765,18621,5117],{"class":4375},[3765,18623,7502],{"class":3845},[3765,18625,18626,18628,18630,18632,18634],{"class":3767,"line":7933},[3765,18627,7507],{"class":4381},[3765,18629,4385],{"class":3775},[3765,18631,4388],{"class":3790},[3765,18633,12663],{"class":3771},[3765,18635,4598],{"class":3790},[3765,18637,18638,18640,18642,18644,18646,18648,18650,18652,18654,18656,18658],{"class":3767,"line":7943},[3765,18639,7520],{"class":4381},[3765,18641,4385],{"class":3775},[3765,18643,4388],{"class":3790},[3765,18645,3783],{"class":3797},[3765,18647,7529],{"class":3771},[3765,18649,6832],{"class":3797},[3765,18651,5222],{"class":3790},[3765,18653,7536],{"class":3771},[3765,18655,3776],{"class":3797},[3765,18657,3800],{"class":3771},[3765,18659,4598],{"class":3790},[3765,18661,18662,18665,18667,18669,18672],{"class":3767,"line":7951},[3765,18663,18664],{"class":4381},"        numColumns",[3765,18666,4385],{"class":3775},[3765,18668,4388],{"class":3790},[3765,18670,18671],{"class":4931},"2",[3765,18673,4598],{"class":3790},[3765,18675,18676,18679,18681,18683],{"class":3767,"line":7957},[3765,18677,18678],{"class":4381},"        columnWrapperStyle",[3765,18680,4385],{"class":3775},[3765,18682,4388],{"class":3790},[3765,18684,4559],{"class":3797},[3765,18686,18687,18689,18691,18693,18695],{"class":3767,"line":7962},[3765,18688,13547],{"class":3771},[3765,18690,13109],{"class":3771},[3765,18692,3776],{"class":3797},[3765,18694,13176],{"class":3771},[3765,18696,4479],{"class":3797},[3765,18698,18699,18701,18703,18705,18707],{"class":3767,"line":7969},[3765,18700,13519],{"class":3771},[3765,18702,13109],{"class":3771},[3765,18704,3776],{"class":3797},[3765,18706,13114],{"class":3771},[3765,18708,4479],{"class":3797},[3765,18710,18711,18713],{"class":3767,"line":7988},[3765,18712,7030],{"class":3797},[3765,18714,4598],{"class":3790},[3765,18716,18717,18719,18721,18723],{"class":3767,"line":8017},[3765,18718,7547],{"class":4381},[3765,18720,4385],{"class":3775},[3765,18722,4388],{"class":3790},[3765,18724,4559],{"class":3797},[3765,18726,18727,18730,18732,18734,18736],{"class":3767,"line":8022},[3765,18728,18729],{"class":3771},"          paddingTop:",[3765,18731,13109],{"class":3771},[3765,18733,3776],{"class":3797},[3765,18735,13114],{"class":3771},[3765,18737,4479],{"class":3797},[3765,18739,18740,18742,18744,18746,18748],{"class":3767,"line":8055},[3765,18741,16406],{"class":3771},[3765,18743,13109],{"class":3771},[3765,18745,3776],{"class":3797},[3765,18747,13539],{"class":3771},[3765,18749,4479],{"class":3797},[3765,18751,18752,18754,18756,18758,18760],{"class":3767,"line":8064},[3765,18753,13547],{"class":3771},[3765,18755,13109],{"class":3771},[3765,18757,3776],{"class":3797},[3765,18759,13176],{"class":3771},[3765,18761,4479],{"class":3797},[3765,18763,18764,18766],{"class":3767,"line":8073},[3765,18765,7030],{"class":3797},[3765,18767,4598],{"class":3790},[3765,18769,18770,18772,18774,18776,18778,18780,18782,18784],{"class":3767,"line":8078},[3765,18771,7604],{"class":4381},[3765,18773,4385],{"class":3775},[3765,18775,4388],{"class":3790},[3765,18777,5621],{"class":3797},[3765,18779,7529],{"class":3771},[3765,18781,7615],{"class":3797},[3765,18783,5222],{"class":3790},[3765,18785,5085],{"class":3797},[3765,18787,18788,18790,18792,18794,18796,18798,18800,18802,18805,18807],{"class":3767,"line":8083},[3765,18789,7624],{"class":4375},[3765,18791,5093],{"class":3845},[3765,18793,5096],{"class":4381},[3765,18795,4385],{"class":3775},[3765,18797,4388],{"class":3790},[3765,18799,5103],{"class":3771},[3765,18801,3776],{"class":3797},[3765,18803,18804],{"class":3771},"cell",[3765,18806,3803],{"class":3790},[3765,18808,4419],{"class":4375},[3765,18810,18811,18813,18815,18817,18819,18821,18823,18825,18827,18829,18831,18833,18835],{"class":3767,"line":8088},[3765,18812,7648],{"class":4375},[3765,18814,13290],{"class":3845},[3765,18816,13293],{"class":4381},[3765,18818,4385],{"class":3775},[3765,18820,4388],{"class":3790},[3765,18822,7529],{"class":3771},[3765,18824,3803],{"class":3790},[3765,18826,5212],{"class":4381},[3765,18828,4385],{"class":3775},[3765,18830,4388],{"class":3790},[3765,18832,13310],{"class":3771},[3765,18834,3803],{"class":3790},[3765,18836,5238],{"class":4375},[3765,18838,18839,18841,18843],{"class":3767,"line":8107},[3765,18840,7936],{"class":4375},[3765,18842,5093],{"class":3845},[3765,18844,4419],{"class":4375},[3765,18846,18847,18849],{"class":3767,"line":8129},[3765,18848,7946],{"class":3797},[3765,18850,4598],{"class":3790},[3765,18852,18853,18856,18858],{"class":3767,"line":8137},[3765,18854,18855],{"class":4381},"        ListEmptyComponent",[3765,18857,4385],{"class":3775},[3765,18859,4559],{"class":3790},[3765,18861,18862,18864,18866,18868,18870,18872,18874,18876,18878,18880],{"class":3767,"line":8148},[3765,18863,7624],{"class":4375},[3765,18865,5093],{"class":3845},[3765,18867,5096],{"class":4381},[3765,18869,4385],{"class":3775},[3765,18871,4388],{"class":3790},[3765,18873,5103],{"class":3771},[3765,18875,3776],{"class":3797},[3765,18877,13507],{"class":3771},[3765,18879,3803],{"class":3790},[3765,18881,4419],{"class":4375},[3765,18883,18884,18886,18888,18890,18892,18894,18896,18898,18900,18902,18904,18906,18908],{"class":3767,"line":8159},[3765,18885,7648],{"class":4375},[3765,18887,5120],{"class":3845},[3765,18889,5123],{"class":4381},[3765,18891,4385],{"class":3775},[3765,18893,5128],{"class":3786},[3765,18895,5096],{"class":4381},[3765,18897,4385],{"class":3775},[3765,18899,4388],{"class":3790},[3765,18901,5103],{"class":3771},[3765,18903,3776],{"class":3797},[3765,18905,8916],{"class":3771},[3765,18907,3803],{"class":3790},[3765,18909,4419],{"class":4375},[3765,18911,18912],{"class":3767,"line":8170},[3765,18913,18914],{"class":3797},"              Місць поки немає\n",[3765,18916,18917,18919,18921],{"class":3767,"line":8181},[3765,18918,7823],{"class":4375},[3765,18920,5120],{"class":3845},[3765,18922,4419],{"class":4375},[3765,18924,18925,18927,18929,18931,18933,18935,18937,18939,18941,18943,18945,18947,18949,18951,18953,18955,18957,18959,18961,18963],{"class":3767,"line":8192},[3765,18926,7648],{"class":4375},[3765,18928,5120],{"class":3845},[3765,18930,5123],{"class":4381},[3765,18932,4385],{"class":3775},[3765,18934,5152],{"class":3786},[3765,18936,5155],{"class":4381},[3765,18938,4385],{"class":3775},[3765,18940,4388],{"class":3790},[3765,18942,5162],{"class":3771},[3765,18944,3776],{"class":3797},[3765,18946,5167],{"class":3771},[3765,18948,3803],{"class":3790},[3765,18950,5096],{"class":4381},[3765,18952,4385],{"class":3775},[3765,18954,4388],{"class":3790},[3765,18956,5103],{"class":3771},[3765,18958,3776],{"class":3797},[3765,18960,8916],{"class":3771},[3765,18962,3803],{"class":3790},[3765,18964,4419],{"class":4375},[3765,18966,18967],{"class":3767,"line":8197},[3765,18968,18969],{"class":3797},"              Вони з’являться разом із поїздками.\n",[3765,18971,18972,18974,18976],{"class":3767,"line":8205},[3765,18973,7823],{"class":4375},[3765,18975,5120],{"class":3845},[3765,18977,4419],{"class":4375},[3765,18979,18980,18982,18984],{"class":3767,"line":8214},[3765,18981,7936],{"class":4375},[3765,18983,5093],{"class":3845},[3765,18985,4419],{"class":4375},[3765,18987,18988],{"class":3767,"line":8225},[3765,18989,18990],{"class":3790},"        }\n",[3765,18992,18993,18995,18997],{"class":3767,"line":8235},[3765,18994,16425],{"class":4381},[3765,18996,4385],{"class":3775},[3765,18998,13331],{"class":3790},[3765,19000,19001],{"class":3767,"line":8244},[3765,19002,7954],{"class":4375},[3765,19004,19005,19007,19009],{"class":3767,"line":8254},[3765,19006,5243],{"class":4375},[3765,19008,12472],{"class":3845},[3765,19010,4419],{"class":4375},[3765,19012,19013],{"class":3767,"line":8264},[3765,19014,5252],{"class":3775},[3765,19016,19017],{"class":3767,"line":8269},[3765,19018,4598],{"class":3775},[3765,19020,19021],{"class":3767,"line":8292},[3765,19022,4363],{"emptyLinePlaceholder":4362},[3765,19024,19025,19027,19029,19031,19033,19035,19037],{"class":3767,"line":8300},[3765,19026,3822],{"class":3790},[3765,19028,8093],{"class":3828},[3765,19030,4908],{"class":3775},[3765,19032,7163],{"class":3771},[3765,19034,3776],{"class":3775},[3765,19036,8102],{"class":3779},[3765,19038,4468],{"class":3775},[3765,19040,19041,19043],{"class":3767,"line":8311},[3765,19042,15150],{"class":3771},[3765,19044,4487],{"class":3775},[3765,19046,19047,19049,19051],{"class":3767,"line":8321},[3765,19048,8140],{"class":3771},[3765,19050,13149],{"class":4931},[3765,19052,4479],{"class":3775},[3765,19054,19055],{"class":3767,"line":8331},[3765,19056,4521],{"class":3775},[3765,19058,19059,19061],{"class":3767,"line":8342},[3765,19060,15172],{"class":3771},[3765,19062,4487],{"class":3775},[3765,19064,19065,19067,19069],{"class":3767,"line":8353},[3765,19066,15180],{"class":3771},[3765,19068,8118],{"class":4931},[3765,19070,4479],{"class":3775},[3765,19072,19073],{"class":3767,"line":8363},[3765,19074,4521],{"class":3775},[3765,19076,19077,19080],{"class":3767,"line":8368},[3765,19078,19079],{"class":3771},"  cell:",[3765,19081,4487],{"class":3775},[3765,19083,19084,19086,19088],{"class":3767,"line":8397},[3765,19085,9556],{"class":3771},[3765,19087,8118],{"class":4931},[3765,19089,4479],{"class":3775},[3765,19091,19092],{"class":3767,"line":8432},[3765,19093,4521],{"class":3775},[3765,19095,19096,19098],{"class":3767,"line":8452},[3765,19097,15323],{"class":3771},[3765,19099,4487],{"class":3775},[3765,19101,19102,19104,19107],{"class":3767,"line":8460},[3765,19103,8345],{"class":3771},[3765,19105,19106],{"class":4931}," 32",[3765,19108,4479],{"class":3775},[3765,19110,19111,19113,19115],{"class":3767,"line":8470},[3765,19112,8356],{"class":3771},[3765,19114,8154],{"class":4931},[3765,19116,4479],{"class":3775},[3765,19118,19119],{"class":3767,"line":8480},[3765,19120,4521],{"class":3775},[3765,19122,19123,19125],{"class":3767,"line":8489},[3765,19124,9549],{"class":3771},[3765,19126,4487],{"class":3775},[3765,19128,19129,19131,19133],{"class":3767,"line":8498},[3765,19130,15362],{"class":3771},[3765,19132,8513],{"class":3786},[3765,19134,4479],{"class":3775},[3765,19136,19137],{"class":3767,"line":8507},[3765,19138,4521],{"class":3775},[3765,19140,19141],{"class":3767,"line":8518},[3765,19142,4527],{"class":3775},[3756,19144,19147],{"className":3758,"code":19145,"filename":19146,"language":3760,"meta":3761,"style":3761},"import { Pressable, ScrollView, StyleSheet, View } from 'react-native';\nimport { Link } from 'expo-router';\nimport * as Linking from 'expo-linking';\n\nimport { useTheme, type ThemePreference } from '@\u002Fshared\u002Ftheme';\nimport { AppText, Screen } from '@\u002Fshared\u002Fui';\n\nconst PREFS: { id: ThemePreference; label: string }[] = [\n  { id: 'system', label: 'Система' },\n  { id: 'light', label: 'Світла' },\n  { id: 'dark', label: 'Темна' },\n];\n\n\u002F**\n * Вкладка «Ще» — про застосунок, тема, посилання на створення поїздки (Link).\n *\u002F\nexport default function AboutScreen() {\n  const { colors, spacing, preference, setPreference, scheme } = useTheme();\n\n  return (\n    \u003CScreen style={styles.screen}>\n      \u003CScrollView\n        contentContainerStyle={{\n          paddingHorizontal: spacing.md,\n          paddingTop: spacing.sm,\n          paddingBottom: spacing.xl,\n          gap: spacing.md,\n        }}\n        showsVerticalScrollIndicator={false}\n      >\n        \u003CAppText variant=\"title\">Мандрівник\u003C\u002FAppText>\n        \u003CAppText variant=\"caption\" color={colors.textSecondary}>\n          Навчальний щоденник подорожей курсу React Native (Nomad). Тема зараз:{' '}\n          {scheme === 'dark' ? 'темна' : 'світла'}.\n        \u003C\u002FAppText>\n\n        \u003CView\n          style={[\n            styles.card,\n            {\n              backgroundColor: colors.surface,\n              borderColor: colors.border,\n              padding: spacing.md,\n              gap: spacing.sm,\n            },\n          ]}\n        >\n          \u003CAppText style={{ fontWeight: '700' }}>Тема оформлення\u003C\u002FAppText>\n          \u003CAppText variant=\"caption\" color={colors.textSecondary}>\n            Ті самі чіпи, що були на головному екрані — винесені також сюди, щоб\n            налаштування жили на окремій вкладці.\n          \u003C\u002FAppText>\n          \u003CView style={[styles.themeRow, { gap: spacing.sm }]}>\n            {PREFS.map((p) => {\n              const active = preference === p.id;\n              return (\n                \u003CPressable\n                  key={p.id}\n                  onPress={() => setPreference(p.id)}\n                  style={[\n                    styles.themeChip,\n                    {\n                      backgroundColor: active ? colors.primary : colors.surface,\n                      borderColor: colors.border,\n                    },\n                  ]}\n                  accessibilityRole=\"button\"\n                  accessibilityState={{ selected: active }}\n                  accessibilityLabel={`Тема: ${p.label}`}\n                >\n                  \u003CAppText\n                    variant=\"caption\"\n                    color={active ? colors.onPrimary : colors.text}\n                    style={styles.themeChipText}\n                  >\n                    {p.label}\n                  \u003C\u002FAppText>\n                \u003C\u002FPressable>\n              );\n            })}\n          \u003C\u002FView>\n        \u003C\u002FView>\n\n        \u003CView\n          style={[\n            styles.card,\n            {\n              backgroundColor: colors.surface,\n              borderColor: colors.border,\n              padding: spacing.md,\n              gap: spacing.sm,\n            },\n          ]}\n        >\n          \u003CAppText style={{ fontWeight: '700' }}>Навігація (Expo Router)\u003C\u002FAppText>\n          \u003CAppText variant=\"caption\" color={colors.textSecondary}>\n            Нижні вкладки — група маршрутів (tabs). «Нова поїздка» відкривається\n            поверх вкладок у Stack. Нижче — приклад компонента Link (як якір на\n            вебі).\n          \u003C\u002FAppText>\n          \u003CLink href=\"\u002Fcreate-trip\" asChild>\n            {\u002F* presentation: modal задано в кореневому Stack *\u002F}\n\n            \u003CPressable\n              style={[\n                styles.linkBtn,\n                {\n                  backgroundColor: colors.primary,\n                  paddingVertical: spacing.sm + 4,\n                  borderRadius: 12,\n                },\n              ]}\n            >\n              \u003CAppText color={colors.onPrimary} style={{ fontWeight: '700' }}>\n                Відкрити форму (Link)\n              \u003C\u002FAppText>\n            \u003C\u002FPressable>\n          \u003C\u002FLink>\n        \u003C\u002FView>\n\n        \u003CView\n          style={[\n            styles.card,\n            {\n              backgroundColor: colors.surface,\n              borderColor: colors.border,\n              padding: spacing.md,\n              gap: spacing.sm,\n            },\n          ]}\n        >\n          \u003CAppText style={{ fontWeight: '700' }}>Deep link (scheme)\u003C\u002FAppText>\n          \u003CAppText variant=\"caption\" color={colors.textSecondary}>\n            У app.json: scheme «nomad». Приклад createURL для поїздки id=1\n            (залежить від Expo Go \u002F standalone):\n          \u003C\u002FAppText>\n          \u003CAppText variant=\"caption\" color={colors.primary}>\n            {Linking.createURL('\u002Ftrips\u002F1')}\n          \u003C\u002FAppText>\n          \u003CAppText variant=\"caption\" color={colors.textSecondary}>\n            Тест на білді: nomad:\u002F\u002Ftrips\u002F1 (симулятор \u002F adb). Деталі — у\n            статті про deep linking.\n          \u003C\u002FAppText>\n        \u003C\u002FView>\n\n        \u003CAppText variant=\"caption\" color={colors.textSecondary}>\n          Репозиторій: github.com\u002Farakviel\u002Fnomad\n        \u003C\u002FAppText>\n      \u003C\u002FScrollView>\n    \u003C\u002FScreen>\n  );\n}\n\nconst styles = StyleSheet.create({\n  screen: {\n    paddingHorizontal: 0,\n  },\n  card: {\n    borderWidth: 1,\n    borderRadius: 12,\n  },\n  themeRow: {\n    flexDirection: 'row',\n    flexWrap: 'wrap',\n  },\n  themeChip: {\n    paddingHorizontal: 12,\n    paddingVertical: 8,\n    borderRadius: 8,\n    borderWidth: 1,\n  },\n  themeChipText: {\n    fontWeight: '600',\n  },\n  linkBtn: {\n    alignItems: 'center',\n  },\n});\n","app\u002F(tabs)\u002Fabout.tsx",[3747,19148,19149,19177,19193,19209,19213,19235,19255,19259,19283,19299,19315,19331,19335,19339,19343,19348,19352,19365,19395,19399,19405,19427,19433,19443,19455,19467,19479,19491,19497,19505,19509,19531,19559,19571,19594,19602,19606,19612,19622,19633,19638,19651,19664,19677,19690,19695,19702,19706,19739,19767,19772,19777,19785,19821,19841,19862,19869,19875,19892,19919,19929,19940,19945,19970,19983,19988,19995,20004,20023,20048,20052,20059,20068,20097,20114,20119,20132,20141,20149,20154,20161,20169,20177,20181,20187,20197,20207,20211,20223,20235,20247,20259,20263,20269,20273,20306,20334,20339,20344,20349,20357,20374,20383,20387,20393,20403,20415,20420,20433,20451,20460,20465,20472,20476,20514,20519,20527,20535,20543,20551,20555,20561,20571,20581,20585,20597,20609,20621,20633,20637,20643,20647,20680,20708,20713,20718,20726,20754,20773,20781,20809,20814,20819,20827,20835,20839,20867,20872,20880,20888,20896,20900,20904,20908,20924,20930,20938,20942,20948,20956,20964,20968,20974,20982,20990,20994,21000,21008,21016,21024,21032,21036,21042,21050,21054,21061,21069,21073],{"__ignoreMap":3761},[3765,19150,19151,19153,19155,19157,19159,19161,19163,19165,19167,19169,19171,19173,19175],{"class":3767,"line":3768},[3765,19152,4716],{"class":4715},[3765,19154,3825],{"class":3775},[3765,19156,7158],{"class":3771},[3765,19158,4032],{"class":3775},[3765,19160,17461],{"class":3771},[3765,19162,4032],{"class":3775},[3765,19164,7163],{"class":3771},[3765,19166,4032],{"class":3775},[3765,19168,5093],{"class":3771},[3765,19170,4723],{"class":3775},[3765,19172,4726],{"class":4715},[3765,19174,5603],{"class":3786},[3765,19176,4732],{"class":3775},[3765,19178,19179,19181,19183,19185,19187,19189,19191],{"class":3767,"line":4332},[3765,19180,4716],{"class":4715},[3765,19182,3825],{"class":3775},[3765,19184,3908],{"class":3771},[3765,19186,4723],{"class":3775},[3765,19188,4726],{"class":4715},[3765,19190,4729],{"class":3786},[3765,19192,4732],{"class":3775},[3765,19194,19195,19197,19199,19201,19203,19205,19207],{"class":3767,"line":4359},[3765,19196,4716],{"class":4715},[3765,19198,5573],{"class":3790},[3765,19200,5576],{"class":4715},[3765,19202,5579],{"class":3771},[3765,19204,5582],{"class":4715},[3765,19206,5585],{"class":3786},[3765,19208,4732],{"class":3775},[3765,19210,19211],{"class":3767,"line":4366},[3765,19212,4363],{"emptyLinePlaceholder":4362},[3765,19214,19215,19217,19219,19221,19223,19225,19227,19229,19231,19233],{"class":3767,"line":4372},[3765,19216,4716],{"class":4715},[3765,19218,3825],{"class":3775},[3765,19220,10881],{"class":3771},[3765,19222,4032],{"class":3775},[3765,19224,12444],{"class":4715},[3765,19226,12447],{"class":3771},[3765,19228,4723],{"class":3775},[3765,19230,4726],{"class":4715},[3765,19232,10888],{"class":3786},[3765,19234,4732],{"class":3775},[3765,19236,19237,19239,19241,19243,19245,19247,19249,19251,19253],{"class":3767,"line":4504},[3765,19238,4716],{"class":4715},[3765,19240,3825],{"class":3775},[3765,19242,5120],{"class":3771},[3765,19244,4032],{"class":3775},[3765,19246,12472],{"class":3771},[3765,19248,4723],{"class":3775},[3765,19250,4726],{"class":4715},[3765,19252,12479],{"class":3786},[3765,19254,4732],{"class":3775},[3765,19256,19257],{"class":3767,"line":4518},[3765,19258,4363],{"emptyLinePlaceholder":4362},[3765,19260,19261,19263,19265,19267,19269,19271,19273,19275,19277,19279,19281],{"class":3767,"line":4524},[3765,19262,3822],{"class":3790},[3765,19264,12492],{"class":3828},[3765,19266,12495],{"class":3775},[3765,19268,3800],{"class":3771},[3765,19270,3842],{"class":3775},[3765,19272,12502],{"class":3845},[3765,19274,4781],{"class":3775},[3765,19276,12507],{"class":3771},[3765,19278,3842],{"class":3775},[3765,19280,3846],{"class":3845},[3765,19282,12514],{"class":3775},[3765,19284,19285,19287,19289,19291,19293,19295,19297],{"class":3767,"line":4530},[3765,19286,12519],{"class":3775},[3765,19288,4580],{"class":3771},[3765,19290,12524],{"class":3786},[3765,19292,4032],{"class":3775},[3765,19294,12529],{"class":3771},[3765,19296,12532],{"class":3786},[3765,19298,4589],{"class":3775},[3765,19300,19301,19303,19305,19307,19309,19311,19313],{"class":3767,"line":4535},[3765,19302,12519],{"class":3775},[3765,19304,4580],{"class":3771},[3765,19306,11026],{"class":3786},[3765,19308,4032],{"class":3775},[3765,19310,12529],{"class":3771},[3765,19312,12549],{"class":3786},[3765,19314,4589],{"class":3775},[3765,19316,19317,19319,19321,19323,19325,19327,19329],{"class":3767,"line":4541},[3765,19318,12519],{"class":3775},[3765,19320,4580],{"class":3771},[3765,19322,11020],{"class":3786},[3765,19324,4032],{"class":3775},[3765,19326,12529],{"class":3771},[3765,19328,12566],{"class":3786},[3765,19330,4589],{"class":3775},[3765,19332,19333],{"class":3767,"line":4549},[3765,19334,6751],{"class":3775},[3765,19336,19337],{"class":3767,"line":4562},[3765,19338,4363],{"emptyLinePlaceholder":4362},[3765,19340,19341],{"class":3767,"line":4572},[3765,19342,10899],{"class":4328},[3765,19344,19345],{"class":3767,"line":4592},[3765,19346,19347],{"class":4328}," * Вкладка «Ще» — про застосунок, тема, посилання на створення поїздки (Link).\n",[3765,19349,19350],{"class":3767,"line":4601},[3765,19351,10929],{"class":4328},[3765,19353,19354,19356,19358,19360,19363],{"class":3767,"line":4606},[3765,19355,4741],{"class":4715},[3765,19357,4744],{"class":4715},[3765,19359,4747],{"class":3790},[3765,19361,19362],{"class":3779}," AboutScreen",[3765,19364,4753],{"class":3775},[3765,19366,19367,19369,19371,19373,19375,19377,19379,19381,19383,19385,19387,19389,19391,19393],{"class":3767,"line":4612},[3765,19368,4758],{"class":3790},[3765,19370,3825],{"class":3775},[3765,19372,5162],{"class":3828},[3765,19374,4032],{"class":3775},[3765,19376,12633],{"class":3828},[3765,19378,4032],{"class":3775},[3765,19380,12638],{"class":3828},[3765,19382,4032],{"class":3775},[3765,19384,12643],{"class":3828},[3765,19386,4032],{"class":3775},[3765,19388,5544],{"class":3828},[3765,19390,3831],{"class":3775},[3765,19392,10881],{"class":3779},[3765,19394,6811],{"class":3775},[3765,19396,19397],{"class":3767,"line":6683},[3765,19398,4363],{"emptyLinePlaceholder":4362},[3765,19400,19401,19403],{"class":3767,"line":6693},[3765,19402,5082],{"class":4715},[3765,19404,5085],{"class":3775},[3765,19406,19407,19409,19411,19413,19415,19417,19419,19421,19423,19425],{"class":3767,"line":6698},[3765,19408,5090],{"class":4375},[3765,19410,12472],{"class":3845},[3765,19412,5096],{"class":4381},[3765,19414,4385],{"class":3775},[3765,19416,4388],{"class":3790},[3765,19418,5103],{"class":3771},[3765,19420,3776],{"class":3797},[3765,19422,13739],{"class":3771},[3765,19424,3803],{"class":3790},[3765,19426,4419],{"class":4375},[3765,19428,19429,19431],{"class":3767,"line":6703},[3765,19430,5117],{"class":4375},[3765,19432,16391],{"class":3845},[3765,19434,19435,19437,19439,19441],{"class":3767,"line":6713},[3765,19436,7547],{"class":4381},[3765,19438,4385],{"class":3775},[3765,19440,4388],{"class":3790},[3765,19442,4559],{"class":3797},[3765,19444,19445,19447,19449,19451,19453],{"class":3767,"line":6723},[3765,19446,13519],{"class":3771},[3765,19448,13109],{"class":3771},[3765,19450,3776],{"class":3797},[3765,19452,13114],{"class":3771},[3765,19454,4479],{"class":3797},[3765,19456,19457,19459,19461,19463,19465],{"class":3767,"line":6733},[3765,19458,18729],{"class":3771},[3765,19460,13109],{"class":3771},[3765,19462,3776],{"class":3797},[3765,19464,13176],{"class":3771},[3765,19466,4479],{"class":3797},[3765,19468,19469,19471,19473,19475,19477],{"class":3767,"line":6743},[3765,19470,16406],{"class":3771},[3765,19472,13109],{"class":3771},[3765,19474,3776],{"class":3797},[3765,19476,13539],{"class":3771},[3765,19478,4479],{"class":3797},[3765,19480,19481,19483,19485,19487,19489],{"class":3767,"line":6748},[3765,19482,13547],{"class":3771},[3765,19484,13109],{"class":3771},[3765,19486,3776],{"class":3797},[3765,19488,13114],{"class":3771},[3765,19490,4479],{"class":3797},[3765,19492,19493,19495],{"class":3767,"line":6754},[3765,19494,7030],{"class":3797},[3765,19496,4598],{"class":3790},[3765,19498,19499,19501,19503],{"class":3767,"line":6759},[3765,19500,16425],{"class":4381},[3765,19502,4385],{"class":3775},[3765,19504,13331],{"class":3790},[3765,19506,19507],{"class":3767,"line":6788},[3765,19508,7037],{"class":4375},[3765,19510,19511,19513,19515,19517,19519,19521,19523,19525,19527,19529],{"class":3767,"line":6814},[3765,19512,7042],{"class":4375},[3765,19514,5120],{"class":3845},[3765,19516,5123],{"class":4381},[3765,19518,4385],{"class":3775},[3765,19520,13884],{"class":3786},[3765,19522,4408],{"class":4375},[3765,19524,13889],{"class":3775},[3765,19526,4414],{"class":4375},[3765,19528,5120],{"class":3845},[3765,19530,4419],{"class":4375},[3765,19532,19533,19535,19537,19539,19541,19543,19545,19547,19549,19551,19553,19555,19557],{"class":3767,"line":6852},[3765,19534,7042],{"class":4375},[3765,19536,5120],{"class":3845},[3765,19538,5123],{"class":4381},[3765,19540,4385],{"class":3775},[3765,19542,5152],{"class":3786},[3765,19544,5155],{"class":4381},[3765,19546,4385],{"class":3775},[3765,19548,4388],{"class":3790},[3765,19550,5162],{"class":3771},[3765,19552,3776],{"class":3797},[3765,19554,5167],{"class":3771},[3765,19556,3803],{"class":3790},[3765,19558,4419],{"class":4375},[3765,19560,19561,19564,19566,19569],{"class":3767,"line":7689},[3765,19562,19563],{"class":3775},"          Навчальний щоденник подорожей курсу React Native (Nomad). Тема зараз:",[3765,19565,4388],{"class":3790},[3765,19567,19568],{"class":3786},"' '",[3765,19570,4598],{"class":3790},[3765,19572,19573,19575,19577,19579,19581,19583,19585,19587,19589,19591],{"class":3767,"line":7730},[3765,19574,14051],{"class":3790},[3765,19576,5544],{"class":3771},[3765,19578,11017],{"class":3775},[3765,19580,11020],{"class":3786},[3765,19582,11023],{"class":3775},[3765,19584,13949],{"class":3786},[3765,19586,11029],{"class":3775},[3765,19588,13954],{"class":3786},[3765,19590,3803],{"class":3790},[3765,19592,19593],{"class":3775},".\n",[3765,19595,19596,19598,19600],{"class":3767,"line":7769},[3765,19597,9099],{"class":4375},[3765,19599,5120],{"class":3845},[3765,19601,4419],{"class":4375},[3765,19603,19604],{"class":3767,"line":7810},[3765,19605,4363],{"emptyLinePlaceholder":4362},[3765,19607,19608,19610],{"class":3767,"line":7820},[3765,19609,7042],{"class":4375},[3765,19611,13485],{"class":3845},[3765,19613,19614,19616,19618,19620],{"class":3767,"line":7830},[3765,19615,13988],{"class":4381},[3765,19617,4385],{"class":3775},[3765,19619,4388],{"class":3790},[3765,19621,13497],{"class":3797},[3765,19623,19624,19627,19629,19631],{"class":3767,"line":7838},[3765,19625,19626],{"class":3771},"            styles",[3765,19628,3776],{"class":3797},[3765,19630,7639],{"class":3771},[3765,19632,4479],{"class":3797},[3765,19634,19635],{"class":3767,"line":7857},[3765,19636,19637],{"class":3797},"            {\n",[3765,19639,19640,19643,19645,19647,19649],{"class":3767,"line":7885},[3765,19641,19642],{"class":3771},"              backgroundColor:",[3765,19644,11062],{"class":3771},[3765,19646,3776],{"class":3797},[3765,19648,14339],{"class":3771},[3765,19650,4479],{"class":3797},[3765,19652,19653,19656,19658,19660,19662],{"class":3767,"line":7891},[3765,19654,19655],{"class":3771},"              borderColor:",[3765,19657,11062],{"class":3771},[3765,19659,3776],{"class":3797},[3765,19661,11547],{"class":3771},[3765,19663,4479],{"class":3797},[3765,19665,19666,19669,19671,19673,19675],{"class":3767,"line":7924},[3765,19667,19668],{"class":3771},"              padding:",[3765,19670,13109],{"class":3771},[3765,19672,3776],{"class":3797},[3765,19674,13114],{"class":3771},[3765,19676,4479],{"class":3797},[3765,19678,19679,19682,19684,19686,19688],{"class":3767,"line":7933},[3765,19680,19681],{"class":3771},"              gap:",[3765,19683,13109],{"class":3771},[3765,19685,3776],{"class":3797},[3765,19687,13176],{"class":3771},[3765,19689,4479],{"class":3797},[3765,19691,19692],{"class":3767,"line":7943},[3765,19693,19694],{"class":3797},"            },\n",[3765,19696,19697,19700],{"class":3767,"line":7951},[3765,19698,19699],{"class":3797},"          ]",[3765,19701,4598],{"class":3790},[3765,19703,19704],{"class":3767,"line":7957},[3765,19705,14045],{"class":4375},[3765,19707,19708,19710,19712,19714,19716,19718,19720,19722,19724,19726,19728,19730,19733,19735,19737],{"class":3767,"line":7962},[3765,19709,7624],{"class":4375},[3765,19711,5120],{"class":3845},[3765,19713,5096],{"class":4381},[3765,19715,4385],{"class":3775},[3765,19717,4388],{"class":3790},[3765,19719,7063],{"class":3797},[3765,19721,7007],{"class":3771},[3765,19723,8386],{"class":3786},[3765,19725,7072],{"class":3797},[3765,19727,3803],{"class":3790},[3765,19729,4408],{"class":4375},[3765,19731,19732],{"class":3775},"Тема оформлення",[3765,19734,4414],{"class":4375},[3765,19736,5120],{"class":3845},[3765,19738,4419],{"class":4375},[3765,19740,19741,19743,19745,19747,19749,19751,19753,19755,19757,19759,19761,19763,19765],{"class":3767,"line":7969},[3765,19742,7624],{"class":4375},[3765,19744,5120],{"class":3845},[3765,19746,5123],{"class":4381},[3765,19748,4385],{"class":3775},[3765,19750,5152],{"class":3786},[3765,19752,5155],{"class":4381},[3765,19754,4385],{"class":3775},[3765,19756,4388],{"class":3790},[3765,19758,5162],{"class":3771},[3765,19760,3776],{"class":3797},[3765,19762,5167],{"class":3771},[3765,19764,3803],{"class":3790},[3765,19766,4419],{"class":4375},[3765,19768,19769],{"class":3767,"line":7988},[3765,19770,19771],{"class":3775},"            Ті самі чіпи, що були на головному екрані — винесені також сюди, щоб\n",[3765,19773,19774],{"class":3767,"line":8017},[3765,19775,19776],{"class":3775},"            налаштування жили на окремій вкладці.\n",[3765,19778,19779,19781,19783],{"class":3767,"line":8022},[3765,19780,7936],{"class":4375},[3765,19782,5120],{"class":3845},[3765,19784,4419],{"class":4375},[3765,19786,19787,19789,19791,19793,19795,19797,19799,19801,19803,19805,19807,19809,19811,19813,19815,19817,19819],{"class":3767,"line":8055},[3765,19788,7624],{"class":4375},[3765,19790,5093],{"class":3845},[3765,19792,5096],{"class":4381},[3765,19794,4385],{"class":3775},[3765,19796,4388],{"class":3790},[3765,19798,4928],{"class":3797},[3765,19800,5103],{"class":3771},[3765,19802,3776],{"class":3797},[3765,19804,14144],{"class":3771},[3765,19806,14147],{"class":3797},[3765,19808,9540],{"class":3771},[3765,19810,13109],{"class":3771},[3765,19812,3776],{"class":3797},[3765,19814,13176],{"class":3771},[3765,19816,14168],{"class":3797},[3765,19818,3803],{"class":3790},[3765,19820,4419],{"class":4375},[3765,19822,19823,19825,19827,19829,19831,19833,19835,19837,19839],{"class":3767,"line":8064},[3765,19824,16626],{"class":3790},[3765,19826,14180],{"class":3828},[3765,19828,3776],{"class":3797},[3765,19830,14185],{"class":3779},[3765,19832,6826],{"class":3797},[3765,19834,3743],{"class":3771},[3765,19836,6832],{"class":3797},[3765,19838,5222],{"class":3790},[3765,19840,4487],{"class":3797},[3765,19842,19843,19846,19848,19850,19852,19854,19856,19858,19860],{"class":3767,"line":8073},[3765,19844,19845],{"class":3790},"              const",[3765,19847,14204],{"class":3828},[3765,19849,14207],{"class":3775},[3765,19851,14210],{"class":3771},[3765,19853,11017],{"class":3775},[3765,19855,14215],{"class":3771},[3765,19857,3776],{"class":3797},[3765,19859,3800],{"class":3771},[3765,19861,4732],{"class":3797},[3765,19863,19864,19867],{"class":3767,"line":8078},[3765,19865,19866],{"class":4715},"              return",[3765,19868,5085],{"class":3797},[3765,19870,19871,19873],{"class":3767,"line":8083},[3765,19872,7692],{"class":4375},[3765,19874,7835],{"class":3845},[3765,19876,19877,19880,19882,19884,19886,19888,19890],{"class":3767,"line":8088},[3765,19878,19879],{"class":4381},"                  key",[3765,19881,4385],{"class":3775},[3765,19883,4388],{"class":3790},[3765,19885,3743],{"class":3771},[3765,19887,3776],{"class":3797},[3765,19889,3800],{"class":3771},[3765,19891,4598],{"class":3790},[3765,19893,19894,19897,19899,19901,19903,19905,19907,19909,19911,19913,19915,19917],{"class":3767,"line":8107},[3765,19895,19896],{"class":4381},"                  onPress",[3765,19898,4385],{"class":3775},[3765,19900,4388],{"class":3790},[3765,19902,5219],{"class":3797},[3765,19904,5222],{"class":3790},[3765,19906,14271],{"class":3779},[3765,19908,3783],{"class":3797},[3765,19910,3743],{"class":3771},[3765,19912,3776],{"class":3797},[3765,19914,3800],{"class":3771},[3765,19916,4679],{"class":3797},[3765,19918,4598],{"class":3790},[3765,19920,19921,19923,19925,19927],{"class":3767,"line":8129},[3765,19922,14489],{"class":4381},[3765,19924,4385],{"class":3775},[3765,19926,4388],{"class":3790},[3765,19928,13497],{"class":3797},[3765,19930,19931,19934,19936,19938],{"class":3767,"line":8137},[3765,19932,19933],{"class":3771},"                    styles",[3765,19935,3776],{"class":3797},[3765,19937,14306],{"class":3771},[3765,19939,4479],{"class":3797},[3765,19941,19942],{"class":3767,"line":8148},[3765,19943,19944],{"class":3797},"                    {\n",[3765,19946,19947,19950,19952,19954,19956,19958,19960,19962,19964,19966,19968],{"class":3767,"line":8159},[3765,19948,19949],{"class":3771},"                      backgroundColor:",[3765,19951,14204],{"class":3771},[3765,19953,11023],{"class":3775},[3765,19955,11062],{"class":3771},[3765,19957,3776],{"class":3797},[3765,19959,11096],{"class":3771},[3765,19961,11029],{"class":3775},[3765,19963,11062],{"class":3771},[3765,19965,3776],{"class":3797},[3765,19967,14339],{"class":3771},[3765,19969,4479],{"class":3797},[3765,19971,19972,19975,19977,19979,19981],{"class":3767,"line":8170},[3765,19973,19974],{"class":3771},"                      borderColor:",[3765,19976,11062],{"class":3771},[3765,19978,3776],{"class":3797},[3765,19980,11547],{"class":3771},[3765,19982,4479],{"class":3797},[3765,19984,19985],{"class":3767,"line":8181},[3765,19986,19987],{"class":3797},"                    },\n",[3765,19989,19990,19993],{"class":3767,"line":8192},[3765,19991,19992],{"class":3797},"                  ]",[3765,19994,4598],{"class":3790},[3765,19996,19997,20000,20002],{"class":3767,"line":8197},[3765,19998,19999],{"class":4381},"                  accessibilityRole",[3765,20001,4385],{"class":3775},[3765,20003,14380],{"class":3786},[3765,20005,20006,20009,20011,20013,20015,20017,20019,20021],{"class":3767,"line":8205},[3765,20007,20008],{"class":4381},"                  accessibilityState",[3765,20010,4385],{"class":3775},[3765,20012,4388],{"class":3790},[3765,20014,7063],{"class":3797},[3765,20016,14395],{"class":3771},[3765,20018,14204],{"class":3771},[3765,20020,7072],{"class":3797},[3765,20022,4598],{"class":3790},[3765,20024,20025,20028,20030,20032,20034,20036,20038,20040,20042,20044,20046],{"class":3767,"line":8214},[3765,20026,20027],{"class":4381},"                  accessibilityLabel",[3765,20029,4385],{"class":3775},[3765,20031,4388],{"class":3790},[3765,20033,14414],{"class":3786},[3765,20035,3791],{"class":3790},[3765,20037,3743],{"class":3771},[3765,20039,3776],{"class":3797},[3765,20041,12507],{"class":3771},[3765,20043,3803],{"class":3790},[3765,20045,3806],{"class":3786},[3765,20047,4598],{"class":3790},[3765,20049,20050],{"class":3767,"line":8225},[3765,20051,14508],{"class":4375},[3765,20053,20054,20057],{"class":3767,"line":8235},[3765,20055,20056],{"class":4375},"                  \u003C",[3765,20058,13626],{"class":3845},[3765,20060,20061,20064,20066],{"class":3767,"line":8244},[3765,20062,20063],{"class":4381},"                    variant",[3765,20065,4385],{"class":3775},[3765,20067,13637],{"class":3786},[3765,20069,20070,20073,20075,20077,20079,20081,20083,20085,20087,20089,20091,20093,20095],{"class":3767,"line":8254},[3765,20071,20072],{"class":4381},"                    color",[3765,20074,4385],{"class":3775},[3765,20076,4388],{"class":3790},[3765,20078,14464],{"class":3771},[3765,20080,11023],{"class":3775},[3765,20082,11062],{"class":3771},[3765,20084,3776],{"class":3797},[3765,20086,14473],{"class":3771},[3765,20088,11029],{"class":3775},[3765,20090,11062],{"class":3771},[3765,20092,3776],{"class":3797},[3765,20094,4045],{"class":3771},[3765,20096,4598],{"class":3790},[3765,20098,20099,20102,20104,20106,20108,20110,20112],{"class":3767,"line":8264},[3765,20100,20101],{"class":4381},"                    style",[3765,20103,4385],{"class":3775},[3765,20105,4388],{"class":3790},[3765,20107,5103],{"class":3771},[3765,20109,3776],{"class":3797},[3765,20111,14500],{"class":3771},[3765,20113,4598],{"class":3790},[3765,20115,20116],{"class":3767,"line":8269},[3765,20117,20118],{"class":4375},"                  >\n",[3765,20120,20121,20124,20126,20128,20130],{"class":3767,"line":8292},[3765,20122,20123],{"class":3790},"                    {",[3765,20125,3743],{"class":3771},[3765,20127,3776],{"class":3797},[3765,20129,12507],{"class":3771},[3765,20131,4598],{"class":3790},[3765,20133,20134,20137,20139],{"class":3767,"line":8300},[3765,20135,20136],{"class":4375},"                  \u003C\u002F",[3765,20138,5120],{"class":3845},[3765,20140,4419],{"class":4375},[3765,20142,20143,20145,20147],{"class":3767,"line":8311},[3765,20144,14528],{"class":4375},[3765,20146,7158],{"class":3845},[3765,20148,4419],{"class":4375},[3765,20150,20151],{"class":3767,"line":8321},[3765,20152,20153],{"class":3797},"              );\n",[3765,20155,20156,20159],{"class":3767,"line":8331},[3765,20157,20158],{"class":3797},"            })",[3765,20160,4598],{"class":3790},[3765,20162,20163,20165,20167],{"class":3767,"line":8342},[3765,20164,7936],{"class":4375},[3765,20166,5093],{"class":3845},[3765,20168,4419],{"class":4375},[3765,20170,20171,20173,20175],{"class":3767,"line":8353},[3765,20172,9099],{"class":4375},[3765,20174,5093],{"class":3845},[3765,20176,4419],{"class":4375},[3765,20178,20179],{"class":3767,"line":8363},[3765,20180,4363],{"emptyLinePlaceholder":4362},[3765,20182,20183,20185],{"class":3767,"line":8368},[3765,20184,7042],{"class":4375},[3765,20186,13485],{"class":3845},[3765,20188,20189,20191,20193,20195],{"class":3767,"line":8397},[3765,20190,13988],{"class":4381},[3765,20192,4385],{"class":3775},[3765,20194,4388],{"class":3790},[3765,20196,13497],{"class":3797},[3765,20198,20199,20201,20203,20205],{"class":3767,"line":8432},[3765,20200,19626],{"class":3771},[3765,20202,3776],{"class":3797},[3765,20204,7639],{"class":3771},[3765,20206,4479],{"class":3797},[3765,20208,20209],{"class":3767,"line":8452},[3765,20210,19637],{"class":3797},[3765,20212,20213,20215,20217,20219,20221],{"class":3767,"line":8460},[3765,20214,19642],{"class":3771},[3765,20216,11062],{"class":3771},[3765,20218,3776],{"class":3797},[3765,20220,14339],{"class":3771},[3765,20222,4479],{"class":3797},[3765,20224,20225,20227,20229,20231,20233],{"class":3767,"line":8470},[3765,20226,19655],{"class":3771},[3765,20228,11062],{"class":3771},[3765,20230,3776],{"class":3797},[3765,20232,11547],{"class":3771},[3765,20234,4479],{"class":3797},[3765,20236,20237,20239,20241,20243,20245],{"class":3767,"line":8480},[3765,20238,19668],{"class":3771},[3765,20240,13109],{"class":3771},[3765,20242,3776],{"class":3797},[3765,20244,13114],{"class":3771},[3765,20246,4479],{"class":3797},[3765,20248,20249,20251,20253,20255,20257],{"class":3767,"line":8489},[3765,20250,19681],{"class":3771},[3765,20252,13109],{"class":3771},[3765,20254,3776],{"class":3797},[3765,20256,13176],{"class":3771},[3765,20258,4479],{"class":3797},[3765,20260,20261],{"class":3767,"line":8498},[3765,20262,19694],{"class":3797},[3765,20264,20265,20267],{"class":3767,"line":8507},[3765,20266,19699],{"class":3797},[3765,20268,4598],{"class":3790},[3765,20270,20271],{"class":3767,"line":8518},[3765,20272,14045],{"class":4375},[3765,20274,20275,20277,20279,20281,20283,20285,20287,20289,20291,20293,20295,20297,20300,20302,20304],{"class":3767,"line":8523},[3765,20276,7624],{"class":4375},[3765,20278,5120],{"class":3845},[3765,20280,5096],{"class":4381},[3765,20282,4385],{"class":3775},[3765,20284,4388],{"class":3790},[3765,20286,7063],{"class":3797},[3765,20288,7007],{"class":3771},[3765,20290,8386],{"class":3786},[3765,20292,7072],{"class":3797},[3765,20294,3803],{"class":3790},[3765,20296,4408],{"class":4375},[3765,20298,20299],{"class":3775},"Навігація (Expo Router)",[3765,20301,4414],{"class":4375},[3765,20303,5120],{"class":3845},[3765,20305,4419],{"class":4375},[3765,20307,20308,20310,20312,20314,20316,20318,20320,20322,20324,20326,20328,20330,20332],{"class":3767,"line":8543},[3765,20309,7624],{"class":4375},[3765,20311,5120],{"class":3845},[3765,20313,5123],{"class":4381},[3765,20315,4385],{"class":3775},[3765,20317,5152],{"class":3786},[3765,20319,5155],{"class":4381},[3765,20321,4385],{"class":3775},[3765,20323,4388],{"class":3790},[3765,20325,5162],{"class":3771},[3765,20327,3776],{"class":3797},[3765,20329,5167],{"class":3771},[3765,20331,3803],{"class":3790},[3765,20333,4419],{"class":4375},[3765,20335,20336],{"class":3767,"line":8564},[3765,20337,20338],{"class":3775},"            Нижні вкладки — група маршрутів (tabs). «Нова поїздка» відкривається\n",[3765,20340,20341],{"class":3767,"line":8585},[3765,20342,20343],{"class":3775},"            поверх вкладок у Stack. Нижче — приклад компонента Link (як якір на\n",[3765,20345,20346],{"class":3767,"line":13544},[3765,20347,20348],{"class":3775},"            вебі).\n",[3765,20350,20351,20353,20355],{"class":3767,"line":13558},[3765,20352,7936],{"class":4375},[3765,20354,5120],{"class":3845},[3765,20356,4419],{"class":4375},[3765,20358,20359,20361,20363,20365,20367,20370,20372],{"class":3767,"line":13563},[3765,20360,7624],{"class":4375},[3765,20362,3908],{"class":3845},[3765,20364,4382],{"class":4381},[3765,20366,4385],{"class":3775},[3765,20368,20369],{"class":3786},"\"\u002Fcreate-trip\"",[3765,20371,7675],{"class":4381},[3765,20373,4419],{"class":4375},[3765,20375,20376,20378,20381],{"class":3767,"line":13571},[3765,20377,16626],{"class":3790},[3765,20379,20380],{"class":4328},"\u002F* presentation: modal задано в кореневому Stack *\u002F",[3765,20382,4598],{"class":3790},[3765,20384,20385],{"class":3767,"line":13576},[3765,20386,4363],{"emptyLinePlaceholder":4362},[3765,20388,20389,20391],{"class":3767,"line":13606},[3765,20390,7648],{"class":4375},[3765,20392,7835],{"class":3845},[3765,20394,20395,20397,20399,20401],{"class":3767,"line":13612},[3765,20396,7841],{"class":4381},[3765,20398,4385],{"class":3775},[3765,20400,4388],{"class":3790},[3765,20402,13497],{"class":3797},[3765,20404,20405,20408,20410,20413],{"class":3767,"line":13621},[3765,20406,20407],{"class":3771},"                styles",[3765,20409,3776],{"class":3797},[3765,20411,20412],{"class":3771},"linkBtn",[3765,20414,4479],{"class":3797},[3765,20416,20417],{"class":3767,"line":13629},[3765,20418,20419],{"class":3797},"                {\n",[3765,20421,20422,20425,20427,20429,20431],{"class":3767,"line":13640},[3765,20423,20424],{"class":3771},"                  backgroundColor:",[3765,20426,11062],{"class":3771},[3765,20428,3776],{"class":3797},[3765,20430,11096],{"class":3771},[3765,20432,4479],{"class":3797},[3765,20434,20435,20438,20440,20442,20444,20447,20449],{"class":3767,"line":13658},[3765,20436,20437],{"class":3771},"                  paddingVertical:",[3765,20439,13109],{"class":3771},[3765,20441,3776],{"class":3797},[3765,20443,13176],{"class":3771},[3765,20445,20446],{"class":3775}," +",[3765,20448,8465],{"class":4931},[3765,20450,4479],{"class":3797},[3765,20452,20453,20456,20458],{"class":3767,"line":13676},[3765,20454,20455],{"class":3771},"                  borderRadius:",[3765,20457,8249],{"class":4931},[3765,20459,4479],{"class":3797},[3765,20461,20462],{"class":3767,"line":13681},[3765,20463,20464],{"class":3797},"                },\n",[3765,20466,20467,20470],{"class":3767,"line":13687},[3765,20468,20469],{"class":3797},"              ]",[3765,20471,4598],{"class":3790},[3765,20473,20474],{"class":3767,"line":13696},[3765,20475,7888],{"class":4375},[3765,20477,20478,20480,20482,20484,20486,20488,20490,20492,20494,20496,20498,20500,20502,20504,20506,20508,20510,20512],{"class":3767,"line":13705},[3765,20479,7682],{"class":4375},[3765,20481,5120],{"class":3845},[3765,20483,5155],{"class":4381},[3765,20485,4385],{"class":3775},[3765,20487,4388],{"class":3790},[3765,20489,5162],{"class":3771},[3765,20491,3776],{"class":3797},[3765,20493,14473],{"class":3771},[3765,20495,3803],{"class":3790},[3765,20497,5096],{"class":4381},[3765,20499,4385],{"class":3775},[3765,20501,4388],{"class":3790},[3765,20503,7063],{"class":3797},[3765,20505,7007],{"class":3771},[3765,20507,8386],{"class":3786},[3765,20509,7072],{"class":3797},[3765,20511,3803],{"class":3790},[3765,20513,4419],{"class":4375},[3765,20515,20516],{"class":3767,"line":13710},[3765,20517,20518],{"class":3775},"                Відкрити форму (Link)\n",[3765,20520,20521,20523,20525],{"class":3767,"line":13715},[3765,20522,7813],{"class":4375},[3765,20524,5120],{"class":3845},[3765,20526,4419],{"class":4375},[3765,20528,20529,20531,20533],{"class":3767,"line":13722},[3765,20530,7823],{"class":4375},[3765,20532,7158],{"class":3845},[3765,20534,4419],{"class":4375},[3765,20536,20537,20539,20541],{"class":3767,"line":13746},[3765,20538,7936],{"class":4375},[3765,20540,3908],{"class":3845},[3765,20542,4419],{"class":4375},[3765,20544,20545,20547,20549],{"class":3767,"line":13753},[3765,20546,9099],{"class":4375},[3765,20548,5093],{"class":3845},[3765,20550,4419],{"class":4375},[3765,20552,20553],{"class":3767,"line":13764},[3765,20554,4363],{"emptyLinePlaceholder":4362},[3765,20556,20557,20559],{"class":3767,"line":13777},[3765,20558,7042],{"class":4375},[3765,20560,13485],{"class":3845},[3765,20562,20563,20565,20567,20569],{"class":3767,"line":13783},[3765,20564,13988],{"class":4381},[3765,20566,4385],{"class":3775},[3765,20568,4388],{"class":3790},[3765,20570,13497],{"class":3797},[3765,20572,20573,20575,20577,20579],{"class":3767,"line":13797},[3765,20574,19626],{"class":3771},[3765,20576,3776],{"class":3797},[3765,20578,7639],{"class":3771},[3765,20580,4479],{"class":3797},[3765,20582,20583],{"class":3767,"line":13811},[3765,20584,19637],{"class":3797},[3765,20586,20587,20589,20591,20593,20595],{"class":3767,"line":13825},[3765,20588,19642],{"class":3771},[3765,20590,11062],{"class":3771},[3765,20592,3776],{"class":3797},[3765,20594,14339],{"class":3771},[3765,20596,4479],{"class":3797},[3765,20598,20599,20601,20603,20605,20607],{"class":3767,"line":13840},[3765,20600,19655],{"class":3771},[3765,20602,11062],{"class":3771},[3765,20604,3776],{"class":3797},[3765,20606,11547],{"class":3771},[3765,20608,4479],{"class":3797},[3765,20610,20611,20613,20615,20617,20619],{"class":3767,"line":13854},[3765,20612,19668],{"class":3771},[3765,20614,13109],{"class":3771},[3765,20616,3776],{"class":3797},[3765,20618,13114],{"class":3771},[3765,20620,4479],{"class":3797},[3765,20622,20623,20625,20627,20629,20631],{"class":3767,"line":13860},[3765,20624,19681],{"class":3771},[3765,20626,13109],{"class":3771},[3765,20628,3776],{"class":3797},[3765,20630,13176],{"class":3771},[3765,20632,4479],{"class":3797},[3765,20634,20635],{"class":3767,"line":13868},[3765,20636,19694],{"class":3797},[3765,20638,20639,20641],{"class":3767,"line":13873},[3765,20640,19699],{"class":3797},[3765,20642,4598],{"class":3790},[3765,20644,20645],{"class":3767,"line":13898},[3765,20646,14045],{"class":4375},[3765,20648,20649,20651,20653,20655,20657,20659,20661,20663,20665,20667,20669,20671,20674,20676,20678],{"class":3767,"line":13933},[3765,20650,7624],{"class":4375},[3765,20652,5120],{"class":3845},[3765,20654,5096],{"class":4381},[3765,20656,4385],{"class":3775},[3765,20658,4388],{"class":3790},[3765,20660,7063],{"class":3797},[3765,20662,7007],{"class":3771},[3765,20664,8386],{"class":3786},[3765,20666,7072],{"class":3797},[3765,20668,3803],{"class":3790},[3765,20670,4408],{"class":4375},[3765,20672,20673],{"class":3775},"Deep link (scheme)",[3765,20675,4414],{"class":4375},[3765,20677,5120],{"class":3845},[3765,20679,4419],{"class":4375},[3765,20681,20682,20684,20686,20688,20690,20692,20694,20696,20698,20700,20702,20704,20706],{"class":3767,"line":13959},[3765,20683,7624],{"class":4375},[3765,20685,5120],{"class":3845},[3765,20687,5123],{"class":4381},[3765,20689,4385],{"class":3775},[3765,20691,5152],{"class":3786},[3765,20693,5155],{"class":4381},[3765,20695,4385],{"class":3775},[3765,20697,4388],{"class":3790},[3765,20699,5162],{"class":3771},[3765,20701,3776],{"class":3797},[3765,20703,5167],{"class":3771},[3765,20705,3803],{"class":3790},[3765,20707,4419],{"class":4375},[3765,20709,20710],{"class":3767,"line":13968},[3765,20711,20712],{"class":3775},"            У app.json: scheme «nomad». Приклад createURL для поїздки id=1\n",[3765,20714,20715],{"class":3767,"line":13975},[3765,20716,20717],{"class":3775},"            (залежить від Expo Go \u002F standalone):\n",[3765,20719,20720,20722,20724],{"class":3767,"line":13985},[3765,20721,7936],{"class":4375},[3765,20723,5120],{"class":3845},[3765,20725,4419],{"class":4375},[3765,20727,20728,20730,20732,20734,20736,20738,20740,20742,20744,20746,20748,20750,20752],{"class":3767,"line":13997},[3765,20729,7624],{"class":4375},[3765,20731,5120],{"class":3845},[3765,20733,5123],{"class":4381},[3765,20735,4385],{"class":3775},[3765,20737,5152],{"class":3786},[3765,20739,5155],{"class":4381},[3765,20741,4385],{"class":3775},[3765,20743,4388],{"class":3790},[3765,20745,5162],{"class":3771},[3765,20747,3776],{"class":3797},[3765,20749,11096],{"class":3771},[3765,20751,3803],{"class":3790},[3765,20753,4419],{"class":4375},[3765,20755,20756,20758,20760,20762,20764,20766,20769,20771],{"class":3767,"line":14011},[3765,20757,16626],{"class":3790},[3765,20759,5685],{"class":3771},[3765,20761,3776],{"class":3797},[3765,20763,5690],{"class":3779},[3765,20765,3783],{"class":3797},[3765,20767,20768],{"class":3786},"'\u002Ftrips\u002F1'",[3765,20770,4679],{"class":3797},[3765,20772,4598],{"class":3790},[3765,20774,20775,20777,20779],{"class":3767,"line":14025},[3765,20776,7936],{"class":4375},[3765,20778,5120],{"class":3845},[3765,20780,4419],{"class":4375},[3765,20782,20783,20785,20787,20789,20791,20793,20795,20797,20799,20801,20803,20805,20807],{"class":3767,"line":14035},[3765,20784,7624],{"class":4375},[3765,20786,5120],{"class":3845},[3765,20788,5123],{"class":4381},[3765,20790,4385],{"class":3775},[3765,20792,5152],{"class":3786},[3765,20794,5155],{"class":4381},[3765,20796,4385],{"class":3775},[3765,20798,4388],{"class":3790},[3765,20800,5162],{"class":3771},[3765,20802,3776],{"class":3797},[3765,20804,5167],{"class":3771},[3765,20806,3803],{"class":3790},[3765,20808,4419],{"class":4375},[3765,20810,20811],{"class":3767,"line":14042},[3765,20812,20813],{"class":3775},"            Тест на білді: nomad:\u002F\u002Ftrips\u002F1 (симулятор \u002F adb). Деталі — у\n",[3765,20815,20816],{"class":3767,"line":14048},[3765,20817,20818],{"class":3775},"            статті про deep linking.\n",[3765,20820,20821,20823,20825],{"class":3767,"line":14065},[3765,20822,7936],{"class":4375},[3765,20824,5120],{"class":3845},[3765,20826,4419],{"class":4375},[3765,20828,20829,20831,20833],{"class":3767,"line":14100},[3765,20830,9099],{"class":4375},[3765,20832,5093],{"class":3845},[3765,20834,4419],{"class":4375},[3765,20836,20837],{"class":3767,"line":14111},[3765,20838,4363],{"emptyLinePlaceholder":4362},[3765,20840,20841,20843,20845,20847,20849,20851,20853,20855,20857,20859,20861,20863,20865],{"class":3767,"line":14120},[3765,20842,7042],{"class":4375},[3765,20844,5120],{"class":3845},[3765,20846,5123],{"class":4381},[3765,20848,4385],{"class":3775},[3765,20850,5152],{"class":3786},[3765,20852,5155],{"class":4381},[3765,20854,4385],{"class":3775},[3765,20856,4388],{"class":3790},[3765,20858,5162],{"class":3771},[3765,20860,3776],{"class":3797},[3765,20862,5167],{"class":3771},[3765,20864,3803],{"class":3790},[3765,20866,4419],{"class":4375},[3765,20868,20869],{"class":3767,"line":14125},[3765,20870,20871],{"class":3775},"          Репозиторій: github.com\u002Farakviel\u002Fnomad\n",[3765,20873,20874,20876,20878],{"class":3767,"line":14175},[3765,20875,9099],{"class":4375},[3765,20877,5120],{"class":3845},[3765,20879,4419],{"class":4375},[3765,20881,20882,20884,20886],{"class":3767,"line":14198},[3765,20883,5190],{"class":4375},[3765,20885,17461],{"class":3845},[3765,20887,4419],{"class":4375},[3765,20889,20890,20892,20894],{"class":3767,"line":14224},[3765,20891,5243],{"class":4375},[3765,20893,12472],{"class":3845},[3765,20895,4419],{"class":4375},[3765,20897,20898],{"class":3767,"line":14232},[3765,20899,5252],{"class":3775},[3765,20901,20902],{"class":3767,"line":14239},[3765,20903,4598],{"class":3775},[3765,20905,20906],{"class":3767,"line":14257},[3765,20907,4363],{"emptyLinePlaceholder":4362},[3765,20909,20910,20912,20914,20916,20918,20920,20922],{"class":3767,"line":14286},[3765,20911,3822],{"class":3790},[3765,20913,8093],{"class":3828},[3765,20915,4908],{"class":3775},[3765,20917,7163],{"class":3771},[3765,20919,3776],{"class":3775},[3765,20921,8102],{"class":3779},[3765,20923,4468],{"class":3775},[3765,20925,20926,20928],{"class":3767,"line":14298},[3765,20927,15150],{"class":3771},[3765,20929,4487],{"class":3775},[3765,20931,20932,20934,20936],{"class":3767,"line":14311},[3765,20933,8140],{"class":3771},[3765,20935,13149],{"class":4931},[3765,20937,4479],{"class":3775},[3765,20939,20940],{"class":3767,"line":14317},[3765,20941,4521],{"class":3775},[3765,20943,20944,20946],{"class":3767,"line":14344},[3765,20945,8295],{"class":3771},[3765,20947,4487],{"class":3775},[3765,20949,20950,20952,20954],{"class":3767,"line":14358},[3765,20951,8324],{"class":3771},[3765,20953,8118],{"class":4931},[3765,20955,4479],{"class":3775},[3765,20957,20958,20960,20962],{"class":3767,"line":14364},[3765,20959,8314],{"class":3771},[3765,20961,8249],{"class":4931},[3765,20963,4479],{"class":3775},[3765,20965,20966],{"class":3767,"line":14372},[3765,20967,4521],{"class":3775},[3765,20969,20970,20972],{"class":3767,"line":14383},[3765,20971,15195],{"class":3771},[3765,20973,4487],{"class":3775},[3765,20975,20976,20978,20980],{"class":3767,"line":14404},[3765,20977,15203],{"class":3771},[3765,20979,15206],{"class":3786},[3765,20981,4479],{"class":3775},[3765,20983,20984,20986,20988],{"class":3767,"line":14431},[3765,20985,15214],{"class":3771},[3765,20987,15217],{"class":3786},[3765,20989,4479],{"class":3775},[3765,20991,20992],{"class":3767,"line":14437},[3765,20993,4521],{"class":3775},[3765,20995,20996,20998],{"class":3767,"line":14444},[3765,20997,15230],{"class":3771},[3765,20999,4487],{"class":3775},[3765,21001,21002,21004,21006],{"class":3767,"line":14454},[3765,21003,8140],{"class":3771},[3765,21005,8249],{"class":4931},[3765,21007,4479],{"class":3775},[3765,21009,21010,21012,21014],{"class":3767,"line":14486},[3765,21011,8473],{"class":3771},[3765,21013,8154],{"class":4931},[3765,21015,4479],{"class":3775},[3765,21017,21018,21020,21022],{"class":3767,"line":14505},[3765,21019,8314],{"class":3771},[3765,21021,8154],{"class":4931},[3765,21023,4479],{"class":3775},[3765,21025,21026,21028,21030],{"class":3767,"line":14511},[3765,21027,8324],{"class":3771},[3765,21029,8118],{"class":4931},[3765,21031,4479],{"class":3775},[3765,21033,21034],{"class":3767,"line":14525},[3765,21035,4521],{"class":3775},[3765,21037,21038,21040],{"class":3767,"line":14535},[3765,21039,15279],{"class":3771},[3765,21041,4487],{"class":3775},[3765,21043,21044,21046,21048],{"class":3767,"line":14544},[3765,21045,8257],{"class":3771},[3765,21047,7010],{"class":3786},[3765,21049,4479],{"class":3775},[3765,21051,21052],{"class":3767,"line":14550},[3765,21053,4521],{"class":3775},[3765,21055,21056,21059],{"class":3767,"line":14558},[3765,21057,21058],{"class":3771},"  linkBtn:",[3765,21060,4487],{"class":3775},[3765,21062,21063,21065,21067],{"class":3767,"line":14567},[3765,21064,8510],{"class":3771},[3765,21066,8513],{"class":3786},[3765,21068,4479],{"class":3775},[3765,21070,21071],{"class":3767,"line":14576},[3765,21072,4521],{"class":3775},[3765,21074,21075],{"class":3767,"line":14581},[3765,21076,4527],{"class":3775},[3756,21078,21081],{"className":3758,"code":21079,"filename":21080,"language":3760,"meta":3761,"style":3761},"import { StyleSheet } from 'react-native';\nimport { useRouter } from 'expo-router';\n\nimport { CreateTripForm, useTrips } from '@\u002Ffeatures\u002Ftrips';\nimport { Screen } from '@\u002Fshared\u002Fui';\n\n\u002F**\n * Екран створення поїздки — Stack-екран поза Tabs.\n * Заголовок і системна кнопка «назад» задаються в app\u002F_layout.tsx (Stack.Screen options).\n *\u002F\nexport default function CreateTripScreen() {\n  const router = useRouter();\n  const { addTrip } = useTrips();\n\n  return (\n    \u003CScreen style={styles.screen}>\n      \u003CCreateTripForm\n        onSubmitSuccess={(trip) => {\n          addTrip(trip);\n          router.back();\n        }}\n        onCancel={() => router.back()}\n      \u002F>\n    \u003C\u002FScreen>\n  );\n}\n\nconst styles = StyleSheet.create({\n  screen: {\n    paddingHorizontal: 0,\n  },\n});\n","app\u002Fcreate-trip.tsx",[3747,21082,21083,21099,21115,21119,21140,21156,21160,21164,21169,21174,21178,21191,21203,21218,21222,21228,21250,21257,21276,21287,21298,21304,21327,21331,21339,21343,21347,21351,21367,21373,21381,21385],{"__ignoreMap":3761},[3765,21084,21085,21087,21089,21091,21093,21095,21097],{"class":3767,"line":3768},[3765,21086,4716],{"class":4715},[3765,21088,3825],{"class":3775},[3765,21090,7163],{"class":3771},[3765,21092,4723],{"class":3775},[3765,21094,4726],{"class":4715},[3765,21096,5603],{"class":3786},[3765,21098,4732],{"class":3775},[3765,21100,21101,21103,21105,21107,21109,21111,21113],{"class":3767,"line":4332},[3765,21102,4716],{"class":4715},[3765,21104,3825],{"class":3775},[3765,21106,7193],{"class":3771},[3765,21108,4723],{"class":3775},[3765,21110,4726],{"class":4715},[3765,21112,4729],{"class":3786},[3765,21114,4732],{"class":3775},[3765,21116,21117],{"class":3767,"line":4359},[3765,21118,4363],{"emptyLinePlaceholder":4362},[3765,21120,21121,21123,21125,21128,21130,21132,21134,21136,21138],{"class":3767,"line":4366},[3765,21122,4716],{"class":4715},[3765,21124,3825],{"class":3775},[3765,21126,21127],{"class":3771},"CreateTripForm",[3765,21129,4032],{"class":3775},[3765,21131,12618],{"class":3771},[3765,21133,4723],{"class":3775},[3765,21135,4726],{"class":4715},[3765,21137,10865],{"class":3786},[3765,21139,4732],{"class":3775},[3765,21141,21142,21144,21146,21148,21150,21152,21154],{"class":3767,"line":4372},[3765,21143,4716],{"class":4715},[3765,21145,3825],{"class":3775},[3765,21147,12472],{"class":3771},[3765,21149,4723],{"class":3775},[3765,21151,4726],{"class":4715},[3765,21153,12479],{"class":3786},[3765,21155,4732],{"class":3775},[3765,21157,21158],{"class":3767,"line":4504},[3765,21159,4363],{"emptyLinePlaceholder":4362},[3765,21161,21162],{"class":3767,"line":4518},[3765,21163,10899],{"class":4328},[3765,21165,21166],{"class":3767,"line":4524},[3765,21167,21168],{"class":4328}," * Екран створення поїздки — Stack-екран поза Tabs.\n",[3765,21170,21171],{"class":3767,"line":4530},[3765,21172,21173],{"class":4328}," * Заголовок і системна кнопка «назад» задаються в app\u002F_layout.tsx (Stack.Screen options).\n",[3765,21175,21176],{"class":3767,"line":4535},[3765,21177,10929],{"class":4328},[3765,21179,21180,21182,21184,21186,21189],{"class":3767,"line":4541},[3765,21181,4741],{"class":4715},[3765,21183,4744],{"class":4715},[3765,21185,4747],{"class":3790},[3765,21187,21188],{"class":3779}," CreateTripScreen",[3765,21190,4753],{"class":3775},[3765,21192,21193,21195,21197,21199,21201],{"class":3767,"line":4549},[3765,21194,4758],{"class":3790},[3765,21196,5225],{"class":3828},[3765,21198,4908],{"class":3775},[3765,21200,7193],{"class":3779},[3765,21202,6811],{"class":3775},[3765,21204,21205,21207,21209,21212,21214,21216],{"class":3767,"line":4562},[3765,21206,4758],{"class":3790},[3765,21208,3825],{"class":3775},[3765,21210,21211],{"class":3828},"addTrip",[3765,21213,3831],{"class":3775},[3765,21215,12618],{"class":3779},[3765,21217,6811],{"class":3775},[3765,21219,21220],{"class":3767,"line":4572},[3765,21221,4363],{"emptyLinePlaceholder":4362},[3765,21223,21224,21226],{"class":3767,"line":4592},[3765,21225,5082],{"class":4715},[3765,21227,5085],{"class":3775},[3765,21229,21230,21232,21234,21236,21238,21240,21242,21244,21246,21248],{"class":3767,"line":4601},[3765,21231,5090],{"class":4375},[3765,21233,12472],{"class":3845},[3765,21235,5096],{"class":4381},[3765,21237,4385],{"class":3775},[3765,21239,4388],{"class":3790},[3765,21241,5103],{"class":3771},[3765,21243,3776],{"class":3797},[3765,21245,13739],{"class":3771},[3765,21247,3803],{"class":3790},[3765,21249,4419],{"class":4375},[3765,21251,21252,21254],{"class":3767,"line":4606},[3765,21253,5117],{"class":4375},[3765,21255,21256],{"class":3845},"CreateTripForm\n",[3765,21258,21259,21262,21264,21266,21268,21270,21272,21274],{"class":3767,"line":4612},[3765,21260,21261],{"class":4381},"        onSubmitSuccess",[3765,21263,4385],{"class":3775},[3765,21265,4388],{"class":3790},[3765,21267,3783],{"class":3797},[3765,21269,3794],{"class":3771},[3765,21271,6832],{"class":3797},[3765,21273,5222],{"class":3790},[3765,21275,4487],{"class":3797},[3765,21277,21278,21281,21283,21285],{"class":3767,"line":6683},[3765,21279,21280],{"class":3779},"          addTrip",[3765,21282,3783],{"class":3797},[3765,21284,3794],{"class":3771},[3765,21286,3809],{"class":3797},[3765,21288,21289,21292,21294,21296],{"class":3767,"line":6693},[3765,21290,21291],{"class":3771},"          router",[3765,21293,3776],{"class":3797},[3765,21295,5230],{"class":3779},[3765,21297,6811],{"class":3797},[3765,21299,21300,21302],{"class":3767,"line":6698},[3765,21301,7030],{"class":3797},[3765,21303,4598],{"class":3790},[3765,21305,21306,21309,21311,21313,21315,21317,21319,21321,21323,21325],{"class":3767,"line":6703},[3765,21307,21308],{"class":4381},"        onCancel",[3765,21310,4385],{"class":3775},[3765,21312,4388],{"class":3790},[3765,21314,5219],{"class":3797},[3765,21316,5222],{"class":3790},[3765,21318,5225],{"class":3771},[3765,21320,3776],{"class":3797},[3765,21322,5230],{"class":3779},[3765,21324,5233],{"class":3797},[3765,21326,4598],{"class":3790},[3765,21328,21329],{"class":3767,"line":6713},[3765,21330,7954],{"class":4375},[3765,21332,21333,21335,21337],{"class":3767,"line":6723},[3765,21334,5243],{"class":4375},[3765,21336,12472],{"class":3845},[3765,21338,4419],{"class":4375},[3765,21340,21341],{"class":3767,"line":6733},[3765,21342,5252],{"class":3775},[3765,21344,21345],{"class":3767,"line":6743},[3765,21346,4598],{"class":3775},[3765,21348,21349],{"class":3767,"line":6748},[3765,21350,4363],{"emptyLinePlaceholder":4362},[3765,21352,21353,21355,21357,21359,21361,21363,21365],{"class":3767,"line":6754},[3765,21354,3822],{"class":3790},[3765,21356,8093],{"class":3828},[3765,21358,4908],{"class":3775},[3765,21360,7163],{"class":3771},[3765,21362,3776],{"class":3775},[3765,21364,8102],{"class":3779},[3765,21366,4468],{"class":3775},[3765,21368,21369,21371],{"class":3767,"line":6759},[3765,21370,15150],{"class":3771},[3765,21372,4487],{"class":3775},[3765,21374,21375,21377,21379],{"class":3767,"line":6788},[3765,21376,8140],{"class":3771},[3765,21378,13149],{"class":4931},[3765,21380,4479],{"class":3775},[3765,21382,21383],{"class":3767,"line":6814},[3765,21384,4521],{"class":3775},[3765,21386,21387],{"class":3767,"line":6852},[3765,21388,4527],{"class":3775},[3756,21390,21393],{"className":6512,"code":21391,"filename":21392,"language":6514,"meta":3761,"style":3761},"export { mockTrips } from '.\u002Fmodel\u002FmockTrips';\nexport { mockPlaces } from '.\u002Fmodel\u002FmockPlaces';\nexport { getPlacesForTrip } from '.\u002Fmodel\u002FplacesHelpers';\nexport type { Trip, Place, TripRegion } from '.\u002Fmodel\u002Ftypes';\nexport { TRIP_REGIONS } from '.\u002Fmodel\u002Ftypes';\nexport { TripCard } from '.\u002Fui\u002FTripCard';\nexport { PlaceChip } from '.\u002Fui\u002FPlaceChip';\nexport { CreateTripForm } from '.\u002Fui\u002FCreateTripForm';\nexport { DateField } from '.\u002Fui\u002FDateField';\nexport { FormRow } from '.\u002Fui\u002FFormRow';\nexport { TripsProvider, useTrips } from '.\u002Fmodel\u002FTripsProvider';\nexport {\n  createTripSchema,\n  type CreateTripFormValues,\n} from '.\u002Fmodel\u002FcreateTripSchema';\nexport { formatTripDateLabel } from '.\u002Fmodel\u002FformatTripDates';\n","src\u002Ffeatures\u002Ftrips\u002Findex.ts",[3747,21394,21395,21413,21430,21447,21475,21492,21509,21526,21543,21561,21579,21600,21606,21613,21622,21633],{"__ignoreMap":3761},[3765,21396,21397,21399,21401,21404,21406,21408,21411],{"class":3767,"line":3768},[3765,21398,4741],{"class":4715},[3765,21400,3825],{"class":3775},[3765,21402,21403],{"class":3771},"mockTrips",[3765,21405,4723],{"class":3775},[3765,21407,4726],{"class":4715},[3765,21409,21410],{"class":3786}," '.\u002Fmodel\u002FmockTrips'",[3765,21412,4732],{"class":3775},[3765,21414,21415,21417,21419,21421,21423,21425,21428],{"class":3767,"line":4332},[3765,21416,4741],{"class":4715},[3765,21418,3825],{"class":3775},[3765,21420,12679],{"class":3771},[3765,21422,4723],{"class":3775},[3765,21424,4726],{"class":4715},[3765,21426,21427],{"class":3786}," '.\u002Fmodel\u002FmockPlaces'",[3765,21429,4732],{"class":3775},[3765,21431,21432,21434,21436,21438,21440,21442,21445],{"class":3767,"line":4359},[3765,21433,4741],{"class":4715},[3765,21435,3825],{"class":3775},[3765,21437,15779],{"class":3771},[3765,21439,4723],{"class":3775},[3765,21441,4726],{"class":4715},[3765,21443,21444],{"class":3786}," '.\u002Fmodel\u002FplacesHelpers'",[3765,21446,4732],{"class":3775},[3765,21448,21449,21451,21453,21455,21457,21459,21461,21463,21466,21468,21470,21473],{"class":3767,"line":4366},[3765,21450,4741],{"class":4715},[3765,21452,6523],{"class":4715},[3765,21454,3825],{"class":3775},[3765,21456,12736],{"class":3771},[3765,21458,4032],{"class":3775},[3765,21460,12673],{"class":3771},[3765,21462,4032],{"class":3775},[3765,21464,21465],{"class":3771},"TripRegion",[3765,21467,4723],{"class":3775},[3765,21469,4726],{"class":4715},[3765,21471,21472],{"class":3786}," '.\u002Fmodel\u002Ftypes'",[3765,21474,4732],{"class":3775},[3765,21476,21477,21479,21481,21484,21486,21488,21490],{"class":3767,"line":4372},[3765,21478,4741],{"class":4715},[3765,21480,3825],{"class":3775},[3765,21482,21483],{"class":3771},"TRIP_REGIONS",[3765,21485,4723],{"class":3775},[3765,21487,4726],{"class":4715},[3765,21489,21472],{"class":3786},[3765,21491,4732],{"class":3775},[3765,21493,21494,21496,21498,21500,21502,21504,21507],{"class":3767,"line":4504},[3765,21495,4741],{"class":4715},[3765,21497,3825],{"class":3775},[3765,21499,13000],{"class":3771},[3765,21501,4723],{"class":3775},[3765,21503,4726],{"class":4715},[3765,21505,21506],{"class":3786}," '.\u002Fui\u002FTripCard'",[3765,21508,4732],{"class":3775},[3765,21510,21511,21513,21515,21517,21519,21521,21524],{"class":3767,"line":4518},[3765,21512,4741],{"class":4715},[3765,21514,3825],{"class":3775},[3765,21516,13290],{"class":3771},[3765,21518,4723],{"class":3775},[3765,21520,4726],{"class":4715},[3765,21522,21523],{"class":3786}," '.\u002Fui\u002FPlaceChip'",[3765,21525,4732],{"class":3775},[3765,21527,21528,21530,21532,21534,21536,21538,21541],{"class":3767,"line":4524},[3765,21529,4741],{"class":4715},[3765,21531,3825],{"class":3775},[3765,21533,21127],{"class":3771},[3765,21535,4723],{"class":3775},[3765,21537,4726],{"class":4715},[3765,21539,21540],{"class":3786}," '.\u002Fui\u002FCreateTripForm'",[3765,21542,4732],{"class":3775},[3765,21544,21545,21547,21549,21552,21554,21556,21559],{"class":3767,"line":4530},[3765,21546,4741],{"class":4715},[3765,21548,3825],{"class":3775},[3765,21550,21551],{"class":3771},"DateField",[3765,21553,4723],{"class":3775},[3765,21555,4726],{"class":4715},[3765,21557,21558],{"class":3786}," '.\u002Fui\u002FDateField'",[3765,21560,4732],{"class":3775},[3765,21562,21563,21565,21567,21570,21572,21574,21577],{"class":3767,"line":4535},[3765,21564,4741],{"class":4715},[3765,21566,3825],{"class":3775},[3765,21568,21569],{"class":3771},"FormRow",[3765,21571,4723],{"class":3775},[3765,21573,4726],{"class":4715},[3765,21575,21576],{"class":3786}," '.\u002Fui\u002FFormRow'",[3765,21578,4732],{"class":3775},[3765,21580,21581,21583,21585,21587,21589,21591,21593,21595,21598],{"class":3767,"line":4541},[3765,21582,4741],{"class":4715},[3765,21584,3825],{"class":3775},[3765,21586,10858],{"class":3771},[3765,21588,4032],{"class":3775},[3765,21590,12618],{"class":3771},[3765,21592,4723],{"class":3775},[3765,21594,4726],{"class":4715},[3765,21596,21597],{"class":3786}," '.\u002Fmodel\u002FTripsProvider'",[3765,21599,4732],{"class":3775},[3765,21601,21602,21604],{"class":3767,"line":4549},[3765,21603,4741],{"class":4715},[3765,21605,4487],{"class":3775},[3765,21607,21608,21611],{"class":3767,"line":4562},[3765,21609,21610],{"class":3771},"  createTripSchema",[3765,21612,4479],{"class":3775},[3765,21614,21615,21617,21620],{"class":3767,"line":4572},[3765,21616,12407],{"class":4715},[3765,21618,21619],{"class":3771}," CreateTripFormValues",[3765,21621,4479],{"class":3775},[3765,21623,21624,21626,21628,21631],{"class":3767,"line":4592},[3765,21625,12324],{"class":3775},[3765,21627,4726],{"class":4715},[3765,21629,21630],{"class":3786}," '.\u002Fmodel\u002FcreateTripSchema'",[3765,21632,4732],{"class":3775},[3765,21634,21635,21637,21639,21642,21644,21646,21649],{"class":3767,"line":4601},[3765,21636,4741],{"class":4715},[3765,21638,3825],{"class":3775},[3765,21640,21641],{"class":3771},"formatTripDateLabel",[3765,21643,4723],{"class":3775},[3765,21645,4726],{"class":4715},[3765,21647,21648],{"class":3786}," '.\u002Fmodel\u002FformatTripDates'",[3765,21650,4732],{"class":3775},[3756,21652,21655],{"className":6512,"code":21653,"filename":21654,"language":6514,"meta":3761,"style":3761},"export type Trip = {\n  id: string;\n  title: string;\n  dateLabel: string;\n  description: string;\n  coverUri: string;\n  \u002F** Регіон \u002F макрозона (з Picker у формі створення). *\u002F\n  region: string;\n  \u002F** Приватна поїздка (Switch) — навчальна мітка на картці. *\u002F\n  isPrivate?: boolean;\n  \u002F** Скільки днів плануємо (Slider 1–14). *\u002F\n  plannedDays?: number;\n  \u002F** Є попередній план маршруту (Checkbox). *\u002F\n  hasItinerary?: boolean;\n};\n\nexport type Place = {\n  id: string;\n  tripId: string;\n  name: string;\n  city: string;\n  note: string;\n};\n\n\u002F** Варіанти регіону для Picker — ті самі рядки, що в mock-стрічці. *\u002F\nexport const TRIP_REGIONS = [\n  'Карпати',\n  'Захід',\n  'Південь',\n  'Центр',\n  'Схід',\n  'Інше',\n] as const;\n\nexport type TripRegion = (typeof TRIP_REGIONS)[number];\n","src\u002Ffeatures\u002Ftrips\u002Fmodel\u002Ftypes.ts",[3747,21656,21657,21667,21678,21688,21699,21709,21720,21725,21736,21741,21753,21758,21770,21775,21786,21790,21794,21804,21814,21825,21836,21847,21858,21862,21866,21871,21883,21890,21897,21904,21911,21918,21925,21937,21941],{"__ignoreMap":3761},[3765,21658,21659,21661,21663,21665],{"class":3767,"line":3768},[3765,21660,4741],{"class":4715},[3765,21662,6523],{"class":3790},[3765,21664,12419],{"class":3845},[3765,21666,6529],{"class":3775},[3765,21668,21669,21672,21674,21676],{"class":3767,"line":4332},[3765,21670,21671],{"class":3771},"  id",[3765,21673,3842],{"class":3775},[3765,21675,3846],{"class":3845},[3765,21677,4732],{"class":3775},[3765,21679,21680,21682,21684,21686],{"class":3767,"line":4359},[3765,21681,6545],{"class":3771},[3765,21683,3842],{"class":3775},[3765,21685,3846],{"class":3845},[3765,21687,4732],{"class":3775},[3765,21689,21690,21693,21695,21697],{"class":3767,"line":4366},[3765,21691,21692],{"class":3771},"  dateLabel",[3765,21694,3842],{"class":3775},[3765,21696,3846],{"class":3845},[3765,21698,4732],{"class":3775},[3765,21700,21701,21703,21705,21707],{"class":3767,"line":4372},[3765,21702,6556],{"class":3771},[3765,21704,3842],{"class":3775},[3765,21706,3846],{"class":3845},[3765,21708,4732],{"class":3775},[3765,21710,21711,21714,21716,21718],{"class":3767,"line":4504},[3765,21712,21713],{"class":3771},"  coverUri",[3765,21715,3842],{"class":3775},[3765,21717,3846],{"class":3845},[3765,21719,4732],{"class":3775},[3765,21721,21722],{"class":3767,"line":4518},[3765,21723,21724],{"class":4328},"  \u002F** Регіон \u002F макрозона (з Picker у формі створення). *\u002F\n",[3765,21726,21727,21730,21732,21734],{"class":3767,"line":4524},[3765,21728,21729],{"class":3771},"  region",[3765,21731,3842],{"class":3775},[3765,21733,3846],{"class":3845},[3765,21735,4732],{"class":3775},[3765,21737,21738],{"class":3767,"line":4530},[3765,21739,21740],{"class":4328},"  \u002F** Приватна поїздка (Switch) — навчальна мітка на картці. *\u002F\n",[3765,21742,21743,21746,21748,21751],{"class":3767,"line":4535},[3765,21744,21745],{"class":3771},"  isPrivate",[3765,21747,4786],{"class":3775},[3765,21749,21750],{"class":3845},"boolean",[3765,21752,4732],{"class":3775},[3765,21754,21755],{"class":3767,"line":4541},[3765,21756,21757],{"class":4328},"  \u002F** Скільки днів плануємо (Slider 1–14). *\u002F\n",[3765,21759,21760,21763,21765,21768],{"class":3767,"line":4549},[3765,21761,21762],{"class":3771},"  plannedDays",[3765,21764,4786],{"class":3775},[3765,21766,21767],{"class":3845},"number",[3765,21769,4732],{"class":3775},[3765,21771,21772],{"class":3767,"line":4562},[3765,21773,21774],{"class":4328},"  \u002F** Є попередній план маршруту (Checkbox). *\u002F\n",[3765,21776,21777,21780,21782,21784],{"class":3767,"line":4572},[3765,21778,21779],{"class":3771},"  hasItinerary",[3765,21781,4786],{"class":3775},[3765,21783,21750],{"class":3845},[3765,21785,4732],{"class":3775},[3765,21787,21788],{"class":3767,"line":4592},[3765,21789,6578],{"class":3775},[3765,21791,21792],{"class":3767,"line":4601},[3765,21793,4363],{"emptyLinePlaceholder":4362},[3765,21795,21796,21798,21800,21802],{"class":3767,"line":4606},[3765,21797,4741],{"class":4715},[3765,21799,6523],{"class":3790},[3765,21801,12410],{"class":3845},[3765,21803,6529],{"class":3775},[3765,21805,21806,21808,21810,21812],{"class":3767,"line":4612},[3765,21807,21671],{"class":3771},[3765,21809,3842],{"class":3775},[3765,21811,3846],{"class":3845},[3765,21813,4732],{"class":3775},[3765,21815,21816,21819,21821,21823],{"class":3767,"line":6683},[3765,21817,21818],{"class":3771},"  tripId",[3765,21820,3842],{"class":3775},[3765,21822,3846],{"class":3845},[3765,21824,4732],{"class":3775},[3765,21826,21827,21830,21832,21834],{"class":3767,"line":6693},[3765,21828,21829],{"class":3771},"  name",[3765,21831,3842],{"class":3775},[3765,21833,3846],{"class":3845},[3765,21835,4732],{"class":3775},[3765,21837,21838,21841,21843,21845],{"class":3767,"line":6698},[3765,21839,21840],{"class":3771},"  city",[3765,21842,3842],{"class":3775},[3765,21844,3846],{"class":3845},[3765,21846,4732],{"class":3775},[3765,21848,21849,21852,21854,21856],{"class":3767,"line":6703},[3765,21850,21851],{"class":3771},"  note",[3765,21853,3842],{"class":3775},[3765,21855,3846],{"class":3845},[3765,21857,4732],{"class":3775},[3765,21859,21860],{"class":3767,"line":6713},[3765,21861,6578],{"class":3775},[3765,21863,21864],{"class":3767,"line":6723},[3765,21865,4363],{"emptyLinePlaceholder":4362},[3765,21867,21868],{"class":3767,"line":6733},[3765,21869,21870],{"class":4328},"\u002F** Варіанти регіону для Picker — ті самі рядки, що в mock-стрічці. *\u002F\n",[3765,21872,21873,21875,21877,21880],{"class":3767,"line":6743},[3765,21874,4741],{"class":4715},[3765,21876,6589],{"class":3790},[3765,21878,21879],{"class":3828}," TRIP_REGIONS",[3765,21881,21882],{"class":3775}," = [\n",[3765,21884,21885,21888],{"class":3767,"line":6748},[3765,21886,21887],{"class":3786},"  'Карпати'",[3765,21889,4479],{"class":3775},[3765,21891,21892,21895],{"class":3767,"line":6754},[3765,21893,21894],{"class":3786},"  'Захід'",[3765,21896,4479],{"class":3775},[3765,21898,21899,21902],{"class":3767,"line":6759},[3765,21900,21901],{"class":3786},"  'Південь'",[3765,21903,4479],{"class":3775},[3765,21905,21906,21909],{"class":3767,"line":6788},[3765,21907,21908],{"class":3786},"  'Центр'",[3765,21910,4479],{"class":3775},[3765,21912,21913,21916],{"class":3767,"line":6814},[3765,21914,21915],{"class":3786},"  'Схід'",[3765,21917,4479],{"class":3775},[3765,21919,21920,21923],{"class":3767,"line":6852},[3765,21921,21922],{"class":3786},"  'Інше'",[3765,21924,4479],{"class":3775},[3765,21926,21927,21930,21933,21935],{"class":3767,"line":7689},[3765,21928,21929],{"class":3775},"] ",[3765,21931,21932],{"class":4715},"as",[3765,21934,6589],{"class":3790},[3765,21936,4732],{"class":3775},[3765,21938,21939],{"class":3767,"line":7730},[3765,21940,4363],{"emptyLinePlaceholder":4362},[3765,21942,21943,21945,21947,21950,21953,21956,21958,21961,21963],{"class":3767,"line":7769},[3765,21944,4741],{"class":4715},[3765,21946,6523],{"class":3790},[3765,21948,21949],{"class":3845}," TripRegion",[3765,21951,21952],{"class":3775}," = (",[3765,21954,21955],{"class":3790},"typeof",[3765,21957,21879],{"class":3828},[3765,21959,21960],{"class":3775},")[",[3765,21962,21767],{"class":3845},[3765,21964,6751],{"class":3775},[3756,21966,21969],{"className":6512,"code":21967,"filename":21968,"language":6514,"meta":3761,"style":3761},"import { z } from 'zod';\n\nimport { TRIP_REGIONS } from '.\u002Ftypes';\n\n\u002F**\n * Схема створення поїздки (Zod).\n * Повідомлення — українською: саме їх побачить користувач під полем.\n *\n * Покриває різні типи контролів:\n * - string → TextInput\n * - enum → Picker\n * - date → DateTimePicker\n * - boolean → Switch \u002F Checkbox\n * - number → Slider\n *\u002F\nexport const createTripSchema = z\n  .object({\n    title: z\n      .string()\n      .trim()\n      .min(2, 'Назва має містити щонайменше 2 символи')\n      .max(80, 'Назва занадто довга (макс. 80)'),\n    region: z.enum(TRIP_REGIONS, {\n      error: 'Оберіть регіон зі списку',\n    }),\n    description: z\n      .string()\n      .trim()\n      .min(10, 'Опис — щонайменше 10 символів')\n      .max(500, 'Опис занадто довгий (макс. 500)'),\n    startDate: z.date({ error: 'Оберіть дату початку' }),\n    endDate: z.date({ error: 'Оберіть дату завершення' }),\n    \u002F** Switch: чи ховати поїздку з «публічної» стрічки (навчальна семантика). *\u002F\n    isPrivate: z.boolean(),\n    \u002F** Slider: орієнтовна тривалість у днях. *\u002F\n    plannedDays: z\n      .number()\n      .min(1, 'Мінімум 1 день')\n      .max(14, 'У формі максимум 14 днів'),\n    \u002F** Checkbox: чи є план маршруту. *\u002F\n    hasItinerary: z.boolean(),\n    \u002F**\n     * Checkbox з обов’язковою згодою.\n     * `true` — єдине прийнятне значення (як «прийняти умови»).\n     *\u002F\n    acceptedLocalSave: z.literal(true, {\n      error: 'Підтвердіть, що дані поки зберігаються лише на пристрої',\n    }),\n  })\n  .refine((data) => data.endDate.getTime() >= data.startDate.getTime(), {\n    message: 'Дата завершення не може бути раніше початку',\n    path: ['endDate'],\n  });\n\nexport type CreateTripFormValues = z.infer\u003Ctypeof createTripSchema>;\n","src\u002Ffeatures\u002Ftrips\u002Fmodel\u002FcreateTripSchema.ts",[3747,21970,21971,21989,21993,22010,22014,22018,22023,22028,22032,22037,22042,22047,22052,22057,22062,22066,22080,22090,22097,22107,22115,22133,22153,22173,22183,22187,22193,22201,22209,22227,22245,22267,22287,22292,22306,22311,22318,22326,22344,22362,22367,22380,22385,22390,22395,22400,22418,22427,22431,22436,22482,22492,22504,22509,22513],{"__ignoreMap":3761},[3765,21972,21973,21975,21977,21980,21982,21984,21987],{"class":3767,"line":3768},[3765,21974,4716],{"class":4715},[3765,21976,3825],{"class":3775},[3765,21978,21979],{"class":3771},"z",[3765,21981,4723],{"class":3775},[3765,21983,4726],{"class":4715},[3765,21985,21986],{"class":3786}," 'zod'",[3765,21988,4732],{"class":3775},[3765,21990,21991],{"class":3767,"line":4332},[3765,21992,4363],{"emptyLinePlaceholder":4362},[3765,21994,21995,21997,21999,22001,22003,22005,22008],{"class":3767,"line":4359},[3765,21996,4716],{"class":4715},[3765,21998,3825],{"class":3775},[3765,22000,21483],{"class":3771},[3765,22002,4723],{"class":3775},[3765,22004,4726],{"class":4715},[3765,22006,22007],{"class":3786}," '.\u002Ftypes'",[3765,22009,4732],{"class":3775},[3765,22011,22012],{"class":3767,"line":4366},[3765,22013,4363],{"emptyLinePlaceholder":4362},[3765,22015,22016],{"class":3767,"line":4372},[3765,22017,10899],{"class":4328},[3765,22019,22020],{"class":3767,"line":4504},[3765,22021,22022],{"class":4328}," * Схема створення поїздки (Zod).\n",[3765,22024,22025],{"class":3767,"line":4518},[3765,22026,22027],{"class":4328}," * Повідомлення — українською: саме їх побачить користувач під полем.\n",[3765,22029,22030],{"class":3767,"line":4524},[3765,22031,10919],{"class":4328},[3765,22033,22034],{"class":3767,"line":4530},[3765,22035,22036],{"class":4328}," * Покриває різні типи контролів:\n",[3765,22038,22039],{"class":3767,"line":4535},[3765,22040,22041],{"class":4328}," * - string → TextInput\n",[3765,22043,22044],{"class":3767,"line":4541},[3765,22045,22046],{"class":4328}," * - enum → Picker\n",[3765,22048,22049],{"class":3767,"line":4549},[3765,22050,22051],{"class":4328}," * - date → DateTimePicker\n",[3765,22053,22054],{"class":3767,"line":4562},[3765,22055,22056],{"class":4328}," * - boolean → Switch \u002F Checkbox\n",[3765,22058,22059],{"class":3767,"line":4572},[3765,22060,22061],{"class":4328}," * - number → Slider\n",[3765,22063,22064],{"class":3767,"line":4592},[3765,22065,10929],{"class":4328},[3765,22067,22068,22070,22072,22075,22077],{"class":3767,"line":4601},[3765,22069,4741],{"class":4715},[3765,22071,6589],{"class":3790},[3765,22073,22074],{"class":3828}," createTripSchema",[3765,22076,4908],{"class":3775},[3765,22078,22079],{"class":3771},"z\n",[3765,22081,22082,22085,22088],{"class":3767,"line":4606},[3765,22083,22084],{"class":3775},"  .",[3765,22086,22087],{"class":3779},"object",[3765,22089,4468],{"class":3775},[3765,22091,22092,22094],{"class":3767,"line":4612},[3765,22093,6620],{"class":3771},[3765,22095,22096],{"class":3771}," z\n",[3765,22098,22099,22102,22104],{"class":3767,"line":6683},[3765,22100,22101],{"class":3775},"      .",[3765,22103,3846],{"class":3779},[3765,22105,22106],{"class":3775},"()\n",[3765,22108,22109,22111,22113],{"class":3767,"line":6693},[3765,22110,22101],{"class":3775},[3765,22112,6802],{"class":3779},[3765,22114,22106],{"class":3775},[3765,22116,22117,22119,22122,22124,22126,22128,22131],{"class":3767,"line":6698},[3765,22118,22101],{"class":3775},[3765,22120,22121],{"class":3779},"min",[3765,22123,3783],{"class":3775},[3765,22125,18671],{"class":4931},[3765,22127,4032],{"class":3775},[3765,22129,22130],{"class":3786},"'Назва має містити щонайменше 2 символи'",[3765,22132,8866],{"class":3775},[3765,22134,22135,22137,22140,22142,22145,22147,22150],{"class":3767,"line":6703},[3765,22136,22101],{"class":3775},[3765,22138,22139],{"class":3779},"max",[3765,22141,3783],{"class":3775},[3765,22143,22144],{"class":4931},"80",[3765,22146,4032],{"class":3775},[3765,22148,22149],{"class":3786},"'Назва занадто довга (макс. 80)'",[3765,22151,22152],{"class":3775},"),\n",[3765,22154,22155,22158,22161,22163,22166,22168,22170],{"class":3767,"line":6713},[3765,22156,22157],{"class":3771},"    region:",[3765,22159,22160],{"class":3771}," z",[3765,22162,3776],{"class":3775},[3765,22164,22165],{"class":3779},"enum",[3765,22167,3783],{"class":3775},[3765,22169,21483],{"class":3828},[3765,22171,22172],{"class":3775},", {\n",[3765,22174,22175,22178,22181],{"class":3767,"line":6723},[3765,22176,22177],{"class":3771},"      error:",[3765,22179,22180],{"class":3786}," 'Оберіть регіон зі списку'",[3765,22182,4479],{"class":3775},[3765,22184,22185],{"class":3767,"line":6733},[3765,22186,18105],{"class":3775},[3765,22188,22189,22191],{"class":3767,"line":6743},[3765,22190,6630],{"class":3771},[3765,22192,22096],{"class":3771},[3765,22194,22195,22197,22199],{"class":3767,"line":6748},[3765,22196,22101],{"class":3775},[3765,22198,3846],{"class":3779},[3765,22200,22106],{"class":3775},[3765,22202,22203,22205,22207],{"class":3767,"line":6754},[3765,22204,22101],{"class":3775},[3765,22206,6802],{"class":3779},[3765,22208,22106],{"class":3775},[3765,22210,22211,22213,22215,22217,22220,22222,22225],{"class":3767,"line":6759},[3765,22212,22101],{"class":3775},[3765,22214,22121],{"class":3779},[3765,22216,3783],{"class":3775},[3765,22218,22219],{"class":4931},"10",[3765,22221,4032],{"class":3775},[3765,22223,22224],{"class":3786},"'Опис — щонайменше 10 символів'",[3765,22226,8866],{"class":3775},[3765,22228,22229,22231,22233,22235,22238,22240,22243],{"class":3767,"line":6788},[3765,22230,22101],{"class":3775},[3765,22232,22139],{"class":3779},[3765,22234,3783],{"class":3775},[3765,22236,22237],{"class":4931},"500",[3765,22239,4032],{"class":3775},[3765,22241,22242],{"class":3786},"'Опис занадто довгий (макс. 500)'",[3765,22244,22152],{"class":3775},[3765,22246,22247,22250,22252,22254,22257,22259,22262,22265],{"class":3767,"line":6814},[3765,22248,22249],{"class":3771},"    startDate:",[3765,22251,22160],{"class":3771},[3765,22253,3776],{"class":3775},[3765,22255,22256],{"class":3779},"date",[3765,22258,5621],{"class":3775},[3765,22260,22261],{"class":3771},"error:",[3765,22263,22264],{"class":3786}," 'Оберіть дату початку'",[3765,22266,17978],{"class":3775},[3765,22268,22269,22272,22274,22276,22278,22280,22282,22285],{"class":3767,"line":6852},[3765,22270,22271],{"class":3771},"    endDate:",[3765,22273,22160],{"class":3771},[3765,22275,3776],{"class":3775},[3765,22277,22256],{"class":3779},[3765,22279,5621],{"class":3775},[3765,22281,22261],{"class":3771},[3765,22283,22284],{"class":3786}," 'Оберіть дату завершення'",[3765,22286,17978],{"class":3775},[3765,22288,22289],{"class":3767,"line":7689},[3765,22290,22291],{"class":4328},"    \u002F** Switch: чи ховати поїздку з «публічної» стрічки (навчальна семантика). *\u002F\n",[3765,22293,22294,22297,22299,22301,22303],{"class":3767,"line":7730},[3765,22295,22296],{"class":3771},"    isPrivate:",[3765,22298,22160],{"class":3771},[3765,22300,3776],{"class":3775},[3765,22302,21750],{"class":3779},[3765,22304,22305],{"class":3775},"(),\n",[3765,22307,22308],{"class":3767,"line":7769},[3765,22309,22310],{"class":4328},"    \u002F** Slider: орієнтовна тривалість у днях. *\u002F\n",[3765,22312,22313,22316],{"class":3767,"line":7810},[3765,22314,22315],{"class":3771},"    plannedDays:",[3765,22317,22096],{"class":3771},[3765,22319,22320,22322,22324],{"class":3767,"line":7820},[3765,22321,22101],{"class":3775},[3765,22323,21767],{"class":3779},[3765,22325,22106],{"class":3775},[3765,22327,22328,22330,22332,22334,22337,22339,22342],{"class":3767,"line":7830},[3765,22329,22101],{"class":3775},[3765,22331,22121],{"class":3779},[3765,22333,3783],{"class":3775},[3765,22335,22336],{"class":4931},"1",[3765,22338,4032],{"class":3775},[3765,22340,22341],{"class":3786},"'Мінімум 1 день'",[3765,22343,8866],{"class":3775},[3765,22345,22346,22348,22350,22352,22355,22357,22360],{"class":3767,"line":7838},[3765,22347,22101],{"class":3775},[3765,22349,22139],{"class":3779},[3765,22351,3783],{"class":3775},[3765,22353,22354],{"class":4931},"14",[3765,22356,4032],{"class":3775},[3765,22358,22359],{"class":3786},"'У формі максимум 14 днів'",[3765,22361,22152],{"class":3775},[3765,22363,22364],{"class":3767,"line":7857},[3765,22365,22366],{"class":4328},"    \u002F** Checkbox: чи є план маршруту. *\u002F\n",[3765,22368,22369,22372,22374,22376,22378],{"class":3767,"line":7885},[3765,22370,22371],{"class":3771},"    hasItinerary:",[3765,22373,22160],{"class":3771},[3765,22375,3776],{"class":3775},[3765,22377,21750],{"class":3779},[3765,22379,22305],{"class":3775},[3765,22381,22382],{"class":3767,"line":7891},[3765,22383,22384],{"class":4328},"    \u002F**\n",[3765,22386,22387],{"class":3767,"line":7924},[3765,22388,22389],{"class":4328},"     * Checkbox з обов’язковою згодою.\n",[3765,22391,22392],{"class":3767,"line":7933},[3765,22393,22394],{"class":4328},"     * `true` — єдине прийнятне значення (як «прийняти умови»).\n",[3765,22396,22397],{"class":3767,"line":7943},[3765,22398,22399],{"class":4328},"     *\u002F\n",[3765,22401,22402,22405,22407,22409,22412,22414,22416],{"class":3767,"line":7951},[3765,22403,22404],{"class":3771},"    acceptedLocalSave:",[3765,22406,22160],{"class":3771},[3765,22408,3776],{"class":3775},[3765,22410,22411],{"class":3779},"literal",[3765,22413,3783],{"class":3775},[3765,22415,10503],{"class":3790},[3765,22417,22172],{"class":3775},[3765,22419,22420,22422,22425],{"class":3767,"line":7957},[3765,22421,22177],{"class":3771},[3765,22423,22424],{"class":3786}," 'Підтвердіть, що дані поки зберігаються лише на пристрої'",[3765,22426,4479],{"class":3775},[3765,22428,22429],{"class":3767,"line":7962},[3765,22430,18105],{"class":3775},[3765,22432,22433],{"class":3767,"line":7969},[3765,22434,22435],{"class":3775},"  })\n",[3765,22437,22438,22440,22443,22445,22448,22450,22452,22455,22457,22460,22462,22465,22468,22470,22472,22475,22477,22479],{"class":3767,"line":7988},[3765,22439,22084],{"class":3775},[3765,22441,22442],{"class":3779},"refine",[3765,22444,6826],{"class":3775},[3765,22446,22447],{"class":3771},"data",[3765,22449,6832],{"class":3775},[3765,22451,5222],{"class":3790},[3765,22453,22454],{"class":3771}," data",[3765,22456,3776],{"class":3775},[3765,22458,22459],{"class":3771},"endDate",[3765,22461,3776],{"class":3775},[3765,22463,22464],{"class":3779},"getTime",[3765,22466,22467],{"class":3775},"() >= ",[3765,22469,22447],{"class":3771},[3765,22471,3776],{"class":3775},[3765,22473,22474],{"class":3771},"startDate",[3765,22476,3776],{"class":3775},[3765,22478,22464],{"class":3779},[3765,22480,22481],{"class":3775},"(), {\n",[3765,22483,22484,22487,22490],{"class":3767,"line":8017},[3765,22485,22486],{"class":3771},"    message:",[3765,22488,22489],{"class":3786}," 'Дата завершення не може бути раніше початку'",[3765,22491,4479],{"class":3775},[3765,22493,22494,22497,22499,22502],{"class":3767,"line":8022},[3765,22495,22496],{"class":3771},"    path:",[3765,22498,12660],{"class":3775},[3765,22500,22501],{"class":3786},"'endDate'",[3765,22503,12783],{"class":3775},[3765,22505,22506],{"class":3767,"line":8055},[3765,22507,22508],{"class":3775},"  });\n",[3765,22510,22511],{"class":3767,"line":8064},[3765,22512,4363],{"emptyLinePlaceholder":4362},[3765,22514,22515,22517,22519,22521,22523,22525,22527,22530,22532,22534,22536],{"class":3767,"line":8073},[3765,22516,4741],{"class":4715},[3765,22518,6523],{"class":3790},[3765,22520,21619],{"class":3845},[3765,22522,4908],{"class":3775},[3765,22524,21979],{"class":3845},[3765,22526,3776],{"class":3775},[3765,22528,22529],{"class":3845},"infer",[3765,22531,4376],{"class":3775},[3765,22533,21955],{"class":3790},[3765,22535,22074],{"class":3771},[3765,22537,22538],{"class":3775},">;\n",[3756,22540,22543],{"className":6512,"code":22541,"filename":22542,"language":6514,"meta":3761,"style":3761},"const MONTHS_UK_SHORT = [\n  'січ.',\n  'лют.',\n  'бер.',\n  'квіт.',\n  'трав.',\n  'черв.',\n  'лип.',\n  'серп.',\n  'вер.',\n  'жовт.',\n  'лист.',\n  'груд.',\n] as const;\n\nfunction dayMonth(d: Date): string {\n  return `${d.getDate()} ${MONTHS_UK_SHORT[d.getMonth()]}`;\n}\n\n\u002F**\n * Людський підпис періоду, як у mock-стрічці:\n * «12–14 бер. 2026» або «28 бер. – 2 квіт. 2026».\n *\u002F\nexport function formatTripDateLabel(start: Date, end: Date): string {\n  const y1 = start.getFullYear();\n  const y2 = end.getFullYear();\n  const m1 = start.getMonth();\n  const m2 = end.getMonth();\n  const d1 = start.getDate();\n  const d2 = end.getDate();\n\n  if (y1 === y2 && m1 === m2) {\n    if (d1 === d2) {\n      return `${dayMonth(start)} ${y1}`;\n    }\n    return `${d1}–${d2} ${MONTHS_UK_SHORT[m1]} ${y1}`;\n  }\n\n  if (y1 === y2) {\n    return `${dayMonth(start)} – ${dayMonth(end)} ${y1}`;\n  }\n\n  return `${dayMonth(start)} ${y1} – ${dayMonth(end)} ${y2}`;\n}\n","src\u002Ffeatures\u002Ftrips\u002Fmodel\u002FformatTripDates.ts",[3747,22544,22545,22554,22561,22568,22575,22582,22589,22596,22603,22610,22617,22624,22631,22638,22648,22652,22675,22718,22722,22726,22730,22735,22740,22744,22777,22795,22812,22829,22846,22863,22880,22884,22911,22928,22958,22962,23005,23009,23013,23027,23070,23074,23078,23126],{"__ignoreMap":3761},[3765,22546,22547,22549,22552],{"class":3767,"line":3768},[3765,22548,3822],{"class":3790},[3765,22550,22551],{"class":3828}," MONTHS_UK_SHORT",[3765,22553,21882],{"class":3775},[3765,22555,22556,22559],{"class":3767,"line":4332},[3765,22557,22558],{"class":3786},"  'січ.'",[3765,22560,4479],{"class":3775},[3765,22562,22563,22566],{"class":3767,"line":4359},[3765,22564,22565],{"class":3786},"  'лют.'",[3765,22567,4479],{"class":3775},[3765,22569,22570,22573],{"class":3767,"line":4366},[3765,22571,22572],{"class":3786},"  'бер.'",[3765,22574,4479],{"class":3775},[3765,22576,22577,22580],{"class":3767,"line":4372},[3765,22578,22579],{"class":3786},"  'квіт.'",[3765,22581,4479],{"class":3775},[3765,22583,22584,22587],{"class":3767,"line":4504},[3765,22585,22586],{"class":3786},"  'трав.'",[3765,22588,4479],{"class":3775},[3765,22590,22591,22594],{"class":3767,"line":4518},[3765,22592,22593],{"class":3786},"  'черв.'",[3765,22595,4479],{"class":3775},[3765,22597,22598,22601],{"class":3767,"line":4524},[3765,22599,22600],{"class":3786},"  'лип.'",[3765,22602,4479],{"class":3775},[3765,22604,22605,22608],{"class":3767,"line":4530},[3765,22606,22607],{"class":3786},"  'серп.'",[3765,22609,4479],{"class":3775},[3765,22611,22612,22615],{"class":3767,"line":4535},[3765,22613,22614],{"class":3786},"  'вер.'",[3765,22616,4479],{"class":3775},[3765,22618,22619,22622],{"class":3767,"line":4541},[3765,22620,22621],{"class":3786},"  'жовт.'",[3765,22623,4479],{"class":3775},[3765,22625,22626,22629],{"class":3767,"line":4549},[3765,22627,22628],{"class":3786},"  'лист.'",[3765,22630,4479],{"class":3775},[3765,22632,22633,22636],{"class":3767,"line":4562},[3765,22634,22635],{"class":3786},"  'груд.'",[3765,22637,4479],{"class":3775},[3765,22639,22640,22642,22644,22646],{"class":3767,"line":4572},[3765,22641,21929],{"class":3775},[3765,22643,21932],{"class":4715},[3765,22645,6589],{"class":3790},[3765,22647,4732],{"class":3775},[3765,22649,22650],{"class":3767,"line":4592},[3765,22651,4363],{"emptyLinePlaceholder":4362},[3765,22653,22654,22656,22659,22661,22664,22666,22669,22671,22673],{"class":3767,"line":4601},[3765,22655,10963],{"class":3790},[3765,22657,22658],{"class":3779}," dayMonth",[3765,22660,3783],{"class":3775},[3765,22662,22663],{"class":3771},"d",[3765,22665,3842],{"class":3775},[3765,22667,22668],{"class":3845},"Date",[3765,22670,6777],{"class":3775},[3765,22672,3846],{"class":3845},[3765,22674,4487],{"class":3775},[3765,22676,22677,22679,22681,22683,22685,22687,22690,22692,22694,22697,22700,22702,22704,22706,22709,22712,22714,22716],{"class":3767,"line":4606},[3765,22678,5082],{"class":4715},[3765,22680,14071],{"class":3786},[3765,22682,3791],{"class":3790},[3765,22684,22663],{"class":3771},[3765,22686,3776],{"class":3797},[3765,22688,22689],{"class":3779},"getDate",[3765,22691,5233],{"class":3797},[3765,22693,3803],{"class":3790},[3765,22695,22696],{"class":3790}," ${",[3765,22698,22699],{"class":3828},"MONTHS_UK_SHORT",[3765,22701,4928],{"class":3797},[3765,22703,22663],{"class":3771},[3765,22705,3776],{"class":3797},[3765,22707,22708],{"class":3779},"getMonth",[3765,22710,22711],{"class":3797},"()]",[3765,22713,3803],{"class":3790},[3765,22715,3806],{"class":3786},[3765,22717,4732],{"class":3775},[3765,22719,22720],{"class":3767,"line":4612},[3765,22721,4598],{"class":3775},[3765,22723,22724],{"class":3767,"line":6683},[3765,22725,4363],{"emptyLinePlaceholder":4362},[3765,22727,22728],{"class":3767,"line":6693},[3765,22729,10899],{"class":4328},[3765,22731,22732],{"class":3767,"line":6698},[3765,22733,22734],{"class":4328}," * Людський підпис періоду, як у mock-стрічці:\n",[3765,22736,22737],{"class":3767,"line":6703},[3765,22738,22739],{"class":4328}," * «12–14 бер. 2026» або «28 бер. – 2 квіт. 2026».\n",[3765,22741,22742],{"class":3767,"line":6713},[3765,22743,10929],{"class":4328},[3765,22745,22746,22748,22750,22753,22755,22758,22760,22762,22764,22767,22769,22771,22773,22775],{"class":3767,"line":6723},[3765,22747,4741],{"class":4715},[3765,22749,4747],{"class":3790},[3765,22751,22752],{"class":3779}," formatTripDateLabel",[3765,22754,3783],{"class":3775},[3765,22756,22757],{"class":3771},"start",[3765,22759,3842],{"class":3775},[3765,22761,22668],{"class":3845},[3765,22763,4032],{"class":3775},[3765,22765,22766],{"class":3771},"end",[3765,22768,3842],{"class":3775},[3765,22770,22668],{"class":3845},[3765,22772,6777],{"class":3775},[3765,22774,3846],{"class":3845},[3765,22776,4487],{"class":3775},[3765,22778,22779,22781,22784,22786,22788,22790,22793],{"class":3767,"line":6733},[3765,22780,4758],{"class":3790},[3765,22782,22783],{"class":3828}," y1",[3765,22785,4908],{"class":3775},[3765,22787,22757],{"class":3771},[3765,22789,3776],{"class":3775},[3765,22791,22792],{"class":3779},"getFullYear",[3765,22794,6811],{"class":3775},[3765,22796,22797,22799,22802,22804,22806,22808,22810],{"class":3767,"line":6743},[3765,22798,4758],{"class":3790},[3765,22800,22801],{"class":3828}," y2",[3765,22803,4908],{"class":3775},[3765,22805,22766],{"class":3771},[3765,22807,3776],{"class":3775},[3765,22809,22792],{"class":3779},[3765,22811,6811],{"class":3775},[3765,22813,22814,22816,22819,22821,22823,22825,22827],{"class":3767,"line":6748},[3765,22815,4758],{"class":3790},[3765,22817,22818],{"class":3828}," m1",[3765,22820,4908],{"class":3775},[3765,22822,22757],{"class":3771},[3765,22824,3776],{"class":3775},[3765,22826,22708],{"class":3779},[3765,22828,6811],{"class":3775},[3765,22830,22831,22833,22836,22838,22840,22842,22844],{"class":3767,"line":6754},[3765,22832,4758],{"class":3790},[3765,22834,22835],{"class":3828}," m2",[3765,22837,4908],{"class":3775},[3765,22839,22766],{"class":3771},[3765,22841,3776],{"class":3775},[3765,22843,22708],{"class":3779},[3765,22845,6811],{"class":3775},[3765,22847,22848,22850,22853,22855,22857,22859,22861],{"class":3767,"line":6759},[3765,22849,4758],{"class":3790},[3765,22851,22852],{"class":3828}," d1",[3765,22854,4908],{"class":3775},[3765,22856,22757],{"class":3771},[3765,22858,3776],{"class":3775},[3765,22860,22689],{"class":3779},[3765,22862,6811],{"class":3775},[3765,22864,22865,22867,22870,22872,22874,22876,22878],{"class":3767,"line":6788},[3765,22866,4758],{"class":3790},[3765,22868,22869],{"class":3828}," d2",[3765,22871,4908],{"class":3775},[3765,22873,22766],{"class":3771},[3765,22875,3776],{"class":3775},[3765,22877,22689],{"class":3779},[3765,22879,6811],{"class":3775},[3765,22881,22882],{"class":3767,"line":6814},[3765,22883,4363],{"emptyLinePlaceholder":4362},[3765,22885,22886,22888,22890,22893,22895,22898,22901,22904,22906,22909],{"class":3767,"line":6852},[3765,22887,4953],{"class":4715},[3765,22889,7304],{"class":3775},[3765,22891,22892],{"class":3771},"y1",[3765,22894,6844],{"class":3775},[3765,22896,22897],{"class":3771},"y2",[3765,22899,22900],{"class":3775}," && ",[3765,22902,22903],{"class":3771},"m1",[3765,22905,6844],{"class":3775},[3765,22907,22908],{"class":3771},"m2",[3765,22910,4961],{"class":3775},[3765,22912,22913,22916,22918,22921,22923,22926],{"class":3767,"line":7689},[3765,22914,22915],{"class":4715},"    if",[3765,22917,7304],{"class":3775},[3765,22919,22920],{"class":3771},"d1",[3765,22922,6844],{"class":3775},[3765,22924,22925],{"class":3771},"d2",[3765,22927,4961],{"class":3775},[3765,22929,22930,22933,22935,22937,22940,22942,22944,22946,22948,22950,22952,22954,22956],{"class":3767,"line":7730},[3765,22931,22932],{"class":4715},"      return",[3765,22934,14071],{"class":3786},[3765,22936,3791],{"class":3790},[3765,22938,22939],{"class":3779},"dayMonth",[3765,22941,3783],{"class":3797},[3765,22943,22757],{"class":3771},[3765,22945,4679],{"class":3797},[3765,22947,3803],{"class":3790},[3765,22949,22696],{"class":3790},[3765,22951,22892],{"class":3771},[3765,22953,3803],{"class":3790},[3765,22955,3806],{"class":3786},[3765,22957,4732],{"class":3775},[3765,22959,22960],{"class":3767,"line":7769},[3765,22961,10700],{"class":3775},[3765,22963,22964,22966,22968,22970,22972,22974,22977,22979,22981,22983,22985,22987,22989,22991,22993,22995,22997,22999,23001,23003],{"class":3767,"line":7810},[3765,22965,4966],{"class":4715},[3765,22967,14071],{"class":3786},[3765,22969,3791],{"class":3790},[3765,22971,22920],{"class":3771},[3765,22973,3803],{"class":3790},[3765,22975,22976],{"class":3786},"–",[3765,22978,3791],{"class":3790},[3765,22980,22925],{"class":3771},[3765,22982,3803],{"class":3790},[3765,22984,22696],{"class":3790},[3765,22986,22699],{"class":3828},[3765,22988,4928],{"class":3797},[3765,22990,22903],{"class":3771},[3765,22992,7414],{"class":3797},[3765,22994,3803],{"class":3790},[3765,22996,22696],{"class":3790},[3765,22998,22892],{"class":3771},[3765,23000,3803],{"class":3790},[3765,23002,3806],{"class":3786},[3765,23004,4732],{"class":3775},[3765,23006,23007],{"class":3767,"line":7820},[3765,23008,4990],{"class":3775},[3765,23010,23011],{"class":3767,"line":7830},[3765,23012,4363],{"emptyLinePlaceholder":4362},[3765,23014,23015,23017,23019,23021,23023,23025],{"class":3767,"line":7838},[3765,23016,4953],{"class":4715},[3765,23018,7304],{"class":3775},[3765,23020,22892],{"class":3771},[3765,23022,6844],{"class":3775},[3765,23024,22897],{"class":3771},[3765,23026,4961],{"class":3775},[3765,23028,23029,23031,23033,23035,23037,23039,23041,23043,23045,23048,23050,23052,23054,23056,23058,23060,23062,23064,23066,23068],{"class":3767,"line":7857},[3765,23030,4966],{"class":4715},[3765,23032,14071],{"class":3786},[3765,23034,3791],{"class":3790},[3765,23036,22939],{"class":3779},[3765,23038,3783],{"class":3797},[3765,23040,22757],{"class":3771},[3765,23042,4679],{"class":3797},[3765,23044,3803],{"class":3790},[3765,23046,23047],{"class":3786}," – ",[3765,23049,3791],{"class":3790},[3765,23051,22939],{"class":3779},[3765,23053,3783],{"class":3797},[3765,23055,22766],{"class":3771},[3765,23057,4679],{"class":3797},[3765,23059,3803],{"class":3790},[3765,23061,22696],{"class":3790},[3765,23063,22892],{"class":3771},[3765,23065,3803],{"class":3790},[3765,23067,3806],{"class":3786},[3765,23069,4732],{"class":3775},[3765,23071,23072],{"class":3767,"line":7885},[3765,23073,4990],{"class":3775},[3765,23075,23076],{"class":3767,"line":7891},[3765,23077,4363],{"emptyLinePlaceholder":4362},[3765,23079,23080,23082,23084,23086,23088,23090,23092,23094,23096,23098,23100,23102,23104,23106,23108,23110,23112,23114,23116,23118,23120,23122,23124],{"class":3767,"line":7924},[3765,23081,5082],{"class":4715},[3765,23083,14071],{"class":3786},[3765,23085,3791],{"class":3790},[3765,23087,22939],{"class":3779},[3765,23089,3783],{"class":3797},[3765,23091,22757],{"class":3771},[3765,23093,4679],{"class":3797},[3765,23095,3803],{"class":3790},[3765,23097,22696],{"class":3790},[3765,23099,22892],{"class":3771},[3765,23101,3803],{"class":3790},[3765,23103,23047],{"class":3786},[3765,23105,3791],{"class":3790},[3765,23107,22939],{"class":3779},[3765,23109,3783],{"class":3797},[3765,23111,22766],{"class":3771},[3765,23113,4679],{"class":3797},[3765,23115,3803],{"class":3790},[3765,23117,22696],{"class":3790},[3765,23119,22897],{"class":3771},[3765,23121,3803],{"class":3790},[3765,23123,3806],{"class":3786},[3765,23125,4732],{"class":3775},[3765,23127,23128],{"class":3767,"line":7933},[3765,23129,4598],{"class":3775},[3756,23131,23134],{"className":3758,"code":23132,"filename":23133,"language":3760,"meta":3761,"style":3761},"import {\n  createContext,\n  ReactNode,\n  useCallback,\n  useContext,\n  useMemo,\n  useState,\n} from 'react';\n\nimport { mockTrips } from '.\u002FmockTrips';\nimport type { Trip } from '.\u002Ftypes';\n\ntype TripsContextValue = {\n  trips: Trip[];\n  \u002F** Знайти поїздку за id (екран деталей). *\u002F\n  getTrip: (id: string) => Trip | undefined;\n  \u002F** Додати нову поїздку на початок стрічки (найсвіжіша зверху). *\u002F\n  addTrip: (trip: Trip) => void;\n  \u002F** Mock «оновити з сервера» — повертає seed mockTrips (без локально створених). *\u002F\n  resetToMock: () => void;\n};\n\nconst TripsContext = createContext\u003CTripsContextValue | null>(null);\n\ntype TripsProviderProps = {\n  children: ReactNode;\n};\n\nexport function TripsProvider({ children }: TripsProviderProps) {\n  const [trips, setTrips] = useState\u003CTrip[]>(() => [...mockTrips]);\n\n  const getTrip = useCallback(\n    (id: string) => trips.find((t) => t.id === id),\n    [trips],\n  );\n\n  const addTrip = useCallback((trip: Trip) => {\n    setTrips((prev) => [trip, ...prev]);\n  }, []);\n\n  const resetToMock = useCallback(() => {\n    setTrips([...mockTrips]);\n  }, []);\n\n  const value = useMemo(\n    () => ({ trips, getTrip, addTrip, resetToMock }),\n    [trips, getTrip, addTrip, resetToMock],\n  );\n\n  return (\n    \u003CTripsContext.Provider value={value}>{children}\u003C\u002FTripsContext.Provider>\n  );\n}\n\nexport function useTrips(): TripsContextValue {\n  const ctx = useContext(TripsContext);\n  if (!ctx) {\n    throw new Error('useTrips треба викликати всередині TripsProvider');\n  }\n  return ctx;\n}\n","src\u002Ffeatures\u002Ftrips\u002Fmodel\u002FTripsProvider.tsx",[3747,23135,23136,23142,23149,23156,23163,23170,23177,23184,23194,23198,23215,23233,23237,23246,23258,23263,23289,23294,23316,23321,23335,23339,23343,23372,23376,23385,23397,23401,23405,23427,23460,23464,23477,23520,23528,23532,23536,23561,23586,23591,23595,23612,23623,23627,23631,23644,23668,23688,23692,23696,23702,23734,23738,23742,23746,23762,23781,23792,23810,23814,23822],{"__ignoreMap":3761},[3765,23137,23138,23140],{"class":3767,"line":3768},[3765,23139,4716],{"class":4715},[3765,23141,4487],{"class":3775},[3765,23143,23144,23147],{"class":3767,"line":4332},[3765,23145,23146],{"class":3771},"  createContext",[3765,23148,4479],{"class":3775},[3765,23150,23151,23154],{"class":3767,"line":4359},[3765,23152,23153],{"class":3771},"  ReactNode",[3765,23155,4479],{"class":3775},[3765,23157,23158,23161],{"class":3767,"line":4366},[3765,23159,23160],{"class":3771},"  useCallback",[3765,23162,4479],{"class":3775},[3765,23164,23165,23168],{"class":3767,"line":4372},[3765,23166,23167],{"class":3771},"  useContext",[3765,23169,4479],{"class":3775},[3765,23171,23172,23175],{"class":3767,"line":4504},[3765,23173,23174],{"class":3771},"  useMemo",[3765,23176,4479],{"class":3775},[3765,23178,23179,23182],{"class":3767,"line":4518},[3765,23180,23181],{"class":3771},"  useState",[3765,23183,4479],{"class":3775},[3765,23185,23186,23188,23190,23192],{"class":3767,"line":4524},[3765,23187,12324],{"class":3775},[3765,23189,4726],{"class":4715},[3765,23191,12276],{"class":3786},[3765,23193,4732],{"class":3775},[3765,23195,23196],{"class":3767,"line":4530},[3765,23197,4363],{"emptyLinePlaceholder":4362},[3765,23199,23200,23202,23204,23206,23208,23210,23213],{"class":3767,"line":4535},[3765,23201,4716],{"class":4715},[3765,23203,3825],{"class":3775},[3765,23205,21403],{"class":3771},[3765,23207,4723],{"class":3775},[3765,23209,4726],{"class":4715},[3765,23211,23212],{"class":3786}," '.\u002FmockTrips'",[3765,23214,4732],{"class":3775},[3765,23216,23217,23219,23221,23223,23225,23227,23229,23231],{"class":3767,"line":4541},[3765,23218,4716],{"class":4715},[3765,23220,6523],{"class":4715},[3765,23222,3825],{"class":3775},[3765,23224,12736],{"class":3771},[3765,23226,4723],{"class":3775},[3765,23228,4726],{"class":4715},[3765,23230,22007],{"class":3786},[3765,23232,4732],{"class":3775},[3765,23234,23235],{"class":3767,"line":4549},[3765,23236,4363],{"emptyLinePlaceholder":4362},[3765,23238,23239,23241,23244],{"class":3767,"line":4562},[3765,23240,12444],{"class":3790},[3765,23242,23243],{"class":3845}," TripsContextValue",[3765,23245,6529],{"class":3775},[3765,23247,23248,23251,23253,23255],{"class":3767,"line":4572},[3765,23249,23250],{"class":3771},"  trips",[3765,23252,3842],{"class":3775},[3765,23254,12736],{"class":3845},[3765,23256,23257],{"class":3775},"[];\n",[3765,23259,23260],{"class":3767,"line":4592},[3765,23261,23262],{"class":4328},"  \u002F** Знайти поїздку за id (екран деталей). *\u002F\n",[3765,23264,23265,23268,23271,23273,23275,23277,23279,23281,23283,23285,23287],{"class":3767,"line":4601},[3765,23266,23267],{"class":3779},"  getTrip",[3765,23269,23270],{"class":3775},": (",[3765,23272,3800],{"class":3771},[3765,23274,3842],{"class":3775},[3765,23276,3846],{"class":3845},[3765,23278,6832],{"class":3775},[3765,23280,5222],{"class":3790},[3765,23282,12419],{"class":3845},[3765,23284,4884],{"class":3775},[3765,23286,4279],{"class":3845},[3765,23288,4732],{"class":3775},[3765,23290,23291],{"class":3767,"line":4606},[3765,23292,23293],{"class":4328},"  \u002F** Додати нову поїздку на початок стрічки (найсвіжіша зверху). *\u002F\n",[3765,23295,23296,23299,23301,23303,23305,23307,23309,23311,23314],{"class":3767,"line":4612},[3765,23297,23298],{"class":3779},"  addTrip",[3765,23300,23270],{"class":3775},[3765,23302,3794],{"class":3771},[3765,23304,3842],{"class":3775},[3765,23306,12736],{"class":3845},[3765,23308,6832],{"class":3775},[3765,23310,5222],{"class":3790},[3765,23312,23313],{"class":3845}," void",[3765,23315,4732],{"class":3775},[3765,23317,23318],{"class":3767,"line":6683},[3765,23319,23320],{"class":4328},"  \u002F** Mock «оновити з сервера» — повертає seed mockTrips (без локально створених). *\u002F\n",[3765,23322,23323,23326,23329,23331,23333],{"class":3767,"line":6693},[3765,23324,23325],{"class":3779},"  resetToMock",[3765,23327,23328],{"class":3775},": () ",[3765,23330,5222],{"class":3790},[3765,23332,23313],{"class":3845},[3765,23334,4732],{"class":3775},[3765,23336,23337],{"class":3767,"line":6698},[3765,23338,6578],{"class":3775},[3765,23340,23341],{"class":3767,"line":6703},[3765,23342,4363],{"emptyLinePlaceholder":4362},[3765,23344,23345,23347,23350,23352,23355,23357,23360,23362,23365,23368,23370],{"class":3767,"line":6713},[3765,23346,3822],{"class":3790},[3765,23348,23349],{"class":3828}," TripsContext",[3765,23351,4908],{"class":3775},[3765,23353,23354],{"class":3779},"createContext",[3765,23356,4376],{"class":3775},[3765,23358,23359],{"class":3845},"TripsContextValue",[3765,23361,4884],{"class":3775},[3765,23363,23364],{"class":3845},"null",[3765,23366,23367],{"class":3775},">(",[3765,23369,23364],{"class":3790},[3765,23371,3809],{"class":3775},[3765,23373,23374],{"class":3767,"line":6723},[3765,23375,4363],{"emptyLinePlaceholder":4362},[3765,23377,23378,23380,23383],{"class":3767,"line":6733},[3765,23379,12444],{"class":3790},[3765,23381,23382],{"class":3845}," TripsProviderProps",[3765,23384,6529],{"class":3775},[3765,23386,23387,23390,23392,23395],{"class":3767,"line":6743},[3765,23388,23389],{"class":3771},"  children",[3765,23391,3842],{"class":3775},[3765,23393,23394],{"class":3845},"ReactNode",[3765,23396,4732],{"class":3775},[3765,23398,23399],{"class":3767,"line":6748},[3765,23400,6578],{"class":3775},[3765,23402,23403],{"class":3767,"line":6754},[3765,23404,4363],{"emptyLinePlaceholder":4362},[3765,23406,23407,23409,23411,23414,23416,23419,23422,23425],{"class":3767,"line":6759},[3765,23408,4741],{"class":4715},[3765,23410,4747],{"class":3790},[3765,23412,23413],{"class":3779}," TripsProvider",[3765,23415,5621],{"class":3775},[3765,23417,23418],{"class":3771},"children",[3765,23420,23421],{"class":3775}," }: ",[3765,23423,23424],{"class":3845},"TripsProviderProps",[3765,23426,4961],{"class":3775},[3765,23428,23429,23431,23433,23435,23437,23440,23442,23444,23446,23448,23451,23453,23456,23458],{"class":3767,"line":6788},[3765,23430,4758],{"class":3790},[3765,23432,12660],{"class":3775},[3765,23434,4228],{"class":3828},[3765,23436,4032],{"class":3775},[3765,23438,23439],{"class":3828},"setTrips",[3765,23441,12666],{"class":3775},[3765,23443,12269],{"class":3779},[3765,23445,4376],{"class":3775},[3765,23447,12736],{"class":3845},[3765,23449,23450],{"class":3775},"[]>(() ",[3765,23452,5222],{"class":3790},[3765,23454,23455],{"class":3775}," [...",[3765,23457,21403],{"class":3771},[3765,23459,12955],{"class":3775},[3765,23461,23462],{"class":3767,"line":6814},[3765,23463,4363],{"emptyLinePlaceholder":4362},[3765,23465,23466,23468,23471,23473,23475],{"class":3767,"line":6852},[3765,23467,4758],{"class":3790},[3765,23469,23470],{"class":3828}," getTrip",[3765,23472,4908],{"class":3775},[3765,23474,12264],{"class":3779},[3765,23476,12724],{"class":3775},[3765,23478,23479,23481,23483,23485,23487,23489,23491,23494,23496,23498,23500,23503,23505,23507,23510,23512,23514,23516,23518],{"class":3767,"line":7689},[3765,23480,12729],{"class":3775},[3765,23482,3800],{"class":3771},[3765,23484,3842],{"class":3775},[3765,23486,3846],{"class":3845},[3765,23488,6832],{"class":3775},[3765,23490,5222],{"class":3790},[3765,23492,23493],{"class":3771}," trips",[3765,23495,3776],{"class":3775},[3765,23497,6823],{"class":3779},[3765,23499,6826],{"class":3775},[3765,23501,23502],{"class":3771},"t",[3765,23504,6832],{"class":3775},[3765,23506,5222],{"class":3790},[3765,23508,23509],{"class":3771}," t",[3765,23511,3776],{"class":3775},[3765,23513,3800],{"class":3771},[3765,23515,6844],{"class":3775},[3765,23517,3800],{"class":3771},[3765,23519,22152],{"class":3775},[3765,23521,23522,23524,23526],{"class":3767,"line":7730},[3765,23523,12778],{"class":3775},[3765,23525,4228],{"class":3771},[3765,23527,12783],{"class":3775},[3765,23529,23530],{"class":3767,"line":7769},[3765,23531,5252],{"class":3775},[3765,23533,23534],{"class":3767,"line":7810},[3765,23535,4363],{"emptyLinePlaceholder":4362},[3765,23537,23538,23540,23543,23545,23547,23549,23551,23553,23555,23557,23559],{"class":3767,"line":7820},[3765,23539,4758],{"class":3790},[3765,23541,23542],{"class":3828}," addTrip",[3765,23544,4908],{"class":3775},[3765,23546,12264],{"class":3779},[3765,23548,6826],{"class":3775},[3765,23550,3794],{"class":3771},[3765,23552,3842],{"class":3775},[3765,23554,12736],{"class":3845},[3765,23556,6832],{"class":3775},[3765,23558,5222],{"class":3790},[3765,23560,4487],{"class":3775},[3765,23562,23563,23566,23568,23571,23573,23575,23577,23579,23582,23584],{"class":3767,"line":7830},[3765,23564,23565],{"class":3779},"    setTrips",[3765,23567,6826],{"class":3775},[3765,23569,23570],{"class":3771},"prev",[3765,23572,6832],{"class":3775},[3765,23574,5222],{"class":3790},[3765,23576,12660],{"class":3775},[3765,23578,3794],{"class":3771},[3765,23580,23581],{"class":3775},", ...",[3765,23583,23570],{"class":3771},[3765,23585,12955],{"class":3775},[3765,23587,23588],{"class":3767,"line":7838},[3765,23589,23590],{"class":3775},"  }, []);\n",[3765,23592,23593],{"class":3767,"line":7857},[3765,23594,4363],{"emptyLinePlaceholder":4362},[3765,23596,23597,23599,23602,23604,23606,23608,23610],{"class":3767,"line":7885},[3765,23598,4758],{"class":3790},[3765,23600,23601],{"class":3828}," resetToMock",[3765,23603,4908],{"class":3775},[3765,23605,12264],{"class":3779},[3765,23607,12886],{"class":3775},[3765,23609,5222],{"class":3790},[3765,23611,4487],{"class":3775},[3765,23613,23614,23616,23619,23621],{"class":3767,"line":7891},[3765,23615,23565],{"class":3779},[3765,23617,23618],{"class":3775},"([...",[3765,23620,21403],{"class":3771},[3765,23622,12955],{"class":3775},[3765,23624,23625],{"class":3767,"line":7924},[3765,23626,23590],{"class":3775},[3765,23628,23629],{"class":3767,"line":7933},[3765,23630,4363],{"emptyLinePlaceholder":4362},[3765,23632,23633,23635,23638,23640,23642],{"class":3767,"line":7943},[3765,23634,4758],{"class":3790},[3765,23636,23637],{"class":3828}," value",[3765,23639,4908],{"class":3775},[3765,23641,15439],{"class":3779},[3765,23643,12724],{"class":3775},[3765,23645,23646,23648,23650,23652,23654,23656,23658,23660,23662,23664,23666],{"class":3767,"line":7951},[3765,23647,15768],{"class":3775},[3765,23649,5222],{"class":3790},[3765,23651,11643],{"class":3775},[3765,23653,4228],{"class":3771},[3765,23655,4032],{"class":3775},[3765,23657,9968],{"class":3771},[3765,23659,4032],{"class":3775},[3765,23661,21211],{"class":3771},[3765,23663,4032],{"class":3775},[3765,23665,12613],{"class":3771},[3765,23667,17978],{"class":3775},[3765,23669,23670,23672,23674,23676,23678,23680,23682,23684,23686],{"class":3767,"line":7957},[3765,23671,12778],{"class":3775},[3765,23673,4228],{"class":3771},[3765,23675,4032],{"class":3775},[3765,23677,9968],{"class":3771},[3765,23679,4032],{"class":3775},[3765,23681,21211],{"class":3771},[3765,23683,4032],{"class":3775},[3765,23685,12613],{"class":3771},[3765,23687,12783],{"class":3775},[3765,23689,23690],{"class":3767,"line":7962},[3765,23691,5252],{"class":3775},[3765,23693,23694],{"class":3767,"line":7969},[3765,23695,4363],{"emptyLinePlaceholder":4362},[3765,23697,23698,23700],{"class":3767,"line":7988},[3765,23699,5082],{"class":4715},[3765,23701,5085],{"class":3775},[3765,23703,23704,23706,23709,23711,23713,23715,23718,23720,23722,23724,23726,23728,23730,23732],{"class":3767,"line":8017},[3765,23705,5090],{"class":4375},[3765,23707,23708],{"class":3845},"TripsContext.Provider",[3765,23710,23637],{"class":4381},[3765,23712,4385],{"class":3775},[3765,23714,4388],{"class":3790},[3765,23716,23717],{"class":3771},"value",[3765,23719,3803],{"class":3790},[3765,23721,4408],{"class":4375},[3765,23723,4388],{"class":3790},[3765,23725,23418],{"class":3771},[3765,23727,3803],{"class":3790},[3765,23729,4414],{"class":4375},[3765,23731,23708],{"class":3845},[3765,23733,4419],{"class":4375},[3765,23735,23736],{"class":3767,"line":8022},[3765,23737,5252],{"class":3775},[3765,23739,23740],{"class":3767,"line":8055},[3765,23741,4598],{"class":3775},[3765,23743,23744],{"class":3767,"line":8064},[3765,23745,4363],{"emptyLinePlaceholder":4362},[3765,23747,23748,23750,23752,23755,23758,23760],{"class":3767,"line":8073},[3765,23749,4741],{"class":4715},[3765,23751,4747],{"class":3790},[3765,23753,23754],{"class":3779}," useTrips",[3765,23756,23757],{"class":3775},"(): ",[3765,23759,23359],{"class":3845},[3765,23761,4487],{"class":3775},[3765,23763,23764,23766,23769,23771,23774,23776,23779],{"class":3767,"line":8078},[3765,23765,4758],{"class":3790},[3765,23767,23768],{"class":3828}," ctx",[3765,23770,4908],{"class":3775},[3765,23772,23773],{"class":3779},"useContext",[3765,23775,3783],{"class":3775},[3765,23777,23778],{"class":3771},"TripsContext",[3765,23780,3809],{"class":3775},[3765,23782,23783,23785,23787,23790],{"class":3767,"line":8083},[3765,23784,4953],{"class":4715},[3765,23786,4956],{"class":3775},[3765,23788,23789],{"class":3771},"ctx",[3765,23791,4961],{"class":3775},[3765,23793,23794,23797,23800,23803,23805,23808],{"class":3767,"line":8088},[3765,23795,23796],{"class":4715},"    throw",[3765,23798,23799],{"class":3790}," new",[3765,23801,23802],{"class":3779}," Error",[3765,23804,3783],{"class":3775},[3765,23806,23807],{"class":3786},"'useTrips треба викликати всередині TripsProvider'",[3765,23809,3809],{"class":3775},[3765,23811,23812],{"class":3767,"line":8107},[3765,23813,4990],{"class":3775},[3765,23815,23816,23818,23820],{"class":3767,"line":8129},[3765,23817,5082],{"class":4715},[3765,23819,23768],{"class":3771},[3765,23821,4732],{"class":3775},[3765,23823,23824],{"class":3767,"line":8137},[3765,23825,4598],{"class":3775},[3756,23827,23830],{"className":6512,"code":23828,"filename":23829,"language":6514,"meta":3761,"style":3761},"import type { Trip } from '.\u002Ftypes';\n\n\u002F**\n * Mock-стрічка поїздок. Більше за 3–5 елементів — щоб віртуалізація\n * (FlashList \u002F FlatList) мала сенс на домашньому екрані.\n *\u002F\nexport const mockTrips: Trip[] = [\n  {\n    id: '1',\n    title: 'Карпати на вихідні',\n    dateLabel: '12–14 бер. 2026',\n    description: 'Говерла, полонини й вечірній чай біля каміну в котеджі.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1464822759023-fed622ff2c3b?w=800&q=80',\n    region: 'Карпати',\n  },\n  {\n    id: '2',\n    title: 'Львівський вікенд',\n    dateLabel: '2–4 трав. 2026',\n    description: 'Кава, площа Ринок, закапелки й нічний трамвай.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1555881400-74d7acaacd8b?w=800&q=80',\n    region: 'Захід',\n  },\n  {\n    id: '3',\n    title: 'Одеса біля моря',\n    dateLabel: '18–22 лип. 2026',\n    description: 'Схід сонця на набережній, рибний ринок і вечірній Привоз.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1507525428034-b723cf961d3e?w=800&q=80',\n    region: 'Південь',\n  },\n  {\n    id: '4',\n    title: 'Київ на три дні',\n    dateLabel: '5–7 черв. 2026',\n    description: 'Поділ, Андріївський узвіз, вечірня прогулянка Хрещатиком.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1565008576549-57569a49371d?w=800&q=80',\n    region: 'Центр',\n  },\n  {\n    id: '5',\n    title: 'Чернівці: університет і дворики',\n    dateLabel: '20–22 вер. 2026',\n    description: 'Резиденція митрополитів, кава на Кобилянській, нічний двір.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1519681393784-d120267933ba?w=800&q=80',\n    region: 'Захід',\n  },\n  {\n    id: '6',\n    title: 'Кам’янець-Подільський',\n    dateLabel: '11–13 квіт. 2026',\n    description: 'Фортеця, каньйон Смотрича, захід сонця з оглядового майданчика.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1506905925346-21bda4d32df4?w=800&q=80',\n    region: 'Захід',\n  },\n  {\n    id: '7',\n    title: 'Харків: місто й парки',\n    dateLabel: '8–10 серп. 2026',\n    description: 'Саржин яр, набережна, вечірні вогні Сумської.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1449824913935-59a10b8d2000?w=800&q=80',\n    region: 'Схід',\n  },\n  {\n    id: '8',\n    title: 'Дніпро: мости й пагорби',\n    dateLabel: '15–17 трав. 2026',\n    description: 'Мереживо мостів, прогулянка набережною, кава з видом на річку.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1476514525535-07fb3b4ae5f1?w=800&q=80',\n    region: 'Центр',\n  },\n  {\n    id: '9',\n    title: 'Ужгород і виноград',\n    dateLabel: '25–27 жовт. 2026',\n    description: 'Замок, липова алея, дегустація біля місцевих виноробів.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1500530855697-b586d89ba3ee?w=800&q=80',\n    region: 'Карпати',\n  },\n  {\n    id: '10',\n    title: 'Полтава: смаки й історія',\n    dateLabel: '3–5 лип. 2026',\n    description: 'Котлета по-київськи — ні, галушки; музей і тихі двори.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1469474968028-56623f02e42e?w=800&q=80',\n    region: 'Центр',\n  },\n  {\n    id: '11',\n    title: 'Затока: пісок і шторм',\n    dateLabel: '1–7 серп. 2026',\n    description: 'Ранкові купання, вечірній вітер, книжка під парасолькою.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1507525428034-b723cf961d3e?w=600&q=80',\n    region: 'Південь',\n  },\n  {\n    id: '12',\n    title: 'Яремче: водоспад і ліс',\n    dateLabel: '19–21 черв. 2026',\n    description: 'Прогулянка до водоспаду, гуцульська кухня, туман над смереками.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1441974231531-c6227db76b6e?w=800&q=80',\n    region: 'Карпати',\n  },\n];\n","src\u002Ffeatures\u002Ftrips\u002Fmodel\u002FmockTrips.ts",[3747,23831,23832,23850,23854,23858,23863,23868,23872,23887,23891,23900,23909,23919,23928,23933,23940,23949,23953,23957,23966,23975,23984,23993,23997,24004,24013,24017,24021,24030,24039,24048,24057,24061,24068,24077,24081,24085,24094,24103,24112,24121,24125,24132,24141,24145,24149,24158,24167,24176,24185,24189,24196,24204,24208,24212,24221,24230,24239,24248,24252,24259,24267,24271,24275,24284,24293,24302,24311,24315,24322,24331,24335,24339,24348,24357,24366,24375,24379,24386,24394,24398,24402,24411,24420,24429,24438,24442,24449,24457,24461,24465,24474,24483,24492,24501,24505,24512,24520,24524,24528,24537,24546,24555,24564,24568,24575,24583,24587,24591,24600,24609,24618,24627,24631,24638,24646,24650],{"__ignoreMap":3761},[3765,23833,23834,23836,23838,23840,23842,23844,23846,23848],{"class":3767,"line":3768},[3765,23835,4716],{"class":4715},[3765,23837,6523],{"class":4715},[3765,23839,3825],{"class":3775},[3765,23841,12736],{"class":3771},[3765,23843,4723],{"class":3775},[3765,23845,4726],{"class":4715},[3765,23847,22007],{"class":3786},[3765,23849,4732],{"class":3775},[3765,23851,23852],{"class":3767,"line":4332},[3765,23853,4363],{"emptyLinePlaceholder":4362},[3765,23855,23856],{"class":3767,"line":4359},[3765,23857,10899],{"class":4328},[3765,23859,23860],{"class":3767,"line":4366},[3765,23861,23862],{"class":4328}," * Mock-стрічка поїздок. Більше за 3–5 елементів — щоб віртуалізація\n",[3765,23864,23865],{"class":3767,"line":4372},[3765,23866,23867],{"class":4328}," * (FlashList \u002F FlatList) мала сенс на домашньому екрані.\n",[3765,23869,23870],{"class":3767,"line":4504},[3765,23871,10929],{"class":4328},[3765,23873,23874,23876,23878,23881,23883,23885],{"class":3767,"line":4518},[3765,23875,4741],{"class":4715},[3765,23877,6589],{"class":3790},[3765,23879,23880],{"class":3828}," mockTrips",[3765,23882,3842],{"class":3775},[3765,23884,12736],{"class":3845},[3765,23886,6600],{"class":3775},[3765,23888,23889],{"class":3767,"line":4524},[3765,23890,6605],{"class":3775},[3765,23892,23893,23895,23898],{"class":3767,"line":4530},[3765,23894,4492],{"class":3771},[3765,23896,23897],{"class":3786}," '1'",[3765,23899,4479],{"class":3775},[3765,23901,23902,23904,23907],{"class":3767,"line":4535},[3765,23903,6620],{"class":3771},[3765,23905,23906],{"class":3786}," 'Карпати на вихідні'",[3765,23908,4479],{"class":3775},[3765,23910,23911,23914,23917],{"class":3767,"line":4541},[3765,23912,23913],{"class":3771},"    dateLabel:",[3765,23915,23916],{"class":3786}," '12–14 бер. 2026'",[3765,23918,4479],{"class":3775},[3765,23920,23921,23923,23926],{"class":3767,"line":4549},[3765,23922,6630],{"class":3771},[3765,23924,23925],{"class":3786}," 'Говерла, полонини й вечірній чай біля каміну в котеджі.'",[3765,23927,4479],{"class":3775},[3765,23929,23930],{"class":3767,"line":4562},[3765,23931,23932],{"class":3771},"    coverUri:\n",[3765,23934,23935,23938],{"class":3767,"line":4572},[3765,23936,23937],{"class":3786},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1464822759023-fed622ff2c3b?w=800&q=80'",[3765,23939,4479],{"class":3775},[3765,23941,23942,23944,23947],{"class":3767,"line":4592},[3765,23943,22157],{"class":3771},[3765,23945,23946],{"class":3786}," 'Карпати'",[3765,23948,4479],{"class":3775},[3765,23950,23951],{"class":3767,"line":4601},[3765,23952,4521],{"class":3775},[3765,23954,23955],{"class":3767,"line":4606},[3765,23956,6605],{"class":3775},[3765,23958,23959,23961,23964],{"class":3767,"line":4612},[3765,23960,4492],{"class":3771},[3765,23962,23963],{"class":3786}," '2'",[3765,23965,4479],{"class":3775},[3765,23967,23968,23970,23973],{"class":3767,"line":6683},[3765,23969,6620],{"class":3771},[3765,23971,23972],{"class":3786}," 'Львівський вікенд'",[3765,23974,4479],{"class":3775},[3765,23976,23977,23979,23982],{"class":3767,"line":6693},[3765,23978,23913],{"class":3771},[3765,23980,23981],{"class":3786}," '2–4 трав. 2026'",[3765,23983,4479],{"class":3775},[3765,23985,23986,23988,23991],{"class":3767,"line":6698},[3765,23987,6630],{"class":3771},[3765,23989,23990],{"class":3786}," 'Кава, площа Ринок, закапелки й нічний трамвай.'",[3765,23992,4479],{"class":3775},[3765,23994,23995],{"class":3767,"line":6703},[3765,23996,23932],{"class":3771},[3765,23998,23999,24002],{"class":3767,"line":6713},[3765,24000,24001],{"class":3786},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1555881400-74d7acaacd8b?w=800&q=80'",[3765,24003,4479],{"class":3775},[3765,24005,24006,24008,24011],{"class":3767,"line":6723},[3765,24007,22157],{"class":3771},[3765,24009,24010],{"class":3786}," 'Захід'",[3765,24012,4479],{"class":3775},[3765,24014,24015],{"class":3767,"line":6733},[3765,24016,4521],{"class":3775},[3765,24018,24019],{"class":3767,"line":6743},[3765,24020,6605],{"class":3775},[3765,24022,24023,24025,24028],{"class":3767,"line":6748},[3765,24024,4492],{"class":3771},[3765,24026,24027],{"class":3786}," '3'",[3765,24029,4479],{"class":3775},[3765,24031,24032,24034,24037],{"class":3767,"line":6754},[3765,24033,6620],{"class":3771},[3765,24035,24036],{"class":3786}," 'Одеса біля моря'",[3765,24038,4479],{"class":3775},[3765,24040,24041,24043,24046],{"class":3767,"line":6759},[3765,24042,23913],{"class":3771},[3765,24044,24045],{"class":3786}," '18–22 лип. 2026'",[3765,24047,4479],{"class":3775},[3765,24049,24050,24052,24055],{"class":3767,"line":6788},[3765,24051,6630],{"class":3771},[3765,24053,24054],{"class":3786}," 'Схід сонця на набережній, рибний ринок і вечірній Привоз.'",[3765,24056,4479],{"class":3775},[3765,24058,24059],{"class":3767,"line":6814},[3765,24060,23932],{"class":3771},[3765,24062,24063,24066],{"class":3767,"line":6852},[3765,24064,24065],{"class":3786},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1507525428034-b723cf961d3e?w=800&q=80'",[3765,24067,4479],{"class":3775},[3765,24069,24070,24072,24075],{"class":3767,"line":7689},[3765,24071,22157],{"class":3771},[3765,24073,24074],{"class":3786}," 'Південь'",[3765,24076,4479],{"class":3775},[3765,24078,24079],{"class":3767,"line":7730},[3765,24080,4521],{"class":3775},[3765,24082,24083],{"class":3767,"line":7769},[3765,24084,6605],{"class":3775},[3765,24086,24087,24089,24092],{"class":3767,"line":7810},[3765,24088,4492],{"class":3771},[3765,24090,24091],{"class":3786}," '4'",[3765,24093,4479],{"class":3775},[3765,24095,24096,24098,24101],{"class":3767,"line":7820},[3765,24097,6620],{"class":3771},[3765,24099,24100],{"class":3786}," 'Київ на три дні'",[3765,24102,4479],{"class":3775},[3765,24104,24105,24107,24110],{"class":3767,"line":7830},[3765,24106,23913],{"class":3771},[3765,24108,24109],{"class":3786}," '5–7 черв. 2026'",[3765,24111,4479],{"class":3775},[3765,24113,24114,24116,24119],{"class":3767,"line":7838},[3765,24115,6630],{"class":3771},[3765,24117,24118],{"class":3786}," 'Поділ, Андріївський узвіз, вечірня прогулянка Хрещатиком.'",[3765,24120,4479],{"class":3775},[3765,24122,24123],{"class":3767,"line":7857},[3765,24124,23932],{"class":3771},[3765,24126,24127,24130],{"class":3767,"line":7885},[3765,24128,24129],{"class":3786},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1565008576549-57569a49371d?w=800&q=80'",[3765,24131,4479],{"class":3775},[3765,24133,24134,24136,24139],{"class":3767,"line":7891},[3765,24135,22157],{"class":3771},[3765,24137,24138],{"class":3786}," 'Центр'",[3765,24140,4479],{"class":3775},[3765,24142,24143],{"class":3767,"line":7924},[3765,24144,4521],{"class":3775},[3765,24146,24147],{"class":3767,"line":7933},[3765,24148,6605],{"class":3775},[3765,24150,24151,24153,24156],{"class":3767,"line":7943},[3765,24152,4492],{"class":3771},[3765,24154,24155],{"class":3786}," '5'",[3765,24157,4479],{"class":3775},[3765,24159,24160,24162,24165],{"class":3767,"line":7951},[3765,24161,6620],{"class":3771},[3765,24163,24164],{"class":3786}," 'Чернівці: університет і дворики'",[3765,24166,4479],{"class":3775},[3765,24168,24169,24171,24174],{"class":3767,"line":7957},[3765,24170,23913],{"class":3771},[3765,24172,24173],{"class":3786}," '20–22 вер. 2026'",[3765,24175,4479],{"class":3775},[3765,24177,24178,24180,24183],{"class":3767,"line":7962},[3765,24179,6630],{"class":3771},[3765,24181,24182],{"class":3786}," 'Резиденція митрополитів, кава на Кобилянській, нічний двір.'",[3765,24184,4479],{"class":3775},[3765,24186,24187],{"class":3767,"line":7969},[3765,24188,23932],{"class":3771},[3765,24190,24191,24194],{"class":3767,"line":7988},[3765,24192,24193],{"class":3786},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1519681393784-d120267933ba?w=800&q=80'",[3765,24195,4479],{"class":3775},[3765,24197,24198,24200,24202],{"class":3767,"line":8017},[3765,24199,22157],{"class":3771},[3765,24201,24010],{"class":3786},[3765,24203,4479],{"class":3775},[3765,24205,24206],{"class":3767,"line":8022},[3765,24207,4521],{"class":3775},[3765,24209,24210],{"class":3767,"line":8055},[3765,24211,6605],{"class":3775},[3765,24213,24214,24216,24219],{"class":3767,"line":8064},[3765,24215,4492],{"class":3771},[3765,24217,24218],{"class":3786}," '6'",[3765,24220,4479],{"class":3775},[3765,24222,24223,24225,24228],{"class":3767,"line":8073},[3765,24224,6620],{"class":3771},[3765,24226,24227],{"class":3786}," 'Кам’янець-Подільський'",[3765,24229,4479],{"class":3775},[3765,24231,24232,24234,24237],{"class":3767,"line":8078},[3765,24233,23913],{"class":3771},[3765,24235,24236],{"class":3786}," '11–13 квіт. 2026'",[3765,24238,4479],{"class":3775},[3765,24240,24241,24243,24246],{"class":3767,"line":8083},[3765,24242,6630],{"class":3771},[3765,24244,24245],{"class":3786}," 'Фортеця, каньйон Смотрича, захід сонця з оглядового майданчика.'",[3765,24247,4479],{"class":3775},[3765,24249,24250],{"class":3767,"line":8088},[3765,24251,23932],{"class":3771},[3765,24253,24254,24257],{"class":3767,"line":8107},[3765,24255,24256],{"class":3786},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1506905925346-21bda4d32df4?w=800&q=80'",[3765,24258,4479],{"class":3775},[3765,24260,24261,24263,24265],{"class":3767,"line":8129},[3765,24262,22157],{"class":3771},[3765,24264,24010],{"class":3786},[3765,24266,4479],{"class":3775},[3765,24268,24269],{"class":3767,"line":8137},[3765,24270,4521],{"class":3775},[3765,24272,24273],{"class":3767,"line":8148},[3765,24274,6605],{"class":3775},[3765,24276,24277,24279,24282],{"class":3767,"line":8159},[3765,24278,4492],{"class":3771},[3765,24280,24281],{"class":3786}," '7'",[3765,24283,4479],{"class":3775},[3765,24285,24286,24288,24291],{"class":3767,"line":8170},[3765,24287,6620],{"class":3771},[3765,24289,24290],{"class":3786}," 'Харків: місто й парки'",[3765,24292,4479],{"class":3775},[3765,24294,24295,24297,24300],{"class":3767,"line":8181},[3765,24296,23913],{"class":3771},[3765,24298,24299],{"class":3786}," '8–10 серп. 2026'",[3765,24301,4479],{"class":3775},[3765,24303,24304,24306,24309],{"class":3767,"line":8192},[3765,24305,6630],{"class":3771},[3765,24307,24308],{"class":3786}," 'Саржин яр, набережна, вечірні вогні Сумської.'",[3765,24310,4479],{"class":3775},[3765,24312,24313],{"class":3767,"line":8197},[3765,24314,23932],{"class":3771},[3765,24316,24317,24320],{"class":3767,"line":8205},[3765,24318,24319],{"class":3786},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1449824913935-59a10b8d2000?w=800&q=80'",[3765,24321,4479],{"class":3775},[3765,24323,24324,24326,24329],{"class":3767,"line":8214},[3765,24325,22157],{"class":3771},[3765,24327,24328],{"class":3786}," 'Схід'",[3765,24330,4479],{"class":3775},[3765,24332,24333],{"class":3767,"line":8225},[3765,24334,4521],{"class":3775},[3765,24336,24337],{"class":3767,"line":8235},[3765,24338,6605],{"class":3775},[3765,24340,24341,24343,24346],{"class":3767,"line":8244},[3765,24342,4492],{"class":3771},[3765,24344,24345],{"class":3786}," '8'",[3765,24347,4479],{"class":3775},[3765,24349,24350,24352,24355],{"class":3767,"line":8254},[3765,24351,6620],{"class":3771},[3765,24353,24354],{"class":3786}," 'Дніпро: мости й пагорби'",[3765,24356,4479],{"class":3775},[3765,24358,24359,24361,24364],{"class":3767,"line":8264},[3765,24360,23913],{"class":3771},[3765,24362,24363],{"class":3786}," '15–17 трав. 2026'",[3765,24365,4479],{"class":3775},[3765,24367,24368,24370,24373],{"class":3767,"line":8269},[3765,24369,6630],{"class":3771},[3765,24371,24372],{"class":3786}," 'Мереживо мостів, прогулянка набережною, кава з видом на річку.'",[3765,24374,4479],{"class":3775},[3765,24376,24377],{"class":3767,"line":8292},[3765,24378,23932],{"class":3771},[3765,24380,24381,24384],{"class":3767,"line":8300},[3765,24382,24383],{"class":3786},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1476514525535-07fb3b4ae5f1?w=800&q=80'",[3765,24385,4479],{"class":3775},[3765,24387,24388,24390,24392],{"class":3767,"line":8311},[3765,24389,22157],{"class":3771},[3765,24391,24138],{"class":3786},[3765,24393,4479],{"class":3775},[3765,24395,24396],{"class":3767,"line":8321},[3765,24397,4521],{"class":3775},[3765,24399,24400],{"class":3767,"line":8331},[3765,24401,6605],{"class":3775},[3765,24403,24404,24406,24409],{"class":3767,"line":8342},[3765,24405,4492],{"class":3771},[3765,24407,24408],{"class":3786}," '9'",[3765,24410,4479],{"class":3775},[3765,24412,24413,24415,24418],{"class":3767,"line":8353},[3765,24414,6620],{"class":3771},[3765,24416,24417],{"class":3786}," 'Ужгород і виноград'",[3765,24419,4479],{"class":3775},[3765,24421,24422,24424,24427],{"class":3767,"line":8363},[3765,24423,23913],{"class":3771},[3765,24425,24426],{"class":3786}," '25–27 жовт. 2026'",[3765,24428,4479],{"class":3775},[3765,24430,24431,24433,24436],{"class":3767,"line":8368},[3765,24432,6630],{"class":3771},[3765,24434,24435],{"class":3786}," 'Замок, липова алея, дегустація біля місцевих виноробів.'",[3765,24437,4479],{"class":3775},[3765,24439,24440],{"class":3767,"line":8397},[3765,24441,23932],{"class":3771},[3765,24443,24444,24447],{"class":3767,"line":8432},[3765,24445,24446],{"class":3786},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1500530855697-b586d89ba3ee?w=800&q=80'",[3765,24448,4479],{"class":3775},[3765,24450,24451,24453,24455],{"class":3767,"line":8452},[3765,24452,22157],{"class":3771},[3765,24454,23946],{"class":3786},[3765,24456,4479],{"class":3775},[3765,24458,24459],{"class":3767,"line":8460},[3765,24460,4521],{"class":3775},[3765,24462,24463],{"class":3767,"line":8470},[3765,24464,6605],{"class":3775},[3765,24466,24467,24469,24472],{"class":3767,"line":8480},[3765,24468,4492],{"class":3771},[3765,24470,24471],{"class":3786}," '10'",[3765,24473,4479],{"class":3775},[3765,24475,24476,24478,24481],{"class":3767,"line":8489},[3765,24477,6620],{"class":3771},[3765,24479,24480],{"class":3786}," 'Полтава: смаки й історія'",[3765,24482,4479],{"class":3775},[3765,24484,24485,24487,24490],{"class":3767,"line":8498},[3765,24486,23913],{"class":3771},[3765,24488,24489],{"class":3786}," '3–5 лип. 2026'",[3765,24491,4479],{"class":3775},[3765,24493,24494,24496,24499],{"class":3767,"line":8507},[3765,24495,6630],{"class":3771},[3765,24497,24498],{"class":3786}," 'Котлета по-київськи — ні, галушки; музей і тихі двори.'",[3765,24500,4479],{"class":3775},[3765,24502,24503],{"class":3767,"line":8518},[3765,24504,23932],{"class":3771},[3765,24506,24507,24510],{"class":3767,"line":8523},[3765,24508,24509],{"class":3786},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1469474968028-56623f02e42e?w=800&q=80'",[3765,24511,4479],{"class":3775},[3765,24513,24514,24516,24518],{"class":3767,"line":8543},[3765,24515,22157],{"class":3771},[3765,24517,24138],{"class":3786},[3765,24519,4479],{"class":3775},[3765,24521,24522],{"class":3767,"line":8564},[3765,24523,4521],{"class":3775},[3765,24525,24526],{"class":3767,"line":8585},[3765,24527,6605],{"class":3775},[3765,24529,24530,24532,24535],{"class":3767,"line":13544},[3765,24531,4492],{"class":3771},[3765,24533,24534],{"class":3786}," '11'",[3765,24536,4479],{"class":3775},[3765,24538,24539,24541,24544],{"class":3767,"line":13558},[3765,24540,6620],{"class":3771},[3765,24542,24543],{"class":3786}," 'Затока: пісок і шторм'",[3765,24545,4479],{"class":3775},[3765,24547,24548,24550,24553],{"class":3767,"line":13563},[3765,24549,23913],{"class":3771},[3765,24551,24552],{"class":3786}," '1–7 серп. 2026'",[3765,24554,4479],{"class":3775},[3765,24556,24557,24559,24562],{"class":3767,"line":13571},[3765,24558,6630],{"class":3771},[3765,24560,24561],{"class":3786}," 'Ранкові купання, вечірній вітер, книжка під парасолькою.'",[3765,24563,4479],{"class":3775},[3765,24565,24566],{"class":3767,"line":13576},[3765,24567,23932],{"class":3771},[3765,24569,24570,24573],{"class":3767,"line":13606},[3765,24571,24572],{"class":3786},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1507525428034-b723cf961d3e?w=600&q=80'",[3765,24574,4479],{"class":3775},[3765,24576,24577,24579,24581],{"class":3767,"line":13612},[3765,24578,22157],{"class":3771},[3765,24580,24074],{"class":3786},[3765,24582,4479],{"class":3775},[3765,24584,24585],{"class":3767,"line":13621},[3765,24586,4521],{"class":3775},[3765,24588,24589],{"class":3767,"line":13629},[3765,24590,6605],{"class":3775},[3765,24592,24593,24595,24598],{"class":3767,"line":13640},[3765,24594,4492],{"class":3771},[3765,24596,24597],{"class":3786}," '12'",[3765,24599,4479],{"class":3775},[3765,24601,24602,24604,24607],{"class":3767,"line":13658},[3765,24603,6620],{"class":3771},[3765,24605,24606],{"class":3786}," 'Яремче: водоспад і ліс'",[3765,24608,4479],{"class":3775},[3765,24610,24611,24613,24616],{"class":3767,"line":13676},[3765,24612,23913],{"class":3771},[3765,24614,24615],{"class":3786}," '19–21 черв. 2026'",[3765,24617,4479],{"class":3775},[3765,24619,24620,24622,24625],{"class":3767,"line":13681},[3765,24621,6630],{"class":3771},[3765,24623,24624],{"class":3786}," 'Прогулянка до водоспаду, гуцульська кухня, туман над смереками.'",[3765,24626,4479],{"class":3775},[3765,24628,24629],{"class":3767,"line":13687},[3765,24630,23932],{"class":3771},[3765,24632,24633,24636],{"class":3767,"line":13696},[3765,24634,24635],{"class":3786},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1441974231531-c6227db76b6e?w=800&q=80'",[3765,24637,4479],{"class":3775},[3765,24639,24640,24642,24644],{"class":3767,"line":13705},[3765,24641,22157],{"class":3771},[3765,24643,23946],{"class":3786},[3765,24645,4479],{"class":3775},[3765,24647,24648],{"class":3767,"line":13710},[3765,24649,4521],{"class":3775},[3765,24651,24652],{"class":3767,"line":13715},[3765,24653,6751],{"class":3775},[3756,24655,24658],{"className":6512,"code":24656,"filename":24657,"language":6514,"meta":3761,"style":3761},"import type { Place } from '.\u002Ftypes';\n\n\u002F** Місця всередині поїздок — для горизонтальної стрічки на home. *\u002F\nexport const mockPlaces: Place[] = [\n  {\n    id: 'p1',\n    tripId: '1',\n    name: 'Говерла',\n    city: 'Карпати',\n    note: 'Схід сонця з вершини',\n  },\n  {\n    id: 'p2',\n    tripId: '1',\n    name: 'Котедж біля полонини',\n    city: 'Карпати',\n    note: 'Вечірній чай і камін',\n  },\n  {\n    id: 'p3',\n    tripId: '2',\n    name: 'Площа Ринок',\n    city: 'Львів',\n    note: 'Ратуша й кав’ярні',\n  },\n  {\n    id: 'p4',\n    tripId: '2',\n    name: 'Високий Замок',\n    city: 'Львів',\n    note: 'Панорама міста',\n  },\n  {\n    id: 'p5',\n    tripId: '3',\n    name: 'Дерибасівська',\n    city: 'Одеса',\n    note: 'Прогулянка ввечері',\n  },\n  {\n    id: 'p6',\n    tripId: '3',\n    name: 'Ланжерон',\n    city: 'Одеса',\n    note: 'Пляж і набережна',\n  },\n  {\n    id: 'p7',\n    tripId: '4',\n    name: 'Андріївський узвіз',\n    city: 'Київ',\n    note: 'Галереї й бруківка',\n  },\n  {\n    id: 'p8',\n    tripId: '6',\n    name: 'Стара фортеця',\n    city: 'Кам’янець',\n    note: 'Фото з мосту',\n  },\n  {\n    id: 'p9',\n    tripId: '9',\n    name: 'Ужгородський замок',\n    city: 'Ужгород',\n    note: 'Музей і сад',\n  },\n  {\n    id: 'p10',\n    tripId: '12',\n    name: 'Водоспад Пробій',\n    city: 'Яремче',\n    note: 'Шум води й місток',\n  },\n];\n","src\u002Ffeatures\u002Ftrips\u002Fmodel\u002FmockPlaces.ts",[3747,24659,24660,24678,24682,24687,24702,24706,24715,24724,24734,24743,24753,24757,24761,24770,24778,24787,24795,24804,24808,24812,24821,24829,24838,24847,24856,24860,24864,24873,24881,24890,24898,24907,24911,24915,24924,24932,24941,24950,24959,24963,24967,24976,24984,24993,25001,25010,25014,25018,25027,25035,25044,25053,25062,25066,25070,25079,25087,25096,25105,25114,25118,25122,25131,25139,25148,25157,25166,25170,25174,25183,25191,25200,25209,25218,25222],{"__ignoreMap":3761},[3765,24661,24662,24664,24666,24668,24670,24672,24674,24676],{"class":3767,"line":3768},[3765,24663,4716],{"class":4715},[3765,24665,6523],{"class":4715},[3765,24667,3825],{"class":3775},[3765,24669,12673],{"class":3771},[3765,24671,4723],{"class":3775},[3765,24673,4726],{"class":4715},[3765,24675,22007],{"class":3786},[3765,24677,4732],{"class":3775},[3765,24679,24680],{"class":3767,"line":4332},[3765,24681,4363],{"emptyLinePlaceholder":4362},[3765,24683,24684],{"class":3767,"line":4359},[3765,24685,24686],{"class":4328},"\u002F** Місця всередині поїздок — для горизонтальної стрічки на home. *\u002F\n",[3765,24688,24689,24691,24693,24696,24698,24700],{"class":3767,"line":4366},[3765,24690,4741],{"class":4715},[3765,24692,6589],{"class":3790},[3765,24694,24695],{"class":3828}," mockPlaces",[3765,24697,3842],{"class":3775},[3765,24699,12673],{"class":3845},[3765,24701,6600],{"class":3775},[3765,24703,24704],{"class":3767,"line":4372},[3765,24705,6605],{"class":3775},[3765,24707,24708,24710,24713],{"class":3767,"line":4504},[3765,24709,4492],{"class":3771},[3765,24711,24712],{"class":3786}," 'p1'",[3765,24714,4479],{"class":3775},[3765,24716,24717,24720,24722],{"class":3767,"line":4518},[3765,24718,24719],{"class":3771},"    tripId:",[3765,24721,23897],{"class":3786},[3765,24723,4479],{"class":3775},[3765,24725,24726,24729,24732],{"class":3767,"line":4524},[3765,24727,24728],{"class":3771},"    name:",[3765,24730,24731],{"class":3786}," 'Говерла'",[3765,24733,4479],{"class":3775},[3765,24735,24736,24739,24741],{"class":3767,"line":4530},[3765,24737,24738],{"class":3771},"    city:",[3765,24740,23946],{"class":3786},[3765,24742,4479],{"class":3775},[3765,24744,24745,24748,24751],{"class":3767,"line":4535},[3765,24746,24747],{"class":3771},"    note:",[3765,24749,24750],{"class":3786}," 'Схід сонця з вершини'",[3765,24752,4479],{"class":3775},[3765,24754,24755],{"class":3767,"line":4541},[3765,24756,4521],{"class":3775},[3765,24758,24759],{"class":3767,"line":4549},[3765,24760,6605],{"class":3775},[3765,24762,24763,24765,24768],{"class":3767,"line":4562},[3765,24764,4492],{"class":3771},[3765,24766,24767],{"class":3786}," 'p2'",[3765,24769,4479],{"class":3775},[3765,24771,24772,24774,24776],{"class":3767,"line":4572},[3765,24773,24719],{"class":3771},[3765,24775,23897],{"class":3786},[3765,24777,4479],{"class":3775},[3765,24779,24780,24782,24785],{"class":3767,"line":4592},[3765,24781,24728],{"class":3771},[3765,24783,24784],{"class":3786}," 'Котедж біля полонини'",[3765,24786,4479],{"class":3775},[3765,24788,24789,24791,24793],{"class":3767,"line":4601},[3765,24790,24738],{"class":3771},[3765,24792,23946],{"class":3786},[3765,24794,4479],{"class":3775},[3765,24796,24797,24799,24802],{"class":3767,"line":4606},[3765,24798,24747],{"class":3771},[3765,24800,24801],{"class":3786}," 'Вечірній чай і камін'",[3765,24803,4479],{"class":3775},[3765,24805,24806],{"class":3767,"line":4612},[3765,24807,4521],{"class":3775},[3765,24809,24810],{"class":3767,"line":6683},[3765,24811,6605],{"class":3775},[3765,24813,24814,24816,24819],{"class":3767,"line":6693},[3765,24815,4492],{"class":3771},[3765,24817,24818],{"class":3786}," 'p3'",[3765,24820,4479],{"class":3775},[3765,24822,24823,24825,24827],{"class":3767,"line":6698},[3765,24824,24719],{"class":3771},[3765,24826,23963],{"class":3786},[3765,24828,4479],{"class":3775},[3765,24830,24831,24833,24836],{"class":3767,"line":6703},[3765,24832,24728],{"class":3771},[3765,24834,24835],{"class":3786}," 'Площа Ринок'",[3765,24837,4479],{"class":3775},[3765,24839,24840,24842,24845],{"class":3767,"line":6713},[3765,24841,24738],{"class":3771},[3765,24843,24844],{"class":3786}," 'Львів'",[3765,24846,4479],{"class":3775},[3765,24848,24849,24851,24854],{"class":3767,"line":6723},[3765,24850,24747],{"class":3771},[3765,24852,24853],{"class":3786}," 'Ратуша й кав’ярні'",[3765,24855,4479],{"class":3775},[3765,24857,24858],{"class":3767,"line":6733},[3765,24859,4521],{"class":3775},[3765,24861,24862],{"class":3767,"line":6743},[3765,24863,6605],{"class":3775},[3765,24865,24866,24868,24871],{"class":3767,"line":6748},[3765,24867,4492],{"class":3771},[3765,24869,24870],{"class":3786}," 'p4'",[3765,24872,4479],{"class":3775},[3765,24874,24875,24877,24879],{"class":3767,"line":6754},[3765,24876,24719],{"class":3771},[3765,24878,23963],{"class":3786},[3765,24880,4479],{"class":3775},[3765,24882,24883,24885,24888],{"class":3767,"line":6759},[3765,24884,24728],{"class":3771},[3765,24886,24887],{"class":3786}," 'Високий Замок'",[3765,24889,4479],{"class":3775},[3765,24891,24892,24894,24896],{"class":3767,"line":6788},[3765,24893,24738],{"class":3771},[3765,24895,24844],{"class":3786},[3765,24897,4479],{"class":3775},[3765,24899,24900,24902,24905],{"class":3767,"line":6814},[3765,24901,24747],{"class":3771},[3765,24903,24904],{"class":3786}," 'Панорама міста'",[3765,24906,4479],{"class":3775},[3765,24908,24909],{"class":3767,"line":6852},[3765,24910,4521],{"class":3775},[3765,24912,24913],{"class":3767,"line":7689},[3765,24914,6605],{"class":3775},[3765,24916,24917,24919,24922],{"class":3767,"line":7730},[3765,24918,4492],{"class":3771},[3765,24920,24921],{"class":3786}," 'p5'",[3765,24923,4479],{"class":3775},[3765,24925,24926,24928,24930],{"class":3767,"line":7769},[3765,24927,24719],{"class":3771},[3765,24929,24027],{"class":3786},[3765,24931,4479],{"class":3775},[3765,24933,24934,24936,24939],{"class":3767,"line":7810},[3765,24935,24728],{"class":3771},[3765,24937,24938],{"class":3786}," 'Дерибасівська'",[3765,24940,4479],{"class":3775},[3765,24942,24943,24945,24948],{"class":3767,"line":7820},[3765,24944,24738],{"class":3771},[3765,24946,24947],{"class":3786}," 'Одеса'",[3765,24949,4479],{"class":3775},[3765,24951,24952,24954,24957],{"class":3767,"line":7830},[3765,24953,24747],{"class":3771},[3765,24955,24956],{"class":3786}," 'Прогулянка ввечері'",[3765,24958,4479],{"class":3775},[3765,24960,24961],{"class":3767,"line":7838},[3765,24962,4521],{"class":3775},[3765,24964,24965],{"class":3767,"line":7857},[3765,24966,6605],{"class":3775},[3765,24968,24969,24971,24974],{"class":3767,"line":7885},[3765,24970,4492],{"class":3771},[3765,24972,24973],{"class":3786}," 'p6'",[3765,24975,4479],{"class":3775},[3765,24977,24978,24980,24982],{"class":3767,"line":7891},[3765,24979,24719],{"class":3771},[3765,24981,24027],{"class":3786},[3765,24983,4479],{"class":3775},[3765,24985,24986,24988,24991],{"class":3767,"line":7924},[3765,24987,24728],{"class":3771},[3765,24989,24990],{"class":3786}," 'Ланжерон'",[3765,24992,4479],{"class":3775},[3765,24994,24995,24997,24999],{"class":3767,"line":7933},[3765,24996,24738],{"class":3771},[3765,24998,24947],{"class":3786},[3765,25000,4479],{"class":3775},[3765,25002,25003,25005,25008],{"class":3767,"line":7943},[3765,25004,24747],{"class":3771},[3765,25006,25007],{"class":3786}," 'Пляж і набережна'",[3765,25009,4479],{"class":3775},[3765,25011,25012],{"class":3767,"line":7951},[3765,25013,4521],{"class":3775},[3765,25015,25016],{"class":3767,"line":7957},[3765,25017,6605],{"class":3775},[3765,25019,25020,25022,25025],{"class":3767,"line":7962},[3765,25021,4492],{"class":3771},[3765,25023,25024],{"class":3786}," 'p7'",[3765,25026,4479],{"class":3775},[3765,25028,25029,25031,25033],{"class":3767,"line":7969},[3765,25030,24719],{"class":3771},[3765,25032,24091],{"class":3786},[3765,25034,4479],{"class":3775},[3765,25036,25037,25039,25042],{"class":3767,"line":7988},[3765,25038,24728],{"class":3771},[3765,25040,25041],{"class":3786}," 'Андріївський узвіз'",[3765,25043,4479],{"class":3775},[3765,25045,25046,25048,25051],{"class":3767,"line":8017},[3765,25047,24738],{"class":3771},[3765,25049,25050],{"class":3786}," 'Київ'",[3765,25052,4479],{"class":3775},[3765,25054,25055,25057,25060],{"class":3767,"line":8022},[3765,25056,24747],{"class":3771},[3765,25058,25059],{"class":3786}," 'Галереї й бруківка'",[3765,25061,4479],{"class":3775},[3765,25063,25064],{"class":3767,"line":8055},[3765,25065,4521],{"class":3775},[3765,25067,25068],{"class":3767,"line":8064},[3765,25069,6605],{"class":3775},[3765,25071,25072,25074,25077],{"class":3767,"line":8073},[3765,25073,4492],{"class":3771},[3765,25075,25076],{"class":3786}," 'p8'",[3765,25078,4479],{"class":3775},[3765,25080,25081,25083,25085],{"class":3767,"line":8078},[3765,25082,24719],{"class":3771},[3765,25084,24218],{"class":3786},[3765,25086,4479],{"class":3775},[3765,25088,25089,25091,25094],{"class":3767,"line":8083},[3765,25090,24728],{"class":3771},[3765,25092,25093],{"class":3786}," 'Стара фортеця'",[3765,25095,4479],{"class":3775},[3765,25097,25098,25100,25103],{"class":3767,"line":8088},[3765,25099,24738],{"class":3771},[3765,25101,25102],{"class":3786}," 'Кам’янець'",[3765,25104,4479],{"class":3775},[3765,25106,25107,25109,25112],{"class":3767,"line":8107},[3765,25108,24747],{"class":3771},[3765,25110,25111],{"class":3786}," 'Фото з мосту'",[3765,25113,4479],{"class":3775},[3765,25115,25116],{"class":3767,"line":8129},[3765,25117,4521],{"class":3775},[3765,25119,25120],{"class":3767,"line":8137},[3765,25121,6605],{"class":3775},[3765,25123,25124,25126,25129],{"class":3767,"line":8148},[3765,25125,4492],{"class":3771},[3765,25127,25128],{"class":3786}," 'p9'",[3765,25130,4479],{"class":3775},[3765,25132,25133,25135,25137],{"class":3767,"line":8159},[3765,25134,24719],{"class":3771},[3765,25136,24408],{"class":3786},[3765,25138,4479],{"class":3775},[3765,25140,25141,25143,25146],{"class":3767,"line":8170},[3765,25142,24728],{"class":3771},[3765,25144,25145],{"class":3786}," 'Ужгородський замок'",[3765,25147,4479],{"class":3775},[3765,25149,25150,25152,25155],{"class":3767,"line":8181},[3765,25151,24738],{"class":3771},[3765,25153,25154],{"class":3786}," 'Ужгород'",[3765,25156,4479],{"class":3775},[3765,25158,25159,25161,25164],{"class":3767,"line":8192},[3765,25160,24747],{"class":3771},[3765,25162,25163],{"class":3786}," 'Музей і сад'",[3765,25165,4479],{"class":3775},[3765,25167,25168],{"class":3767,"line":8197},[3765,25169,4521],{"class":3775},[3765,25171,25172],{"class":3767,"line":8205},[3765,25173,6605],{"class":3775},[3765,25175,25176,25178,25181],{"class":3767,"line":8214},[3765,25177,4492],{"class":3771},[3765,25179,25180],{"class":3786}," 'p10'",[3765,25182,4479],{"class":3775},[3765,25184,25185,25187,25189],{"class":3767,"line":8225},[3765,25186,24719],{"class":3771},[3765,25188,24597],{"class":3786},[3765,25190,4479],{"class":3775},[3765,25192,25193,25195,25198],{"class":3767,"line":8235},[3765,25194,24728],{"class":3771},[3765,25196,25197],{"class":3786}," 'Водоспад Пробій'",[3765,25199,4479],{"class":3775},[3765,25201,25202,25204,25207],{"class":3767,"line":8244},[3765,25203,24738],{"class":3771},[3765,25205,25206],{"class":3786}," 'Яремче'",[3765,25208,4479],{"class":3775},[3765,25210,25211,25213,25216],{"class":3767,"line":8254},[3765,25212,24747],{"class":3771},[3765,25214,25215],{"class":3786}," 'Шум води й місток'",[3765,25217,4479],{"class":3775},[3765,25219,25220],{"class":3767,"line":8264},[3765,25221,4521],{"class":3775},[3765,25223,25224],{"class":3767,"line":8269},[3765,25225,6751],{"class":3775},[3756,25227,25230],{"className":6512,"code":25228,"filename":25229,"language":6514,"meta":3761,"style":3761},"import { mockPlaces } from '.\u002FmockPlaces';\nimport type { Place } from '.\u002Ftypes';\n\n\u002F** Місця, прив’язані до поїздки (mock). *\u002F\nexport function getPlacesForTrip(tripId: string): Place[] {\n  return mockPlaces.filter((p) => p.tripId === tripId);\n}\n","src\u002Ffeatures\u002Ftrips\u002Fmodel\u002FplacesHelpers.ts",[3747,25231,25232,25249,25267,25271,25276,25300,25331],{"__ignoreMap":3761},[3765,25233,25234,25236,25238,25240,25242,25244,25247],{"class":3767,"line":3768},[3765,25235,4716],{"class":4715},[3765,25237,3825],{"class":3775},[3765,25239,12679],{"class":3771},[3765,25241,4723],{"class":3775},[3765,25243,4726],{"class":4715},[3765,25245,25246],{"class":3786}," '.\u002FmockPlaces'",[3765,25248,4732],{"class":3775},[3765,25250,25251,25253,25255,25257,25259,25261,25263,25265],{"class":3767,"line":4332},[3765,25252,4716],{"class":4715},[3765,25254,6523],{"class":4715},[3765,25256,3825],{"class":3775},[3765,25258,12673],{"class":3771},[3765,25260,4723],{"class":3775},[3765,25262,4726],{"class":4715},[3765,25264,22007],{"class":3786},[3765,25266,4732],{"class":3775},[3765,25268,25269],{"class":3767,"line":4359},[3765,25270,4363],{"emptyLinePlaceholder":4362},[3765,25272,25273],{"class":3767,"line":4366},[3765,25274,25275],{"class":4328},"\u002F** Місця, прив’язані до поїздки (mock). *\u002F\n",[3765,25277,25278,25280,25282,25285,25287,25289,25291,25293,25295,25297],{"class":3767,"line":4372},[3765,25279,4741],{"class":4715},[3765,25281,4747],{"class":3790},[3765,25283,25284],{"class":3779}," getPlacesForTrip",[3765,25286,3783],{"class":3775},[3765,25288,4275],{"class":3771},[3765,25290,3842],{"class":3775},[3765,25292,3846],{"class":3845},[3765,25294,6777],{"class":3775},[3765,25296,12673],{"class":3845},[3765,25298,25299],{"class":3775},"[] {\n",[3765,25301,25302,25304,25306,25308,25311,25313,25315,25317,25319,25321,25323,25325,25327,25329],{"class":3767,"line":4504},[3765,25303,5082],{"class":4715},[3765,25305,24695],{"class":3771},[3765,25307,3776],{"class":3775},[3765,25309,25310],{"class":3779},"filter",[3765,25312,6826],{"class":3775},[3765,25314,3743],{"class":3771},[3765,25316,6832],{"class":3775},[3765,25318,5222],{"class":3790},[3765,25320,14215],{"class":3771},[3765,25322,3776],{"class":3775},[3765,25324,4275],{"class":3771},[3765,25326,6844],{"class":3775},[3765,25328,4275],{"class":3771},[3765,25330,3809],{"class":3775},[3765,25332,25333],{"class":3767,"line":4518},[3765,25334,4598],{"class":3775},[3756,25336,25339],{"className":3758,"code":25337,"filename":25338,"language":3760,"meta":3761,"style":3761},"import { useState } from 'react';\nimport {\n  KeyboardAvoidingView,\n  Platform,\n  ScrollView,\n  StyleSheet,\n  Switch,\n  View,\n} from 'react-native';\nimport { Controller, useForm } from 'react-hook-form';\nimport { zodResolver } from '@hookform\u002Fresolvers\u002Fzod';\nimport { Picker } from '@react-native-picker\u002Fpicker';\nimport Checkbox from '@react-native-community\u002Fcheckbox';\nimport Slider from '@react-native-community\u002Fslider';\n\nimport {\n  createTripSchema,\n  type CreateTripFormValues,\n} from '@\u002Ffeatures\u002Ftrips\u002Fmodel\u002FcreateTripSchema';\nimport { formatTripDateLabel } from '@\u002Ffeatures\u002Ftrips\u002Fmodel\u002FformatTripDates';\nimport { TRIP_REGIONS, type Trip } from '@\u002Ffeatures\u002Ftrips\u002Fmodel\u002Ftypes';\nimport { DateField } from '@\u002Ffeatures\u002Ftrips\u002Fui\u002FDateField';\nimport { FormRow } from '@\u002Ffeatures\u002Ftrips\u002Fui\u002FFormRow';\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\nimport { AppText, Button, TextField } from '@\u002Fshared\u002Fui';\n\ntype CreateTripFormProps = {\n  onSubmitSuccess: (trip: Trip) => void;\n  onCancel?: () => void;\n};\n\nfunction startOfToday(): Date {\n  const d = new Date();\n  d.setHours(12, 0, 0, 0);\n  return d;\n}\n\nfunction addDays(base: Date, days: number): Date {\n  const d = new Date(base);\n  d.setDate(d.getDate() + days);\n  return d;\n}\n\n\u002F**\n * Форма «Нова поїздка»: усі основні form-контроли + RHF + Zod.\n * Не залежить від навігації — батько вирішує, куди піти після submit.\n *\u002F\nexport function CreateTripForm({\n  onSubmitSuccess,\n  onCancel,\n}: CreateTripFormProps) {\n  const { colors, spacing, radius } = useTheme();\n  const [submitting, setSubmitting] = useState(false);\n\n  const {\n    control,\n    handleSubmit,\n    watch,\n    formState: { errors },\n  } = useForm\u003CCreateTripFormValues>({\n    resolver: zodResolver(createTripSchema),\n    defaultValues: {\n      title: '',\n      region: 'Карпати',\n      description: '',\n      startDate: startOfToday(),\n      endDate: addDays(startOfToday(), 2),\n      isPrivate: false,\n      plannedDays: 3,\n      hasItinerary: false,\n      \u002F\u002F literal true — у default false, щоб користувач свідомо поставив галочку\n      acceptedLocalSave: false as unknown as true,\n    },\n    mode: 'onSubmit',\n    reValidateMode: 'onChange',\n  });\n\n  const startDate = watch('startDate');\n  const plannedDays = watch('plannedDays');\n\n  const onValid = (values: CreateTripFormValues) => {\n    setSubmitting(true);\n    const trip: Trip = {\n      id: `local-${Date.now()}`,\n      title: values.title,\n      region: values.region,\n      description: values.description,\n      dateLabel: formatTripDateLabel(values.startDate, values.endDate),\n      coverUri: `https:\u002F\u002Fpicsum.photos\u002Fseed\u002F${encodeURIComponent(values.title)}\u002F800\u002F400`,\n      isPrivate: values.isPrivate,\n      plannedDays: values.plannedDays,\n      hasItinerary: values.hasItinerary,\n    };\n    onSubmitSuccess(trip);\n    setSubmitting(false);\n  };\n\n  return (\n    \u003CKeyboardAvoidingView\n      style={styles.flex}\n      behavior={Platform.OS === 'ios' ? 'padding' : 'height'}\n      keyboardVerticalOffset={Platform.OS === 'ios' ? 8 : 0}\n    >\n      \u003CScrollView\n        style={styles.flex}\n        contentContainerStyle={[\n          styles.content,\n          { padding: spacing.md, gap: spacing.md, paddingBottom: spacing.xl },\n        ]}\n        keyboardShouldPersistTaps=\"handled\"\n        keyboardDismissMode=\"on-drag\"\n        showsVerticalScrollIndicator={false}\n      >\n        \u003CAppText variant=\"caption\" color={colors.textSecondary}>\n          Заповніть поля. Помилки з’являться після натискання «Створити», якщо\n          щось не так. Тут зібрані різні типи контролів: текст, список, дати,\n          перемикач, галочка, повзунок.\n        \u003C\u002FAppText>\n\n        {\u002F* ——— TextInput ——— *\u002F}\n        \u003CController\n          control={control}\n          name=\"title\"\n          render={({ field: { onChange, onBlur, value } }) => (\n            \u003CTextField\n              label=\"Назва поїздки\"\n              placeholder=\"Наприклад, Карпати на вихідні\"\n              value={value}\n              onChangeText={onChange}\n              onBlur={onBlur}\n              error={errors.title?.message}\n              autoCapitalize=\"sentences\"\n              returnKeyType=\"next\"\n              maxLength={80}\n            \u002F>\n          )}\n        \u002F>\n\n        {\u002F* ——— Picker ——— *\u002F}\n        \u003CController\n          control={control}\n          name=\"region\"\n          render={({ field: { onChange, value } }) => (\n            \u003CFormRow\n              label=\"Регіон\"\n              description=\"Оберіть зі списку (Picker), а не вводьте вручну\"\n              error={errors.region?.message}\n              stacked\n              control={\n                \u003CView\n                  style={[\n                    styles.pickerWrap,\n                    {\n                      borderColor: errors.region\n                        ? colors.danger\n                        : colors.border,\n                      backgroundColor: colors.surface,\n                      borderRadius: radius.md,\n                    },\n                  ]}\n                >\n                  \u003CPicker\n                    selectedValue={value}\n                    onValueChange={onChange}\n                    dropdownIconColor={colors.text}\n                    style={{ color: colors.text }}\n                  >\n                    {TRIP_REGIONS.map((region) => (\n                      \u003CPicker.Item\n                        key={region}\n                        label={region}\n                        value={region}\n                        color={colors.text}\n                      \u002F>\n                    ))}\n                  \u003C\u002FPicker>\n                \u003C\u002FView>\n              }\n            \u002F>\n          )}\n        \u002F>\n\n        {\u002F* ——— DateTimePicker через DateField ——— *\u002F}\n        \u003CController\n          control={control}\n          name=\"startDate\"\n          render={({ field: { onChange, onBlur, value } }) => (\n            \u003CDateField\n              label=\"Дата початку\"\n              value={value}\n              onChange={onChange}\n              onBlur={onBlur}\n              error={errors.startDate?.message}\n            \u002F>\n          )}\n        \u002F>\n\n        \u003CController\n          control={control}\n          name=\"endDate\"\n          render={({ field: { onChange, onBlur, value } }) => (\n            \u003CDateField\n              label=\"Дата завершення\"\n              value={value}\n              onChange={onChange}\n              onBlur={onBlur}\n              error={errors.endDate?.message}\n              minimumDate={startDate}\n            \u002F>\n          )}\n        \u002F>\n\n        {\u002F* ——— TextInput multiline ——— *\u002F}\n        \u003CController\n          control={control}\n          name=\"description\"\n          render={({ field: { onChange, onBlur, value } }) => (\n            \u003CTextField\n              label=\"Опис\"\n              placeholder=\"Коротко: що плануєте побачити, з ким їдете…\"\n              value={value}\n              onChangeText={onChange}\n              onBlur={onBlur}\n              error={errors.description?.message}\n              multiline\n              numberOfLines={4}\n              textAlignVertical=\"top\"\n              style={styles.multiline}\n              maxLength={500}\n              hint=\"Мінімум 10 символів\"\n            \u002F>\n          )}\n        \u002F>\n\n        {\u002F* ——— Slider ——— *\u002F}\n        \u003CController\n          control={control}\n          name=\"plannedDays\"\n          render={({ field: { onChange, value } }) => (\n            \u003CFormRow\n              label={`Тривалість: ${value} ${daysWord(value)}`}\n              description=\"Повзунок (Slider) — зручно для діапазону 1–14\"\n              error={errors.plannedDays?.message}\n              stacked\n              control={\n                \u003CSlider\n                  minimumValue={1}\n                  maximumValue={14}\n                  step={1}\n                  value={value}\n                  onValueChange={onChange}\n                  minimumTrackTintColor={colors.primary}\n                  maximumTrackTintColor={colors.border}\n                  thumbTintColor={colors.primary}\n                \u002F>\n              }\n            \u002F>\n          )}\n        \u002F>\n        \u003CAppText variant=\"caption\" color={colors.textSecondary}>\n          Зараз на слайдері: {plannedDays}{' '}\n          {daysWord(plannedDays ?? 1)} (можна не збігатися з датами — це\n          окреме «орієнтовне» поле для навчання).\n        \u003C\u002FAppText>\n\n        {\u002F* ——— Switch ——— *\u002F}\n        \u003CController\n          control={control}\n          name=\"isPrivate\"\n          render={({ field: { onChange, value } }) => (\n            \u003CFormRow\n              label=\"Приватна поїздка\"\n              description=\"Switch: увімкнено — мітка «приватна» на картці\"\n              error={errors.isPrivate?.message}\n              control={\n                \u003CSwitch\n                  value={value}\n                  onValueChange={onChange}\n                  trackColor={{\n                    false: colors.border,\n                    true: colors.primary,\n                  }}\n                  thumbColor={colors.onPrimary}\n                  ios_backgroundColor={colors.border}\n                \u002F>\n              }\n            \u002F>\n          )}\n        \u002F>\n\n        {\u002F* ——— Checkbox (опційний прапорець) ——— *\u002F}\n        \u003CController\n          control={control}\n          name=\"hasItinerary\"\n          render={({ field: { onChange, value } }) => (\n            \u003CFormRow\n              label=\"Є план маршруту\"\n              description=\"Checkbox: так \u002F ні, без обов’язковості\"\n              error={errors.hasItinerary?.message}\n              control={\n                \u003CCheckbox\n                  value={value}\n                  onValueChange={onChange}\n                  tintColors={{\n                    true: colors.primary,\n                    false: colors.border,\n                  }}\n                  onCheckColor={colors.onPrimary}\n                  onFillColor={colors.primary}\n                  onTintColor={colors.primary}\n                  boxType=\"square\"\n                \u002F>\n              }\n            \u002F>\n          )}\n        \u002F>\n\n        {\u002F* ——— Checkbox (обов’язкова згода) ——— *\u002F}\n        \u003CController\n          control={control}\n          name=\"acceptedLocalSave\"\n          render={({ field: { onChange, value } }) => (\n            \u003CFormRow\n              label=\"Згода на локальне збереження\"\n              description=\"Поки немає API: дані лишаються в пам’яті застосунку\"\n              error={errors.acceptedLocalSave?.message}\n              control={\n                \u003CCheckbox\n                  value={Boolean(value)}\n                  onValueChange={onChange}\n                  tintColors={{\n                    true: colors.primary,\n                    false: colors.border,\n                  }}\n                  onCheckColor={colors.onPrimary}\n                  onFillColor={colors.primary}\n                  onTintColor={colors.primary}\n                  boxType=\"square\"\n                \u002F>\n              }\n            \u002F>\n          )}\n        \u002F>\n\n        {\u002F* ——— Button (Pressable-обгортка з shared\u002Fui) ——— *\u002F}\n        \u003CView style={{ gap: spacing.sm, marginTop: spacing.sm }}>\n          \u003CButton\n            label={submitting ? 'Створюємо…' : 'Створити поїздку'}\n            onPress={handleSubmit(onValid)}\n            disabled={submitting}\n          \u002F>\n          {onCancel ? (\n            \u003CButton\n              label=\"Скасувати\"\n              variant=\"secondary\"\n              onPress={onCancel}\n              disabled={submitting}\n            \u002F>\n          ) : null}\n        \u003C\u002FView>\n      \u003C\u002FScrollView>\n    \u003C\u002FKeyboardAvoidingView>\n  );\n}\n\nfunction daysWord(n: number): string {\n  const abs = Math.abs(n) % 100;\n  const last = abs % 10;\n  if (abs > 10 && abs \u003C 20) return 'днів';\n  if (last === 1) return 'день';\n  if (last >= 2 && last \u003C= 4) return 'дні';\n  return 'днів';\n}\n\nconst styles = StyleSheet.create({\n  flex: {\n    flex: 1,\n  },\n  content: {\n    flexGrow: 1,\n  },\n  multiline: {\n    minHeight: 110,\n  },\n  pickerWrap: {\n    borderWidth: 1,\n    overflow: 'hidden',\n  },\n});\n","src\u002Ffeatures\u002Ftrips\u002Fui\u002FCreateTripForm.tsx",[3747,25340,25341,25357,25363,25370,25376,25382,25388,25395,25401,25411,25434,25452,25470,25484,25498,25502,25508,25514,25522,25533,25550,25573,25590,25607,25623,25648,25652,25661,25682,25696,25700,25704,25717,25734,25763,25771,25775,25779,25810,25828,25852,25860,25864,25868,25872,25877,25882,25886,25897,25903,25909,25919,25941,25965,25969,25975,25982,25989,25996,26008,26023,26038,26045,26054,26063,26072,26081,26100,26109,26119,26128,26133,26151,26155,26165,26175,26179,26183,26202,26220,26224,26246,26257,26269,26294,26307,26319,26331,26356,26385,26397,26409,26421,26426,26437,26447,26451,26455,26461,26468,26485,26518,26547,26551,26557,26573,26583,26594,26629,26635,26645,26655,26663,26667,26695,26700,26705,26710,26718,26722,26731,26738,26752,26761,26795,26802,26811,26821,26834,26847,26860,26883,26893,26903,26916,26920,26926,26930,26934,26943,26949,26961,26970,26996,27003,27012,27022,27042,27047,27056,27062,27072,27083,27087,27099,27111,27124,27136,27149,27153,27159,27163,27170,27183,27196,27213,27235,27239,27259,27267,27280,27293,27306,27323,27328,27335,27343,27351,27356,27360,27366,27370,27374,27383,27389,27401,27410,27440,27447,27456,27468,27481,27493,27513,27517,27523,27527,27531,27537,27549,27558,27588,27594,27603,27615,27627,27639,27659,27672,27676,27682,27686,27690,27699,27705,27717,27726,27756,27762,27771,27780,27792,27804,27816,27836,27841,27855,27865,27882,27894,27904,27908,27914,27918,27922,27931,27937,27949,27958,27984,27990,28024,28033,28053,28057,28065,28072,28085,28098,28111,28124,28137,28154,28171,28188,28193,28197,28201,28207,28211,28239,28255,28277,28283,28292,28297,28307,28314,28327,28337,28364,28371,28381,28391,28412,28421,28429,28442,28455,28467,28481,28495,28503,28521,28539,28544,28549,28554,28561,28566,28571,28581,28588,28601,28611,28638,28645,28655,28665,28686,28695,28703,28716,28729,28741,28754,28767,28774,28792,28810,28828,28839,28844,28849,28854,28861,28866,28871,28881,28888,28901,28911,28938,28945,28955,28965,28987,28996,29003,29023,29036,29047,29060,29073,29080,29097,29114,29131,29140,29145,29150,29155,29162,29167,29172,29182,29221,29228,29251,29272,29286,29291,29303,29310,29320,29329,29342,29356,29361,29370,29379,29388,29398,29403,29408,29413,29436,29466,29485,29519,29542,29574,29583,29588,29593,29610,29618,29627,29632,29640,29650,29655,29663,29674,29679,29687,29696,29707,29712],{"__ignoreMap":3761},[3765,25342,25343,25345,25347,25349,25351,25353,25355],{"class":3767,"line":3768},[3765,25344,4716],{"class":4715},[3765,25346,3825],{"class":3775},[3765,25348,12269],{"class":3771},[3765,25350,4723],{"class":3775},[3765,25352,4726],{"class":4715},[3765,25354,12276],{"class":3786},[3765,25356,4732],{"class":3775},[3765,25358,25359,25361],{"class":3767,"line":4332},[3765,25360,4716],{"class":4715},[3765,25362,4487],{"class":3775},[3765,25364,25365,25368],{"class":3767,"line":4359},[3765,25366,25367],{"class":3771},"  KeyboardAvoidingView",[3765,25369,4479],{"class":3775},[3765,25371,25372,25374],{"class":3767,"line":4366},[3765,25373,15472],{"class":3771},[3765,25375,4479],{"class":3775},[3765,25377,25378,25380],{"class":3767,"line":4372},[3765,25379,15479],{"class":3771},[3765,25381,4479],{"class":3775},[3765,25383,25384,25386],{"class":3767,"line":4504},[3765,25385,12310],{"class":3771},[3765,25387,4479],{"class":3775},[3765,25389,25390,25393],{"class":3767,"line":4518},[3765,25391,25392],{"class":3771},"  Switch",[3765,25394,4479],{"class":3775},[3765,25396,25397,25399],{"class":3767,"line":4524},[3765,25398,12317],{"class":3771},[3765,25400,4479],{"class":3775},[3765,25402,25403,25405,25407,25409],{"class":3767,"line":4530},[3765,25404,12324],{"class":3775},[3765,25406,4726],{"class":4715},[3765,25408,5603],{"class":3786},[3765,25410,4732],{"class":3775},[3765,25412,25413,25415,25417,25420,25422,25425,25427,25429,25432],{"class":3767,"line":4535},[3765,25414,4716],{"class":4715},[3765,25416,3825],{"class":3775},[3765,25418,25419],{"class":3771},"Controller",[3765,25421,4032],{"class":3775},[3765,25423,25424],{"class":3771},"useForm",[3765,25426,4723],{"class":3775},[3765,25428,4726],{"class":4715},[3765,25430,25431],{"class":3786}," 'react-hook-form'",[3765,25433,4732],{"class":3775},[3765,25435,25436,25438,25440,25443,25445,25447,25450],{"class":3767,"line":4541},[3765,25437,4716],{"class":4715},[3765,25439,3825],{"class":3775},[3765,25441,25442],{"class":3771},"zodResolver",[3765,25444,4723],{"class":3775},[3765,25446,4726],{"class":4715},[3765,25448,25449],{"class":3786}," '@hookform\u002Fresolvers\u002Fzod'",[3765,25451,4732],{"class":3775},[3765,25453,25454,25456,25458,25461,25463,25465,25468],{"class":3767,"line":4549},[3765,25455,4716],{"class":4715},[3765,25457,3825],{"class":3775},[3765,25459,25460],{"class":3771},"Picker",[3765,25462,4723],{"class":3775},[3765,25464,4726],{"class":4715},[3765,25466,25467],{"class":3786}," '@react-native-picker\u002Fpicker'",[3765,25469,4732],{"class":3775},[3765,25471,25472,25474,25477,25479,25482],{"class":3767,"line":4562},[3765,25473,4716],{"class":4715},[3765,25475,25476],{"class":3771}," Checkbox",[3765,25478,5582],{"class":4715},[3765,25480,25481],{"class":3786}," '@react-native-community\u002Fcheckbox'",[3765,25483,4732],{"class":3775},[3765,25485,25486,25488,25491,25493,25496],{"class":3767,"line":4572},[3765,25487,4716],{"class":4715},[3765,25489,25490],{"class":3771}," Slider",[3765,25492,5582],{"class":4715},[3765,25494,25495],{"class":3786}," '@react-native-community\u002Fslider'",[3765,25497,4732],{"class":3775},[3765,25499,25500],{"class":3767,"line":4592},[3765,25501,4363],{"emptyLinePlaceholder":4362},[3765,25503,25504,25506],{"class":3767,"line":4601},[3765,25505,4716],{"class":4715},[3765,25507,4487],{"class":3775},[3765,25509,25510,25512],{"class":3767,"line":4606},[3765,25511,21610],{"class":3771},[3765,25513,4479],{"class":3775},[3765,25515,25516,25518,25520],{"class":3767,"line":4612},[3765,25517,12407],{"class":4715},[3765,25519,21619],{"class":3771},[3765,25521,4479],{"class":3775},[3765,25523,25524,25526,25528,25531],{"class":3767,"line":6683},[3765,25525,12324],{"class":3775},[3765,25527,4726],{"class":4715},[3765,25529,25530],{"class":3786}," '@\u002Ffeatures\u002Ftrips\u002Fmodel\u002FcreateTripSchema'",[3765,25532,4732],{"class":3775},[3765,25534,25535,25537,25539,25541,25543,25545,25548],{"class":3767,"line":6693},[3765,25536,4716],{"class":4715},[3765,25538,3825],{"class":3775},[3765,25540,21641],{"class":3771},[3765,25542,4723],{"class":3775},[3765,25544,4726],{"class":4715},[3765,25546,25547],{"class":3786}," '@\u002Ffeatures\u002Ftrips\u002Fmodel\u002FformatTripDates'",[3765,25549,4732],{"class":3775},[3765,25551,25552,25554,25556,25558,25560,25562,25564,25566,25568,25571],{"class":3767,"line":6698},[3765,25553,4716],{"class":4715},[3765,25555,3825],{"class":3775},[3765,25557,21483],{"class":3771},[3765,25559,4032],{"class":3775},[3765,25561,12444],{"class":4715},[3765,25563,12419],{"class":3771},[3765,25565,4723],{"class":3775},[3765,25567,4726],{"class":4715},[3765,25569,25570],{"class":3786}," '@\u002Ffeatures\u002Ftrips\u002Fmodel\u002Ftypes'",[3765,25572,4732],{"class":3775},[3765,25574,25575,25577,25579,25581,25583,25585,25588],{"class":3767,"line":6703},[3765,25576,4716],{"class":4715},[3765,25578,3825],{"class":3775},[3765,25580,21551],{"class":3771},[3765,25582,4723],{"class":3775},[3765,25584,4726],{"class":4715},[3765,25586,25587],{"class":3786}," '@\u002Ffeatures\u002Ftrips\u002Fui\u002FDateField'",[3765,25589,4732],{"class":3775},[3765,25591,25592,25594,25596,25598,25600,25602,25605],{"class":3767,"line":6713},[3765,25593,4716],{"class":4715},[3765,25595,3825],{"class":3775},[3765,25597,21569],{"class":3771},[3765,25599,4723],{"class":3775},[3765,25601,4726],{"class":4715},[3765,25603,25604],{"class":3786}," '@\u002Ffeatures\u002Ftrips\u002Fui\u002FFormRow'",[3765,25606,4732],{"class":3775},[3765,25608,25609,25611,25613,25615,25617,25619,25621],{"class":3767,"line":6723},[3765,25610,4716],{"class":4715},[3765,25612,3825],{"class":3775},[3765,25614,10881],{"class":3771},[3765,25616,4723],{"class":3775},[3765,25618,4726],{"class":4715},[3765,25620,10888],{"class":3786},[3765,25622,4732],{"class":3775},[3765,25624,25625,25627,25629,25631,25633,25635,25637,25640,25642,25644,25646],{"class":3767,"line":6733},[3765,25626,4716],{"class":4715},[3765,25628,3825],{"class":3775},[3765,25630,5120],{"class":3771},[3765,25632,4032],{"class":3775},[3765,25634,5201],{"class":3771},[3765,25636,4032],{"class":3775},[3765,25638,25639],{"class":3771},"TextField",[3765,25641,4723],{"class":3775},[3765,25643,4726],{"class":4715},[3765,25645,12479],{"class":3786},[3765,25647,4732],{"class":3775},[3765,25649,25650],{"class":3767,"line":6743},[3765,25651,4363],{"emptyLinePlaceholder":4362},[3765,25653,25654,25656,25659],{"class":3767,"line":6748},[3765,25655,12444],{"class":3790},[3765,25657,25658],{"class":3845}," CreateTripFormProps",[3765,25660,6529],{"class":3775},[3765,25662,25663,25666,25668,25670,25672,25674,25676,25678,25680],{"class":3767,"line":6754},[3765,25664,25665],{"class":3779},"  onSubmitSuccess",[3765,25667,23270],{"class":3775},[3765,25669,3794],{"class":3771},[3765,25671,3842],{"class":3775},[3765,25673,12736],{"class":3845},[3765,25675,6832],{"class":3775},[3765,25677,5222],{"class":3790},[3765,25679,23313],{"class":3845},[3765,25681,4732],{"class":3775},[3765,25683,25684,25687,25690,25692,25694],{"class":3767,"line":6759},[3765,25685,25686],{"class":3779},"  onCancel",[3765,25688,25689],{"class":3775},"?: () ",[3765,25691,5222],{"class":3790},[3765,25693,23313],{"class":3845},[3765,25695,4732],{"class":3775},[3765,25697,25698],{"class":3767,"line":6788},[3765,25699,6578],{"class":3775},[3765,25701,25702],{"class":3767,"line":6814},[3765,25703,4363],{"emptyLinePlaceholder":4362},[3765,25705,25706,25708,25711,25713,25715],{"class":3767,"line":6852},[3765,25707,10963],{"class":3790},[3765,25709,25710],{"class":3779}," startOfToday",[3765,25712,23757],{"class":3775},[3765,25714,22668],{"class":3845},[3765,25716,4487],{"class":3775},[3765,25718,25719,25721,25724,25726,25729,25732],{"class":3767,"line":7689},[3765,25720,4758],{"class":3790},[3765,25722,25723],{"class":3828}," d",[3765,25725,4908],{"class":3775},[3765,25727,25728],{"class":3790},"new",[3765,25730,25731],{"class":3779}," Date",[3765,25733,6811],{"class":3775},[3765,25735,25736,25739,25741,25744,25746,25749,25751,25753,25755,25757,25759,25761],{"class":3767,"line":7730},[3765,25737,25738],{"class":3771},"  d",[3765,25740,3776],{"class":3775},[3765,25742,25743],{"class":3779},"setHours",[3765,25745,3783],{"class":3775},[3765,25747,25748],{"class":4931},"12",[3765,25750,4032],{"class":3775},[3765,25752,4932],{"class":4931},[3765,25754,4032],{"class":3775},[3765,25756,4932],{"class":4931},[3765,25758,4032],{"class":3775},[3765,25760,4932],{"class":4931},[3765,25762,3809],{"class":3775},[3765,25764,25765,25767,25769],{"class":3767,"line":7769},[3765,25766,5082],{"class":4715},[3765,25768,25723],{"class":3771},[3765,25770,4732],{"class":3775},[3765,25772,25773],{"class":3767,"line":7810},[3765,25774,4598],{"class":3775},[3765,25776,25777],{"class":3767,"line":7820},[3765,25778,4363],{"emptyLinePlaceholder":4362},[3765,25780,25781,25783,25786,25788,25791,25793,25795,25797,25800,25802,25804,25806,25808],{"class":3767,"line":7830},[3765,25782,10963],{"class":3790},[3765,25784,25785],{"class":3779}," addDays",[3765,25787,3783],{"class":3775},[3765,25789,25790],{"class":3771},"base",[3765,25792,3842],{"class":3775},[3765,25794,22668],{"class":3845},[3765,25796,4032],{"class":3775},[3765,25798,25799],{"class":3771},"days",[3765,25801,3842],{"class":3775},[3765,25803,21767],{"class":3845},[3765,25805,6777],{"class":3775},[3765,25807,22668],{"class":3845},[3765,25809,4487],{"class":3775},[3765,25811,25812,25814,25816,25818,25820,25822,25824,25826],{"class":3767,"line":7838},[3765,25813,4758],{"class":3790},[3765,25815,25723],{"class":3828},[3765,25817,4908],{"class":3775},[3765,25819,25728],{"class":3790},[3765,25821,25731],{"class":3779},[3765,25823,3783],{"class":3775},[3765,25825,25790],{"class":3771},[3765,25827,3809],{"class":3775},[3765,25829,25830,25832,25834,25837,25839,25841,25843,25845,25848,25850],{"class":3767,"line":7857},[3765,25831,25738],{"class":3771},[3765,25833,3776],{"class":3775},[3765,25835,25836],{"class":3779},"setDate",[3765,25838,3783],{"class":3775},[3765,25840,22663],{"class":3771},[3765,25842,3776],{"class":3775},[3765,25844,22689],{"class":3779},[3765,25846,25847],{"class":3775},"() + ",[3765,25849,25799],{"class":3771},[3765,25851,3809],{"class":3775},[3765,25853,25854,25856,25858],{"class":3767,"line":7885},[3765,25855,5082],{"class":4715},[3765,25857,25723],{"class":3771},[3765,25859,4732],{"class":3775},[3765,25861,25862],{"class":3767,"line":7891},[3765,25863,4598],{"class":3775},[3765,25865,25866],{"class":3767,"line":7924},[3765,25867,4363],{"emptyLinePlaceholder":4362},[3765,25869,25870],{"class":3767,"line":7933},[3765,25871,10899],{"class":4328},[3765,25873,25874],{"class":3767,"line":7943},[3765,25875,25876],{"class":4328}," * Форма «Нова поїздка»: усі основні form-контроли + RHF + Zod.\n",[3765,25878,25879],{"class":3767,"line":7951},[3765,25880,25881],{"class":4328}," * Не залежить від навігації — батько вирішує, куди піти після submit.\n",[3765,25883,25884],{"class":3767,"line":7957},[3765,25885,10929],{"class":4328},[3765,25887,25888,25890,25892,25895],{"class":3767,"line":7962},[3765,25889,4741],{"class":4715},[3765,25891,4747],{"class":3790},[3765,25893,25894],{"class":3779}," CreateTripForm",[3765,25896,4468],{"class":3775},[3765,25898,25899,25901],{"class":3767,"line":7969},[3765,25900,25665],{"class":3771},[3765,25902,4479],{"class":3775},[3765,25904,25905,25907],{"class":3767,"line":7988},[3765,25906,25686],{"class":3771},[3765,25908,4479],{"class":3775},[3765,25910,25911,25914,25917],{"class":3767,"line":8017},[3765,25912,25913],{"class":3775},"}: ",[3765,25915,25916],{"class":3845},"CreateTripFormProps",[3765,25918,4961],{"class":3775},[3765,25920,25921,25923,25925,25927,25929,25931,25933,25935,25937,25939],{"class":3767,"line":8022},[3765,25922,4758],{"class":3790},[3765,25924,3825],{"class":3775},[3765,25926,5162],{"class":3828},[3765,25928,4032],{"class":3775},[3765,25930,12633],{"class":3828},[3765,25932,4032],{"class":3775},[3765,25934,15815],{"class":3828},[3765,25936,3831],{"class":3775},[3765,25938,10881],{"class":3779},[3765,25940,6811],{"class":3775},[3765,25942,25943,25945,25947,25950,25952,25955,25957,25959,25961,25963],{"class":3767,"line":8055},[3765,25944,4758],{"class":3790},[3765,25946,12660],{"class":3775},[3765,25948,25949],{"class":3828},"submitting",[3765,25951,4032],{"class":3775},[3765,25953,25954],{"class":3828},"setSubmitting",[3765,25956,12666],{"class":3775},[3765,25958,12269],{"class":3779},[3765,25960,3783],{"class":3775},[3765,25962,12704],{"class":3790},[3765,25964,3809],{"class":3775},[3765,25966,25967],{"class":3767,"line":8064},[3765,25968,4363],{"emptyLinePlaceholder":4362},[3765,25970,25971,25973],{"class":3767,"line":8073},[3765,25972,4758],{"class":3790},[3765,25974,4487],{"class":3775},[3765,25976,25977,25980],{"class":3767,"line":8078},[3765,25978,25979],{"class":3828},"    control",[3765,25981,4479],{"class":3775},[3765,25983,25984,25987],{"class":3767,"line":8083},[3765,25985,25986],{"class":3828},"    handleSubmit",[3765,25988,4479],{"class":3775},[3765,25990,25991,25994],{"class":3767,"line":8088},[3765,25992,25993],{"class":3828},"    watch",[3765,25995,4479],{"class":3775},[3765,25997,25998,26001,26003,26006],{"class":3767,"line":8107},[3765,25999,26000],{"class":3771},"    formState",[3765,26002,12495],{"class":3775},[3765,26004,26005],{"class":3828},"errors",[3765,26007,4589],{"class":3775},[3765,26009,26010,26013,26015,26017,26020],{"class":3767,"line":8129},[3765,26011,26012],{"class":3775},"  } = ",[3765,26014,25424],{"class":3779},[3765,26016,4376],{"class":3775},[3765,26018,26019],{"class":3845},"CreateTripFormValues",[3765,26021,26022],{"class":3775},">({\n",[3765,26024,26025,26028,26031,26033,26036],{"class":3767,"line":8137},[3765,26026,26027],{"class":3771},"    resolver:",[3765,26029,26030],{"class":3779}," zodResolver",[3765,26032,3783],{"class":3775},[3765,26034,26035],{"class":3771},"createTripSchema",[3765,26037,22152],{"class":3775},[3765,26039,26040,26043],{"class":3767,"line":8148},[3765,26041,26042],{"class":3771},"    defaultValues:",[3765,26044,4487],{"class":3775},[3765,26046,26047,26050,26052],{"class":3767,"line":8159},[3765,26048,26049],{"class":3771},"      title:",[3765,26051,16690],{"class":3786},[3765,26053,4479],{"class":3775},[3765,26055,26056,26059,26061],{"class":3767,"line":8170},[3765,26057,26058],{"class":3771},"      region:",[3765,26060,23946],{"class":3786},[3765,26062,4479],{"class":3775},[3765,26064,26065,26068,26070],{"class":3767,"line":8181},[3765,26066,26067],{"class":3771},"      description:",[3765,26069,16690],{"class":3786},[3765,26071,4479],{"class":3775},[3765,26073,26074,26077,26079],{"class":3767,"line":8192},[3765,26075,26076],{"class":3771},"      startDate:",[3765,26078,25710],{"class":3779},[3765,26080,22305],{"class":3775},[3765,26082,26083,26086,26088,26090,26093,26096,26098],{"class":3767,"line":8197},[3765,26084,26085],{"class":3771},"      endDate:",[3765,26087,25785],{"class":3779},[3765,26089,3783],{"class":3775},[3765,26091,26092],{"class":3779},"startOfToday",[3765,26094,26095],{"class":3775},"(), ",[3765,26097,18671],{"class":4931},[3765,26099,22152],{"class":3775},[3765,26101,26102,26105,26107],{"class":3767,"line":8205},[3765,26103,26104],{"class":3771},"      isPrivate:",[3765,26106,11128],{"class":3790},[3765,26108,4479],{"class":3775},[3765,26110,26111,26114,26117],{"class":3767,"line":8214},[3765,26112,26113],{"class":3771},"      plannedDays:",[3765,26115,26116],{"class":4931}," 3",[3765,26118,4479],{"class":3775},[3765,26120,26121,26124,26126],{"class":3767,"line":8225},[3765,26122,26123],{"class":3771},"      hasItinerary:",[3765,26125,11128],{"class":3790},[3765,26127,4479],{"class":3775},[3765,26129,26130],{"class":3767,"line":8235},[3765,26131,26132],{"class":4328},"      \u002F\u002F literal true — у default false, щоб користувач свідомо поставив галочку\n",[3765,26134,26135,26138,26140,26142,26145,26147,26149],{"class":3767,"line":8244},[3765,26136,26137],{"class":3771},"      acceptedLocalSave:",[3765,26139,11128],{"class":3790},[3765,26141,5576],{"class":4715},[3765,26143,26144],{"class":3845}," unknown",[3765,26146,5576],{"class":4715},[3765,26148,11208],{"class":3845},[3765,26150,4479],{"class":3775},[3765,26152,26153],{"class":3767,"line":8254},[3765,26154,10551],{"class":3775},[3765,26156,26157,26160,26163],{"class":3767,"line":8264},[3765,26158,26159],{"class":3771},"    mode:",[3765,26161,26162],{"class":3786}," 'onSubmit'",[3765,26164,4479],{"class":3775},[3765,26166,26167,26170,26173],{"class":3767,"line":8269},[3765,26168,26169],{"class":3771},"    reValidateMode:",[3765,26171,26172],{"class":3786}," 'onChange'",[3765,26174,4479],{"class":3775},[3765,26176,26177],{"class":3767,"line":8292},[3765,26178,22508],{"class":3775},[3765,26180,26181],{"class":3767,"line":8300},[3765,26182,4363],{"emptyLinePlaceholder":4362},[3765,26184,26185,26187,26190,26192,26195,26197,26200],{"class":3767,"line":8311},[3765,26186,4758],{"class":3790},[3765,26188,26189],{"class":3828}," startDate",[3765,26191,4908],{"class":3775},[3765,26193,26194],{"class":3779},"watch",[3765,26196,3783],{"class":3775},[3765,26198,26199],{"class":3786},"'startDate'",[3765,26201,3809],{"class":3775},[3765,26203,26204,26206,26209,26211,26213,26215,26218],{"class":3767,"line":8321},[3765,26205,4758],{"class":3790},[3765,26207,26208],{"class":3828}," plannedDays",[3765,26210,4908],{"class":3775},[3765,26212,26194],{"class":3779},[3765,26214,3783],{"class":3775},[3765,26216,26217],{"class":3786},"'plannedDays'",[3765,26219,3809],{"class":3775},[3765,26221,26222],{"class":3767,"line":8331},[3765,26223,4363],{"emptyLinePlaceholder":4362},[3765,26225,26226,26228,26231,26233,26236,26238,26240,26242,26244],{"class":3767,"line":8342},[3765,26227,4758],{"class":3790},[3765,26229,26230],{"class":3779}," onValid",[3765,26232,21952],{"class":3775},[3765,26234,26235],{"class":3771},"values",[3765,26237,3842],{"class":3775},[3765,26239,26019],{"class":3845},[3765,26241,6832],{"class":3775},[3765,26243,5222],{"class":3790},[3765,26245,4487],{"class":3775},[3765,26247,26248,26251,26253,26255],{"class":3767,"line":8353},[3765,26249,26250],{"class":3779},"    setSubmitting",[3765,26252,3783],{"class":3775},[3765,26254,10503],{"class":3790},[3765,26256,3809],{"class":3775},[3765,26258,26259,26261,26263,26265,26267],{"class":3767,"line":8363},[3765,26260,5677],{"class":3790},[3765,26262,4495],{"class":3828},[3765,26264,3842],{"class":3775},[3765,26266,12736],{"class":3845},[3765,26268,6529],{"class":3775},[3765,26270,26271,26274,26277,26279,26281,26283,26286,26288,26290,26292],{"class":3767,"line":8368},[3765,26272,26273],{"class":3771},"      id:",[3765,26275,26276],{"class":3786}," `local-",[3765,26278,3791],{"class":3790},[3765,26280,22668],{"class":3771},[3765,26282,3776],{"class":3797},[3765,26284,26285],{"class":3779},"now",[3765,26287,5233],{"class":3797},[3765,26289,3803],{"class":3790},[3765,26291,3806],{"class":3786},[3765,26293,4479],{"class":3775},[3765,26295,26296,26298,26301,26303,26305],{"class":3767,"line":8397},[3765,26297,26049],{"class":3771},[3765,26299,26300],{"class":3771}," values",[3765,26302,3776],{"class":3775},[3765,26304,5628],{"class":3771},[3765,26306,4479],{"class":3775},[3765,26308,26309,26311,26313,26315,26317],{"class":3767,"line":8432},[3765,26310,26058],{"class":3771},[3765,26312,26300],{"class":3771},[3765,26314,3776],{"class":3775},[3765,26316,16647],{"class":3771},[3765,26318,4479],{"class":3775},[3765,26320,26321,26323,26325,26327,26329],{"class":3767,"line":8452},[3765,26322,26067],{"class":3771},[3765,26324,26300],{"class":3771},[3765,26326,3776],{"class":3775},[3765,26328,9290],{"class":3771},[3765,26330,4479],{"class":3775},[3765,26332,26333,26336,26338,26340,26342,26344,26346,26348,26350,26352,26354],{"class":3767,"line":8460},[3765,26334,26335],{"class":3771},"      dateLabel:",[3765,26337,22752],{"class":3779},[3765,26339,3783],{"class":3775},[3765,26341,26235],{"class":3771},[3765,26343,3776],{"class":3775},[3765,26345,22474],{"class":3771},[3765,26347,4032],{"class":3775},[3765,26349,26235],{"class":3771},[3765,26351,3776],{"class":3775},[3765,26353,22459],{"class":3771},[3765,26355,22152],{"class":3775},[3765,26357,26358,26361,26364,26366,26368,26370,26372,26374,26376,26378,26380,26383],{"class":3767,"line":8470},[3765,26359,26360],{"class":3771},"      coverUri:",[3765,26362,26363],{"class":3786}," `https:\u002F\u002Fpicsum.photos\u002Fseed\u002F",[3765,26365,3791],{"class":3790},[3765,26367,4436],{"class":3779},[3765,26369,3783],{"class":3797},[3765,26371,26235],{"class":3771},[3765,26373,3776],{"class":3797},[3765,26375,5628],{"class":3771},[3765,26377,4679],{"class":3797},[3765,26379,3803],{"class":3790},[3765,26381,26382],{"class":3786},"\u002F800\u002F400`",[3765,26384,4479],{"class":3775},[3765,26386,26387,26389,26391,26393,26395],{"class":3767,"line":8480},[3765,26388,26104],{"class":3771},[3765,26390,26300],{"class":3771},[3765,26392,3776],{"class":3775},[3765,26394,16752],{"class":3771},[3765,26396,4479],{"class":3775},[3765,26398,26399,26401,26403,26405,26407],{"class":3767,"line":8489},[3765,26400,26113],{"class":3771},[3765,26402,26300],{"class":3771},[3765,26404,3776],{"class":3775},[3765,26406,16677],{"class":3771},[3765,26408,4479],{"class":3775},[3765,26410,26411,26413,26415,26417,26419],{"class":3767,"line":8498},[3765,26412,26123],{"class":3771},[3765,26414,26300],{"class":3771},[3765,26416,3776],{"class":3775},[3765,26418,16817],{"class":3771},[3765,26420,4479],{"class":3775},[3765,26422,26423],{"class":3767,"line":8507},[3765,26424,26425],{"class":3775},"    };\n",[3765,26427,26428,26431,26433,26435],{"class":3767,"line":8518},[3765,26429,26430],{"class":3779},"    onSubmitSuccess",[3765,26432,3783],{"class":3775},[3765,26434,3794],{"class":3771},[3765,26436,3809],{"class":3775},[3765,26438,26439,26441,26443,26445],{"class":3767,"line":8523},[3765,26440,26250],{"class":3779},[3765,26442,3783],{"class":3775},[3765,26444,12704],{"class":3790},[3765,26446,3809],{"class":3775},[3765,26448,26449],{"class":3767,"line":8543},[3765,26450,5773],{"class":3775},[3765,26452,26453],{"class":3767,"line":8564},[3765,26454,4363],{"emptyLinePlaceholder":4362},[3765,26456,26457,26459],{"class":3767,"line":8585},[3765,26458,5082],{"class":4715},[3765,26460,5085],{"class":3775},[3765,26462,26463,26465],{"class":3767,"line":13544},[3765,26464,5090],{"class":4375},[3765,26466,26467],{"class":3845},"KeyboardAvoidingView\n",[3765,26469,26470,26472,26474,26476,26478,26480,26483],{"class":3767,"line":13558},[3765,26471,13490],{"class":4381},[3765,26473,4385],{"class":3775},[3765,26475,4388],{"class":3790},[3765,26477,5103],{"class":3771},[3765,26479,3776],{"class":3797},[3765,26481,26482],{"class":3771},"flex",[3765,26484,4598],{"class":3790},[3765,26486,26487,26490,26492,26494,26496,26498,26501,26503,26506,26508,26511,26513,26516],{"class":3767,"line":13563},[3765,26488,26489],{"class":4381},"      behavior",[3765,26491,4385],{"class":3775},[3765,26493,4388],{"class":3790},[3765,26495,18013],{"class":3771},[3765,26497,3776],{"class":3797},[3765,26499,26500],{"class":3828},"OS",[3765,26502,11017],{"class":3775},[3765,26504,26505],{"class":3786}," 'ios'",[3765,26507,11023],{"class":3775},[3765,26509,26510],{"class":3786}," 'padding'",[3765,26512,11029],{"class":3775},[3765,26514,26515],{"class":3786}," 'height'",[3765,26517,4598],{"class":3790},[3765,26519,26520,26523,26525,26527,26529,26531,26533,26535,26537,26539,26541,26543,26545],{"class":3767,"line":13571},[3765,26521,26522],{"class":4381},"      keyboardVerticalOffset",[3765,26524,4385],{"class":3775},[3765,26526,4388],{"class":3790},[3765,26528,18013],{"class":3771},[3765,26530,3776],{"class":3797},[3765,26532,26500],{"class":3828},[3765,26534,11017],{"class":3775},[3765,26536,26505],{"class":3786},[3765,26538,11023],{"class":3775},[3765,26540,8154],{"class":4931},[3765,26542,11029],{"class":3775},[3765,26544,13149],{"class":4931},[3765,26546,4598],{"class":3790},[3765,26548,26549],{"class":3767,"line":13576},[3765,26550,11595],{"class":4375},[3765,26552,26553,26555],{"class":3767,"line":13606},[3765,26554,5117],{"class":4375},[3765,26556,16391],{"class":3845},[3765,26558,26559,26561,26563,26565,26567,26569,26571],{"class":3767,"line":13612},[3765,26560,7972],{"class":4381},[3765,26562,4385],{"class":3775},[3765,26564,4388],{"class":3790},[3765,26566,5103],{"class":3771},[3765,26568,3776],{"class":3797},[3765,26570,26482],{"class":3771},[3765,26572,4598],{"class":3790},[3765,26574,26575,26577,26579,26581],{"class":3767,"line":13621},[3765,26576,7547],{"class":4381},[3765,26578,4385],{"class":3775},[3765,26580,4388],{"class":3790},[3765,26582,13497],{"class":3797},[3765,26584,26585,26587,26589,26592],{"class":3767,"line":13629},[3765,26586,13767],{"class":3771},[3765,26588,3776],{"class":3797},[3765,26590,26591],{"class":3771},"content",[3765,26593,4479],{"class":3797},[3765,26595,26596,26599,26601,26603,26605,26607,26609,26611,26613,26615,26617,26619,26621,26623,26625,26627],{"class":3767,"line":13640},[3765,26597,26598],{"class":3797},"          { ",[3765,26600,8277],{"class":3771},[3765,26602,13109],{"class":3771},[3765,26604,3776],{"class":3797},[3765,26606,13114],{"class":3771},[3765,26608,4032],{"class":3797},[3765,26610,9540],{"class":3771},[3765,26612,13109],{"class":3771},[3765,26614,3776],{"class":3797},[3765,26616,13114],{"class":3771},[3765,26618,4032],{"class":3797},[3765,26620,8284],{"class":3771},[3765,26622,13109],{"class":3771},[3765,26624,3776],{"class":3797},[3765,26626,13539],{"class":3771},[3765,26628,4589],{"class":3797},[3765,26630,26631,26633],{"class":3767,"line":13658},[3765,26632,13863],{"class":3797},[3765,26634,4598],{"class":3790},[3765,26636,26637,26640,26642],{"class":3767,"line":13676},[3765,26638,26639],{"class":4381},"        keyboardShouldPersistTaps",[3765,26641,4385],{"class":3775},[3765,26643,26644],{"class":3786},"\"handled\"\n",[3765,26646,26647,26650,26652],{"class":3767,"line":13681},[3765,26648,26649],{"class":4381},"        keyboardDismissMode",[3765,26651,4385],{"class":3775},[3765,26653,26654],{"class":3786},"\"on-drag\"\n",[3765,26656,26657,26659,26661],{"class":3767,"line":13687},[3765,26658,16425],{"class":4381},[3765,26660,4385],{"class":3775},[3765,26662,13331],{"class":3790},[3765,26664,26665],{"class":3767,"line":13696},[3765,26666,7037],{"class":4375},[3765,26668,26669,26671,26673,26675,26677,26679,26681,26683,26685,26687,26689,26691,26693],{"class":3767,"line":13705},[3765,26670,7042],{"class":4375},[3765,26672,5120],{"class":3845},[3765,26674,5123],{"class":4381},[3765,26676,4385],{"class":3775},[3765,26678,5152],{"class":3786},[3765,26680,5155],{"class":4381},[3765,26682,4385],{"class":3775},[3765,26684,4388],{"class":3790},[3765,26686,5162],{"class":3771},[3765,26688,3776],{"class":3797},[3765,26690,5167],{"class":3771},[3765,26692,3803],{"class":3790},[3765,26694,4419],{"class":4375},[3765,26696,26697],{"class":3767,"line":13710},[3765,26698,26699],{"class":3775},"          Заповніть поля. Помилки з’являться після натискання «Створити», якщо\n",[3765,26701,26702],{"class":3767,"line":13715},[3765,26703,26704],{"class":3775},"          щось не так. Тут зібрані різні типи контролів: текст, список, дати,\n",[3765,26706,26707],{"class":3767,"line":13722},[3765,26708,26709],{"class":3775},"          перемикач, галочка, повзунок.\n",[3765,26711,26712,26714,26716],{"class":3767,"line":13746},[3765,26713,9099],{"class":4375},[3765,26715,5120],{"class":3845},[3765,26717,4419],{"class":4375},[3765,26719,26720],{"class":3767,"line":13753},[3765,26721,4363],{"emptyLinePlaceholder":4362},[3765,26723,26724,26726,26729],{"class":3767,"line":13764},[3765,26725,17702],{"class":3790},[3765,26727,26728],{"class":4328},"\u002F* ——— TextInput ——— *\u002F",[3765,26730,4598],{"class":3790},[3765,26732,26733,26735],{"class":3767,"line":13777},[3765,26734,7042],{"class":4375},[3765,26736,26737],{"class":3845},"Controller\n",[3765,26739,26740,26743,26745,26747,26750],{"class":3767,"line":13783},[3765,26741,26742],{"class":4381},"          control",[3765,26744,4385],{"class":3775},[3765,26746,4388],{"class":3790},[3765,26748,26749],{"class":3771},"control",[3765,26751,4598],{"class":3790},[3765,26753,26754,26756,26758],{"class":3767,"line":13797},[3765,26755,11184],{"class":4381},[3765,26757,4385],{"class":3775},[3765,26759,26760],{"class":3786},"\"title\"\n",[3765,26762,26763,26766,26768,26770,26772,26774,26776,26779,26781,26784,26786,26788,26791,26793],{"class":3767,"line":13811},[3765,26764,26765],{"class":4381},"          render",[3765,26767,4385],{"class":3775},[3765,26769,4388],{"class":3790},[3765,26771,5621],{"class":3797},[3765,26773,5501],{"class":3771},[3765,26775,12495],{"class":3797},[3765,26777,26778],{"class":3771},"onChange",[3765,26780,4032],{"class":3797},[3765,26782,26783],{"class":3771},"onBlur",[3765,26785,4032],{"class":3797},[3765,26787,23717],{"class":3771},[3765,26789,26790],{"class":3797}," } }) ",[3765,26792,5222],{"class":3790},[3765,26794,5085],{"class":3797},[3765,26796,26797,26799],{"class":3767,"line":13825},[3765,26798,7648],{"class":4375},[3765,26800,26801],{"class":3845},"TextField\n",[3765,26803,26804,26806,26808],{"class":3767,"line":13840},[3765,26805,17325],{"class":4381},[3765,26807,4385],{"class":3775},[3765,26809,26810],{"class":3786},"\"Назва поїздки\"\n",[3765,26812,26813,26816,26818],{"class":3767,"line":13854},[3765,26814,26815],{"class":4381},"              placeholder",[3765,26817,4385],{"class":3775},[3765,26819,26820],{"class":3786},"\"Наприклад, Карпати на вихідні\"\n",[3765,26822,26823,26826,26828,26830,26832],{"class":3767,"line":13860},[3765,26824,26825],{"class":4381},"              value",[3765,26827,4385],{"class":3775},[3765,26829,4388],{"class":3790},[3765,26831,23717],{"class":3771},[3765,26833,4598],{"class":3790},[3765,26835,26836,26839,26841,26843,26845],{"class":3767,"line":13868},[3765,26837,26838],{"class":4381},"              onChangeText",[3765,26840,4385],{"class":3775},[3765,26842,4388],{"class":3790},[3765,26844,26778],{"class":3771},[3765,26846,4598],{"class":3790},[3765,26848,26849,26852,26854,26856,26858],{"class":3767,"line":13873},[3765,26850,26851],{"class":4381},"              onBlur",[3765,26853,4385],{"class":3775},[3765,26855,4388],{"class":3790},[3765,26857,26783],{"class":3771},[3765,26859,4598],{"class":3790},[3765,26861,26862,26865,26867,26869,26871,26873,26875,26878,26881],{"class":3767,"line":13898},[3765,26863,26864],{"class":4381},"              error",[3765,26866,4385],{"class":3775},[3765,26868,4388],{"class":3790},[3765,26870,26005],{"class":3771},[3765,26872,3776],{"class":3797},[3765,26874,5628],{"class":3771},[3765,26876,26877],{"class":3797},"?.",[3765,26879,26880],{"class":3771},"message",[3765,26882,4598],{"class":3790},[3765,26884,26885,26888,26890],{"class":3767,"line":13933},[3765,26886,26887],{"class":4381},"              autoCapitalize",[3765,26889,4385],{"class":3775},[3765,26891,26892],{"class":3786},"\"sentences\"\n",[3765,26894,26895,26898,26900],{"class":3767,"line":13959},[3765,26896,26897],{"class":4381},"              returnKeyType",[3765,26899,4385],{"class":3775},[3765,26901,26902],{"class":3786},"\"next\"\n",[3765,26904,26905,26908,26910,26912,26914],{"class":3767,"line":13968},[3765,26906,26907],{"class":4381},"              maxLength",[3765,26909,4385],{"class":3775},[3765,26911,4388],{"class":3790},[3765,26913,22144],{"class":4931},[3765,26915,4598],{"class":3790},[3765,26917,26918],{"class":3767,"line":13975},[3765,26919,11913],{"class":4375},[3765,26921,26922,26924],{"class":3767,"line":13985},[3765,26923,17122],{"class":3797},[3765,26925,4598],{"class":3790},[3765,26927,26928],{"class":3767,"line":13997},[3765,26929,11252],{"class":4375},[3765,26931,26932],{"class":3767,"line":14011},[3765,26933,4363],{"emptyLinePlaceholder":4362},[3765,26935,26936,26938,26941],{"class":3767,"line":14025},[3765,26937,17702],{"class":3790},[3765,26939,26940],{"class":4328},"\u002F* ——— Picker ——— *\u002F",[3765,26942,4598],{"class":3790},[3765,26944,26945,26947],{"class":3767,"line":14035},[3765,26946,7042],{"class":4375},[3765,26948,26737],{"class":3845},[3765,26950,26951,26953,26955,26957,26959],{"class":3767,"line":14042},[3765,26952,26742],{"class":4381},[3765,26954,4385],{"class":3775},[3765,26956,4388],{"class":3790},[3765,26958,26749],{"class":3771},[3765,26960,4598],{"class":3790},[3765,26962,26963,26965,26967],{"class":3767,"line":14048},[3765,26964,11184],{"class":4381},[3765,26966,4385],{"class":3775},[3765,26968,26969],{"class":3786},"\"region\"\n",[3765,26971,26972,26974,26976,26978,26980,26982,26984,26986,26988,26990,26992,26994],{"class":3767,"line":14065},[3765,26973,26765],{"class":4381},[3765,26975,4385],{"class":3775},[3765,26977,4388],{"class":3790},[3765,26979,5621],{"class":3797},[3765,26981,5501],{"class":3771},[3765,26983,12495],{"class":3797},[3765,26985,26778],{"class":3771},[3765,26987,4032],{"class":3797},[3765,26989,23717],{"class":3771},[3765,26991,26790],{"class":3797},[3765,26993,5222],{"class":3790},[3765,26995,5085],{"class":3797},[3765,26997,26998,27000],{"class":3767,"line":14100},[3765,26999,7648],{"class":4375},[3765,27001,27002],{"class":3845},"FormRow\n",[3765,27004,27005,27007,27009],{"class":3767,"line":14111},[3765,27006,17325],{"class":4381},[3765,27008,4385],{"class":3775},[3765,27010,27011],{"class":3786},"\"Регіон\"\n",[3765,27013,27014,27017,27019],{"class":3767,"line":14120},[3765,27015,27016],{"class":4381},"              description",[3765,27018,4385],{"class":3775},[3765,27020,27021],{"class":3786},"\"Оберіть зі списку (Picker), а не вводьте вручну\"\n",[3765,27023,27024,27026,27028,27030,27032,27034,27036,27038,27040],{"class":3767,"line":14125},[3765,27025,26864],{"class":4381},[3765,27027,4385],{"class":3775},[3765,27029,4388],{"class":3790},[3765,27031,26005],{"class":3771},[3765,27033,3776],{"class":3797},[3765,27035,16647],{"class":3771},[3765,27037,26877],{"class":3797},[3765,27039,26880],{"class":3771},[3765,27041,4598],{"class":3790},[3765,27043,27044],{"class":3767,"line":14175},[3765,27045,27046],{"class":4381},"              stacked\n",[3765,27048,27049,27052,27054],{"class":3767,"line":14198},[3765,27050,27051],{"class":4381},"              control",[3765,27053,4385],{"class":3775},[3765,27055,4559],{"class":3790},[3765,27057,27058,27060],{"class":3767,"line":14224},[3765,27059,7692],{"class":4375},[3765,27061,13485],{"class":3845},[3765,27063,27064,27066,27068,27070],{"class":3767,"line":14232},[3765,27065,14489],{"class":4381},[3765,27067,4385],{"class":3775},[3765,27069,4388],{"class":3790},[3765,27071,13497],{"class":3797},[3765,27073,27074,27076,27078,27081],{"class":3767,"line":14239},[3765,27075,19933],{"class":3771},[3765,27077,3776],{"class":3797},[3765,27079,27080],{"class":3771},"pickerWrap",[3765,27082,4479],{"class":3797},[3765,27084,27085],{"class":3767,"line":14257},[3765,27086,19944],{"class":3797},[3765,27088,27089,27091,27094,27096],{"class":3767,"line":14286},[3765,27090,19974],{"class":3771},[3765,27092,27093],{"class":3771}," errors",[3765,27095,3776],{"class":3797},[3765,27097,27098],{"class":3771},"region\n",[3765,27100,27101,27104,27106,27108],{"class":3767,"line":14298},[3765,27102,27103],{"class":3775},"                        ?",[3765,27105,11062],{"class":3771},[3765,27107,3776],{"class":3797},[3765,27109,27110],{"class":3771},"danger\n",[3765,27112,27113,27116,27118,27120,27122],{"class":3767,"line":14311},[3765,27114,27115],{"class":3775},"                        :",[3765,27117,11062],{"class":3771},[3765,27119,3776],{"class":3797},[3765,27121,11547],{"class":3771},[3765,27123,4479],{"class":3797},[3765,27125,27126,27128,27130,27132,27134],{"class":3767,"line":14317},[3765,27127,19949],{"class":3771},[3765,27129,11062],{"class":3771},[3765,27131,3776],{"class":3797},[3765,27133,14339],{"class":3771},[3765,27135,4479],{"class":3797},[3765,27137,27138,27141,27143,27145,27147],{"class":3767,"line":14344},[3765,27139,27140],{"class":3771},"                      borderRadius:",[3765,27142,17595],{"class":3771},[3765,27144,3776],{"class":3797},[3765,27146,13114],{"class":3771},[3765,27148,4479],{"class":3797},[3765,27150,27151],{"class":3767,"line":14358},[3765,27152,19987],{"class":3797},[3765,27154,27155,27157],{"class":3767,"line":14364},[3765,27156,19992],{"class":3797},[3765,27158,4598],{"class":3790},[3765,27160,27161],{"class":3767,"line":14372},[3765,27162,14508],{"class":4375},[3765,27164,27165,27167],{"class":3767,"line":14383},[3765,27166,20056],{"class":4375},[3765,27168,27169],{"class":3845},"Picker\n",[3765,27171,27172,27175,27177,27179,27181],{"class":3767,"line":14404},[3765,27173,27174],{"class":4381},"                    selectedValue",[3765,27176,4385],{"class":3775},[3765,27178,4388],{"class":3790},[3765,27180,23717],{"class":3771},[3765,27182,4598],{"class":3790},[3765,27184,27185,27188,27190,27192,27194],{"class":3767,"line":14431},[3765,27186,27187],{"class":4381},"                    onValueChange",[3765,27189,4385],{"class":3775},[3765,27191,4388],{"class":3790},[3765,27193,26778],{"class":3771},[3765,27195,4598],{"class":3790},[3765,27197,27198,27201,27203,27205,27207,27209,27211],{"class":3767,"line":14437},[3765,27199,27200],{"class":4381},"                    dropdownIconColor",[3765,27202,4385],{"class":3775},[3765,27204,4388],{"class":3790},[3765,27206,5162],{"class":3771},[3765,27208,3776],{"class":3797},[3765,27210,4045],{"class":3771},[3765,27212,4598],{"class":3790},[3765,27214,27215,27217,27219,27221,27223,27225,27227,27229,27231,27233],{"class":3767,"line":14444},[3765,27216,20101],{"class":4381},[3765,27218,4385],{"class":3775},[3765,27220,4388],{"class":3790},[3765,27222,7063],{"class":3797},[3765,27224,6999],{"class":3771},[3765,27226,11062],{"class":3771},[3765,27228,3776],{"class":3797},[3765,27230,4045],{"class":3771},[3765,27232,7072],{"class":3797},[3765,27234,4598],{"class":3790},[3765,27236,27237],{"class":3767,"line":14454},[3765,27238,20118],{"class":4375},[3765,27240,27241,27243,27245,27247,27249,27251,27253,27255,27257],{"class":3767,"line":14486},[3765,27242,20123],{"class":3790},[3765,27244,21483],{"class":3828},[3765,27246,3776],{"class":3797},[3765,27248,14185],{"class":3779},[3765,27250,6826],{"class":3797},[3765,27252,16647],{"class":3771},[3765,27254,6832],{"class":3797},[3765,27256,5222],{"class":3790},[3765,27258,5085],{"class":3797},[3765,27260,27261,27264],{"class":3767,"line":14505},[3765,27262,27263],{"class":4375},"                      \u003C",[3765,27265,27266],{"class":3845},"Picker.Item\n",[3765,27268,27269,27272,27274,27276,27278],{"class":3767,"line":14511},[3765,27270,27271],{"class":4381},"                        key",[3765,27273,4385],{"class":3775},[3765,27275,4388],{"class":3790},[3765,27277,16647],{"class":3771},[3765,27279,4598],{"class":3790},[3765,27281,27282,27285,27287,27289,27291],{"class":3767,"line":14525},[3765,27283,27284],{"class":4381},"                        label",[3765,27286,4385],{"class":3775},[3765,27288,4388],{"class":3790},[3765,27290,16647],{"class":3771},[3765,27292,4598],{"class":3790},[3765,27294,27295,27298,27300,27302,27304],{"class":3767,"line":14535},[3765,27296,27297],{"class":4381},"                        value",[3765,27299,4385],{"class":3775},[3765,27301,4388],{"class":3790},[3765,27303,16647],{"class":3771},[3765,27305,4598],{"class":3790},[3765,27307,27308,27311,27313,27315,27317,27319,27321],{"class":3767,"line":14544},[3765,27309,27310],{"class":4381},"                        color",[3765,27312,4385],{"class":3775},[3765,27314,4388],{"class":3790},[3765,27316,5162],{"class":3771},[3765,27318,3776],{"class":3797},[3765,27320,4045],{"class":3771},[3765,27322,4598],{"class":3790},[3765,27324,27325],{"class":3767,"line":14550},[3765,27326,27327],{"class":4375},"                      \u002F>\n",[3765,27329,27330,27333],{"class":3767,"line":14558},[3765,27331,27332],{"class":3797},"                    ))",[3765,27334,4598],{"class":3790},[3765,27336,27337,27339,27341],{"class":3767,"line":14567},[3765,27338,20136],{"class":4375},[3765,27340,25460],{"class":3845},[3765,27342,4419],{"class":4375},[3765,27344,27345,27347,27349],{"class":3767,"line":14576},[3765,27346,14528],{"class":4375},[3765,27348,5093],{"class":3845},[3765,27350,4419],{"class":4375},[3765,27352,27353],{"class":3767,"line":14581},[3765,27354,27355],{"class":3790},"              }\n",[3765,27357,27358],{"class":3767,"line":14605},[3765,27359,11913],{"class":4375},[3765,27361,27362,27364],{"class":3767,"line":14613},[3765,27363,17122],{"class":3797},[3765,27365,4598],{"class":3790},[3765,27367,27368],{"class":3767,"line":14627},[3765,27369,11252],{"class":4375},[3765,27371,27372],{"class":3767,"line":14642},[3765,27373,4363],{"emptyLinePlaceholder":4362},[3765,27375,27376,27378,27381],{"class":3767,"line":14657},[3765,27377,17702],{"class":3790},[3765,27379,27380],{"class":4328},"\u002F* ——— DateTimePicker через DateField ——— *\u002F",[3765,27382,4598],{"class":3790},[3765,27384,27385,27387],{"class":3767,"line":14672},[3765,27386,7042],{"class":4375},[3765,27388,26737],{"class":3845},[3765,27390,27391,27393,27395,27397,27399],{"class":3767,"line":14687},[3765,27392,26742],{"class":4381},[3765,27394,4385],{"class":3775},[3765,27396,4388],{"class":3790},[3765,27398,26749],{"class":3771},[3765,27400,4598],{"class":3790},[3765,27402,27403,27405,27407],{"class":3767,"line":14699},[3765,27404,11184],{"class":4381},[3765,27406,4385],{"class":3775},[3765,27408,27409],{"class":3786},"\"startDate\"\n",[3765,27411,27412,27414,27416,27418,27420,27422,27424,27426,27428,27430,27432,27434,27436,27438],{"class":3767,"line":14712},[3765,27413,26765],{"class":4381},[3765,27415,4385],{"class":3775},[3765,27417,4388],{"class":3790},[3765,27419,5621],{"class":3797},[3765,27421,5501],{"class":3771},[3765,27423,12495],{"class":3797},[3765,27425,26778],{"class":3771},[3765,27427,4032],{"class":3797},[3765,27429,26783],{"class":3771},[3765,27431,4032],{"class":3797},[3765,27433,23717],{"class":3771},[3765,27435,26790],{"class":3797},[3765,27437,5222],{"class":3790},[3765,27439,5085],{"class":3797},[3765,27441,27442,27444],{"class":3767,"line":14725},[3765,27443,7648],{"class":4375},[3765,27445,27446],{"class":3845},"DateField\n",[3765,27448,27449,27451,27453],{"class":3767,"line":14738},[3765,27450,17325],{"class":4381},[3765,27452,4385],{"class":3775},[3765,27454,27455],{"class":3786},"\"Дата початку\"\n",[3765,27457,27458,27460,27462,27464,27466],{"class":3767,"line":14745},[3765,27459,26825],{"class":4381},[3765,27461,4385],{"class":3775},[3765,27463,4388],{"class":3790},[3765,27465,23717],{"class":3771},[3765,27467,4598],{"class":3790},[3765,27469,27470,27473,27475,27477,27479],{"class":3767,"line":14787},[3765,27471,27472],{"class":4381},"              onChange",[3765,27474,4385],{"class":3775},[3765,27476,4388],{"class":3790},[3765,27478,26778],{"class":3771},[3765,27480,4598],{"class":3790},[3765,27482,27483,27485,27487,27489,27491],{"class":3767,"line":14797},[3765,27484,26851],{"class":4381},[3765,27486,4385],{"class":3775},[3765,27488,4388],{"class":3790},[3765,27490,26783],{"class":3771},[3765,27492,4598],{"class":3790},[3765,27494,27495,27497,27499,27501,27503,27505,27507,27509,27511],{"class":3767,"line":14805},[3765,27496,26864],{"class":4381},[3765,27498,4385],{"class":3775},[3765,27500,4388],{"class":3790},[3765,27502,26005],{"class":3771},[3765,27504,3776],{"class":3797},[3765,27506,22474],{"class":3771},[3765,27508,26877],{"class":3797},[3765,27510,26880],{"class":3771},[3765,27512,4598],{"class":3790},[3765,27514,27515],{"class":3767,"line":14819},[3765,27516,11913],{"class":4375},[3765,27518,27519,27521],{"class":3767,"line":14834},[3765,27520,17122],{"class":3797},[3765,27522,4598],{"class":3790},[3765,27524,27525],{"class":3767,"line":14852},[3765,27526,11252],{"class":4375},[3765,27528,27529],{"class":3767,"line":14874},[3765,27530,4363],{"emptyLinePlaceholder":4362},[3765,27532,27533,27535],{"class":3767,"line":14879},[3765,27534,7042],{"class":4375},[3765,27536,26737],{"class":3845},[3765,27538,27539,27541,27543,27545,27547],{"class":3767,"line":14885},[3765,27540,26742],{"class":4381},[3765,27542,4385],{"class":3775},[3765,27544,4388],{"class":3790},[3765,27546,26749],{"class":3771},[3765,27548,4598],{"class":3790},[3765,27550,27551,27553,27555],{"class":3767,"line":14895},[3765,27552,11184],{"class":4381},[3765,27554,4385],{"class":3775},[3765,27556,27557],{"class":3786},"\"endDate\"\n",[3765,27559,27560,27562,27564,27566,27568,27570,27572,27574,27576,27578,27580,27582,27584,27586],{"class":3767,"line":14900},[3765,27561,26765],{"class":4381},[3765,27563,4385],{"class":3775},[3765,27565,4388],{"class":3790},[3765,27567,5621],{"class":3797},[3765,27569,5501],{"class":3771},[3765,27571,12495],{"class":3797},[3765,27573,26778],{"class":3771},[3765,27575,4032],{"class":3797},[3765,27577,26783],{"class":3771},[3765,27579,4032],{"class":3797},[3765,27581,23717],{"class":3771},[3765,27583,26790],{"class":3797},[3765,27585,5222],{"class":3790},[3765,27587,5085],{"class":3797},[3765,27589,27590,27592],{"class":3767,"line":14909},[3765,27591,7648],{"class":4375},[3765,27593,27446],{"class":3845},[3765,27595,27596,27598,27600],{"class":3767,"line":14914},[3765,27597,17325],{"class":4381},[3765,27599,4385],{"class":3775},[3765,27601,27602],{"class":3786},"\"Дата завершення\"\n",[3765,27604,27605,27607,27609,27611,27613],{"class":3767,"line":14921},[3765,27606,26825],{"class":4381},[3765,27608,4385],{"class":3775},[3765,27610,4388],{"class":3790},[3765,27612,23717],{"class":3771},[3765,27614,4598],{"class":3790},[3765,27616,27617,27619,27621,27623,27625],{"class":3767,"line":14932},[3765,27618,27472],{"class":4381},[3765,27620,4385],{"class":3775},[3765,27622,4388],{"class":3790},[3765,27624,26778],{"class":3771},[3765,27626,4598],{"class":3790},[3765,27628,27629,27631,27633,27635,27637],{"class":3767,"line":14944},[3765,27630,26851],{"class":4381},[3765,27632,4385],{"class":3775},[3765,27634,4388],{"class":3790},[3765,27636,26783],{"class":3771},[3765,27638,4598],{"class":3790},[3765,27640,27641,27643,27645,27647,27649,27651,27653,27655,27657],{"class":3767,"line":14949},[3765,27642,26864],{"class":4381},[3765,27644,4385],{"class":3775},[3765,27646,4388],{"class":3790},[3765,27648,26005],{"class":3771},[3765,27650,3776],{"class":3797},[3765,27652,22459],{"class":3771},[3765,27654,26877],{"class":3797},[3765,27656,26880],{"class":3771},[3765,27658,4598],{"class":3790},[3765,27660,27661,27664,27666,27668,27670],{"class":3767,"line":14962},[3765,27662,27663],{"class":4381},"              minimumDate",[3765,27665,4385],{"class":3775},[3765,27667,4388],{"class":3790},[3765,27669,22474],{"class":3771},[3765,27671,4598],{"class":3790},[3765,27673,27674],{"class":3767,"line":14975},[3765,27675,11913],{"class":4375},[3765,27677,27678,27680],{"class":3767,"line":14988},[3765,27679,17122],{"class":3797},[3765,27681,4598],{"class":3790},[3765,27683,27684],{"class":3767,"line":15002},[3765,27685,11252],{"class":4375},[3765,27687,27688],{"class":3767,"line":15016},[3765,27689,4363],{"emptyLinePlaceholder":4362},[3765,27691,27692,27694,27697],{"class":3767,"line":15021},[3765,27693,17702],{"class":3790},[3765,27695,27696],{"class":4328},"\u002F* ——— TextInput multiline ——— *\u002F",[3765,27698,4598],{"class":3790},[3765,27700,27701,27703],{"class":3767,"line":15028},[3765,27702,7042],{"class":4375},[3765,27704,26737],{"class":3845},[3765,27706,27707,27709,27711,27713,27715],{"class":3767,"line":15033},[3765,27708,26742],{"class":4381},[3765,27710,4385],{"class":3775},[3765,27712,4388],{"class":3790},[3765,27714,26749],{"class":3771},[3765,27716,4598],{"class":3790},[3765,27718,27719,27721,27723],{"class":3767,"line":15041},[3765,27720,11184],{"class":4381},[3765,27722,4385],{"class":3775},[3765,27724,27725],{"class":3786},"\"description\"\n",[3765,27727,27728,27730,27732,27734,27736,27738,27740,27742,27744,27746,27748,27750,27752,27754],{"class":3767,"line":15052},[3765,27729,26765],{"class":4381},[3765,27731,4385],{"class":3775},[3765,27733,4388],{"class":3790},[3765,27735,5621],{"class":3797},[3765,27737,5501],{"class":3771},[3765,27739,12495],{"class":3797},[3765,27741,26778],{"class":3771},[3765,27743,4032],{"class":3797},[3765,27745,26783],{"class":3771},[3765,27747,4032],{"class":3797},[3765,27749,23717],{"class":3771},[3765,27751,26790],{"class":3797},[3765,27753,5222],{"class":3790},[3765,27755,5085],{"class":3797},[3765,27757,27758,27760],{"class":3767,"line":15068},[3765,27759,7648],{"class":4375},[3765,27761,26801],{"class":3845},[3765,27763,27764,27766,27768],{"class":3767,"line":15085},[3765,27765,17325],{"class":4381},[3765,27767,4385],{"class":3775},[3765,27769,27770],{"class":3786},"\"Опис\"\n",[3765,27772,27773,27775,27777],{"class":3767,"line":15092},[3765,27774,26815],{"class":4381},[3765,27776,4385],{"class":3775},[3765,27778,27779],{"class":3786},"\"Коротко: що плануєте побачити, з ким їдете…\"\n",[3765,27781,27782,27784,27786,27788,27790],{"class":3767,"line":15097},[3765,27783,26825],{"class":4381},[3765,27785,4385],{"class":3775},[3765,27787,4388],{"class":3790},[3765,27789,23717],{"class":3771},[3765,27791,4598],{"class":3790},[3765,27793,27794,27796,27798,27800,27802],{"class":3767,"line":15106},[3765,27795,26838],{"class":4381},[3765,27797,4385],{"class":3775},[3765,27799,4388],{"class":3790},[3765,27801,26778],{"class":3771},[3765,27803,4598],{"class":3790},[3765,27805,27806,27808,27810,27812,27814],{"class":3767,"line":15115},[3765,27807,26851],{"class":4381},[3765,27809,4385],{"class":3775},[3765,27811,4388],{"class":3790},[3765,27813,26783],{"class":3771},[3765,27815,4598],{"class":3790},[3765,27817,27818,27820,27822,27824,27826,27828,27830,27832,27834],{"class":3767,"line":15120},[3765,27819,26864],{"class":4381},[3765,27821,4385],{"class":3775},[3765,27823,4388],{"class":3790},[3765,27825,26005],{"class":3771},[3765,27827,3776],{"class":3797},[3765,27829,9290],{"class":3771},[3765,27831,26877],{"class":3797},[3765,27833,26880],{"class":3771},[3765,27835,4598],{"class":3790},[3765,27837,27838],{"class":3767,"line":15125},[3765,27839,27840],{"class":4381},"              multiline\n",[3765,27842,27843,27846,27848,27850,27853],{"class":3767,"line":15130},[3765,27844,27845],{"class":4381},"              numberOfLines",[3765,27847,4385],{"class":3775},[3765,27849,4388],{"class":3790},[3765,27851,27852],{"class":4931},"4",[3765,27854,4598],{"class":3790},[3765,27856,27857,27860,27862],{"class":3767,"line":15147},[3765,27858,27859],{"class":4381},"              textAlignVertical",[3765,27861,4385],{"class":3775},[3765,27863,27864],{"class":3786},"\"top\"\n",[3765,27866,27867,27869,27871,27873,27875,27877,27880],{"class":3767,"line":15155},[3765,27868,7841],{"class":4381},[3765,27870,4385],{"class":3775},[3765,27872,4388],{"class":3790},[3765,27874,5103],{"class":3771},[3765,27876,3776],{"class":3797},[3765,27878,27879],{"class":3771},"multiline",[3765,27881,4598],{"class":3790},[3765,27883,27884,27886,27888,27890,27892],{"class":3767,"line":15164},[3765,27885,26907],{"class":4381},[3765,27887,4385],{"class":3775},[3765,27889,4388],{"class":3790},[3765,27891,22237],{"class":4931},[3765,27893,4598],{"class":3790},[3765,27895,27896,27899,27901],{"class":3767,"line":15169},[3765,27897,27898],{"class":4381},"              hint",[3765,27900,4385],{"class":3775},[3765,27902,27903],{"class":3786},"\"Мінімум 10 символів\"\n",[3765,27905,27906],{"class":3767,"line":15177},[3765,27907,11913],{"class":4375},[3765,27909,27910,27912],{"class":3767,"line":15187},[3765,27911,17122],{"class":3797},[3765,27913,4598],{"class":3790},[3765,27915,27916],{"class":3767,"line":15192},[3765,27917,11252],{"class":4375},[3765,27919,27920],{"class":3767,"line":15200},[3765,27921,4363],{"emptyLinePlaceholder":4362},[3765,27923,27924,27926,27929],{"class":3767,"line":15211},[3765,27925,17702],{"class":3790},[3765,27927,27928],{"class":4328},"\u002F* ——— Slider ——— *\u002F",[3765,27930,4598],{"class":3790},[3765,27932,27933,27935],{"class":3767,"line":15222},[3765,27934,7042],{"class":4375},[3765,27936,26737],{"class":3845},[3765,27938,27939,27941,27943,27945,27947],{"class":3767,"line":15227},[3765,27940,26742],{"class":4381},[3765,27942,4385],{"class":3775},[3765,27944,4388],{"class":3790},[3765,27946,26749],{"class":3771},[3765,27948,4598],{"class":3790},[3765,27950,27951,27953,27955],{"class":3767,"line":15235},[3765,27952,11184],{"class":4381},[3765,27954,4385],{"class":3775},[3765,27956,27957],{"class":3786},"\"plannedDays\"\n",[3765,27959,27960,27962,27964,27966,27968,27970,27972,27974,27976,27978,27980,27982],{"class":3767,"line":15244},[3765,27961,26765],{"class":4381},[3765,27963,4385],{"class":3775},[3765,27965,4388],{"class":3790},[3765,27967,5621],{"class":3797},[3765,27969,5501],{"class":3771},[3765,27971,12495],{"class":3797},[3765,27973,26778],{"class":3771},[3765,27975,4032],{"class":3797},[3765,27977,23717],{"class":3771},[3765,27979,26790],{"class":3797},[3765,27981,5222],{"class":3790},[3765,27983,5085],{"class":3797},[3765,27985,27986,27988],{"class":3767,"line":15253},[3765,27987,7648],{"class":4375},[3765,27989,27002],{"class":3845},[3765,27991,27992,27994,27996,27998,28001,28003,28005,28007,28009,28012,28014,28016,28018,28020,28022],{"class":3767,"line":15262},[3765,27993,17325],{"class":4381},[3765,27995,4385],{"class":3775},[3765,27997,4388],{"class":3790},[3765,27999,28000],{"class":3786},"`Тривалість: ",[3765,28002,3791],{"class":3790},[3765,28004,23717],{"class":3771},[3765,28006,3803],{"class":3790},[3765,28008,22696],{"class":3790},[3765,28010,28011],{"class":3779},"daysWord",[3765,28013,3783],{"class":3797},[3765,28015,23717],{"class":3771},[3765,28017,4679],{"class":3797},[3765,28019,3803],{"class":3790},[3765,28021,3806],{"class":3786},[3765,28023,4598],{"class":3790},[3765,28025,28026,28028,28030],{"class":3767,"line":15271},[3765,28027,27016],{"class":4381},[3765,28029,4385],{"class":3775},[3765,28031,28032],{"class":3786},"\"Повзунок (Slider) — зручно для діапазону 1–14\"\n",[3765,28034,28035,28037,28039,28041,28043,28045,28047,28049,28051],{"class":3767,"line":15276},[3765,28036,26864],{"class":4381},[3765,28038,4385],{"class":3775},[3765,28040,4388],{"class":3790},[3765,28042,26005],{"class":3771},[3765,28044,3776],{"class":3797},[3765,28046,16677],{"class":3771},[3765,28048,26877],{"class":3797},[3765,28050,26880],{"class":3771},[3765,28052,4598],{"class":3790},[3765,28054,28055],{"class":3767,"line":15284},[3765,28056,27046],{"class":4381},[3765,28058,28059,28061,28063],{"class":3767,"line":15293},[3765,28060,27051],{"class":4381},[3765,28062,4385],{"class":3775},[3765,28064,4559],{"class":3790},[3765,28066,28067,28069],{"class":3767,"line":15298},[3765,28068,7692],{"class":4375},[3765,28070,28071],{"class":3845},"Slider\n",[3765,28073,28074,28077,28079,28081,28083],{"class":3767,"line":15306},[3765,28075,28076],{"class":4381},"                  minimumValue",[3765,28078,4385],{"class":3775},[3765,28080,4388],{"class":3790},[3765,28082,22336],{"class":4931},[3765,28084,4598],{"class":3790},[3765,28086,28087,28090,28092,28094,28096],{"class":3767,"line":15315},[3765,28088,28089],{"class":4381},"                  maximumValue",[3765,28091,4385],{"class":3775},[3765,28093,4388],{"class":3790},[3765,28095,22354],{"class":4931},[3765,28097,4598],{"class":3790},[3765,28099,28100,28103,28105,28107,28109],{"class":3767,"line":15320},[3765,28101,28102],{"class":4381},"                  step",[3765,28104,4385],{"class":3775},[3765,28106,4388],{"class":3790},[3765,28108,22336],{"class":4931},[3765,28110,4598],{"class":3790},[3765,28112,28113,28116,28118,28120,28122],{"class":3767,"line":15328},[3765,28114,28115],{"class":4381},"                  value",[3765,28117,4385],{"class":3775},[3765,28119,4388],{"class":3790},[3765,28121,23717],{"class":3771},[3765,28123,4598],{"class":3790},[3765,28125,28126,28129,28131,28133,28135],{"class":3767,"line":15337},[3765,28127,28128],{"class":4381},"                  onValueChange",[3765,28130,4385],{"class":3775},[3765,28132,4388],{"class":3790},[3765,28134,26778],{"class":3771},[3765,28136,4598],{"class":3790},[3765,28138,28139,28142,28144,28146,28148,28150,28152],{"class":3767,"line":15346},[3765,28140,28141],{"class":4381},"                  minimumTrackTintColor",[3765,28143,4385],{"class":3775},[3765,28145,4388],{"class":3790},[3765,28147,5162],{"class":3771},[3765,28149,3776],{"class":3797},[3765,28151,11096],{"class":3771},[3765,28153,4598],{"class":3790},[3765,28155,28156,28159,28161,28163,28165,28167,28169],{"class":3767,"line":15351},[3765,28157,28158],{"class":4381},"                  maximumTrackTintColor",[3765,28160,4385],{"class":3775},[3765,28162,4388],{"class":3790},[3765,28164,5162],{"class":3771},[3765,28166,3776],{"class":3797},[3765,28168,11547],{"class":3771},[3765,28170,4598],{"class":3790},[3765,28172,28173,28176,28178,28180,28182,28184,28186],{"class":3767,"line":15359},[3765,28174,28175],{"class":4381},"                  thumbTintColor",[3765,28177,4385],{"class":3775},[3765,28179,4388],{"class":3790},[3765,28181,5162],{"class":3771},[3765,28183,3776],{"class":3797},[3765,28185,11096],{"class":3771},[3765,28187,4598],{"class":3790},[3765,28189,28190],{"class":3767,"line":15369},[3765,28191,28192],{"class":4375},"                \u002F>\n",[3765,28194,28195],{"class":3767,"line":15374},[3765,28196,27355],{"class":3790},[3765,28198,28199],{"class":3767,"line":15382},[3765,28200,11913],{"class":4375},[3765,28202,28203,28205],{"class":3767,"line":15391},[3765,28204,17122],{"class":3797},[3765,28206,4598],{"class":3790},[3765,28208,28209],{"class":3767,"line":15396},[3765,28210,11252],{"class":4375},[3765,28212,28213,28215,28217,28219,28221,28223,28225,28227,28229,28231,28233,28235,28237],{"class":3767,"line":15404},[3765,28214,7042],{"class":4375},[3765,28216,5120],{"class":3845},[3765,28218,5123],{"class":4381},[3765,28220,4385],{"class":3775},[3765,28222,5152],{"class":3786},[3765,28224,5155],{"class":4381},[3765,28226,4385],{"class":3775},[3765,28228,4388],{"class":3790},[3765,28230,5162],{"class":3771},[3765,28232,3776],{"class":3797},[3765,28234,5167],{"class":3771},[3765,28236,3803],{"class":3790},[3765,28238,4419],{"class":4375},[3765,28240,28241,28244,28246,28248,28251,28253],{"class":3767,"line":15414},[3765,28242,28243],{"class":3775},"          Зараз на слайдері: ",[3765,28245,4388],{"class":3790},[3765,28247,16677],{"class":3771},[3765,28249,28250],{"class":3790},"}{",[3765,28252,19568],{"class":3786},[3765,28254,4598],{"class":3790},[3765,28256,28257,28259,28261,28263,28265,28268,28270,28272,28274],{"class":3767,"line":15419},[3765,28258,14051],{"class":3790},[3765,28260,28011],{"class":3779},[3765,28262,3783],{"class":3797},[3765,28264,16677],{"class":3771},[3765,28266,28267],{"class":3775}," ??",[3765,28269,8118],{"class":4931},[3765,28271,4679],{"class":3797},[3765,28273,3803],{"class":3790},[3765,28275,28276],{"class":3775}," (можна не збігатися з датами — це\n",[3765,28278,28280],{"class":3767,"line":28279},263,[3765,28281,28282],{"class":3775},"          окреме «орієнтовне» поле для навчання).\n",[3765,28284,28286,28288,28290],{"class":3767,"line":28285},264,[3765,28287,9099],{"class":4375},[3765,28289,5120],{"class":3845},[3765,28291,4419],{"class":4375},[3765,28293,28295],{"class":3767,"line":28294},265,[3765,28296,4363],{"emptyLinePlaceholder":4362},[3765,28298,28300,28302,28305],{"class":3767,"line":28299},266,[3765,28301,17702],{"class":3790},[3765,28303,28304],{"class":4328},"\u002F* ——— Switch ——— *\u002F",[3765,28306,4598],{"class":3790},[3765,28308,28310,28312],{"class":3767,"line":28309},267,[3765,28311,7042],{"class":4375},[3765,28313,26737],{"class":3845},[3765,28315,28317,28319,28321,28323,28325],{"class":3767,"line":28316},268,[3765,28318,26742],{"class":4381},[3765,28320,4385],{"class":3775},[3765,28322,4388],{"class":3790},[3765,28324,26749],{"class":3771},[3765,28326,4598],{"class":3790},[3765,28328,28330,28332,28334],{"class":3767,"line":28329},269,[3765,28331,11184],{"class":4381},[3765,28333,4385],{"class":3775},[3765,28335,28336],{"class":3786},"\"isPrivate\"\n",[3765,28338,28340,28342,28344,28346,28348,28350,28352,28354,28356,28358,28360,28362],{"class":3767,"line":28339},270,[3765,28341,26765],{"class":4381},[3765,28343,4385],{"class":3775},[3765,28345,4388],{"class":3790},[3765,28347,5621],{"class":3797},[3765,28349,5501],{"class":3771},[3765,28351,12495],{"class":3797},[3765,28353,26778],{"class":3771},[3765,28355,4032],{"class":3797},[3765,28357,23717],{"class":3771},[3765,28359,26790],{"class":3797},[3765,28361,5222],{"class":3790},[3765,28363,5085],{"class":3797},[3765,28365,28367,28369],{"class":3767,"line":28366},271,[3765,28368,7648],{"class":4375},[3765,28370,27002],{"class":3845},[3765,28372,28374,28376,28378],{"class":3767,"line":28373},272,[3765,28375,17325],{"class":4381},[3765,28377,4385],{"class":3775},[3765,28379,28380],{"class":3786},"\"Приватна поїздка\"\n",[3765,28382,28384,28386,28388],{"class":3767,"line":28383},273,[3765,28385,27016],{"class":4381},[3765,28387,4385],{"class":3775},[3765,28389,28390],{"class":3786},"\"Switch: увімкнено — мітка «приватна» на картці\"\n",[3765,28392,28394,28396,28398,28400,28402,28404,28406,28408,28410],{"class":3767,"line":28393},274,[3765,28395,26864],{"class":4381},[3765,28397,4385],{"class":3775},[3765,28399,4388],{"class":3790},[3765,28401,26005],{"class":3771},[3765,28403,3776],{"class":3797},[3765,28405,16752],{"class":3771},[3765,28407,26877],{"class":3797},[3765,28409,26880],{"class":3771},[3765,28411,4598],{"class":3790},[3765,28413,28415,28417,28419],{"class":3767,"line":28414},275,[3765,28416,27051],{"class":4381},[3765,28418,4385],{"class":3775},[3765,28420,4559],{"class":3790},[3765,28422,28424,28426],{"class":3767,"line":28423},276,[3765,28425,7692],{"class":4375},[3765,28427,28428],{"class":3845},"Switch\n",[3765,28430,28432,28434,28436,28438,28440],{"class":3767,"line":28431},277,[3765,28433,28115],{"class":4381},[3765,28435,4385],{"class":3775},[3765,28437,4388],{"class":3790},[3765,28439,23717],{"class":3771},[3765,28441,4598],{"class":3790},[3765,28443,28445,28447,28449,28451,28453],{"class":3767,"line":28444},278,[3765,28446,28128],{"class":4381},[3765,28448,4385],{"class":3775},[3765,28450,4388],{"class":3790},[3765,28452,26778],{"class":3771},[3765,28454,4598],{"class":3790},[3765,28456,28458,28461,28463,28465],{"class":3767,"line":28457},279,[3765,28459,28460],{"class":4381},"                  trackColor",[3765,28462,4385],{"class":3775},[3765,28464,4388],{"class":3790},[3765,28466,4559],{"class":3797},[3765,28468,28470,28473,28475,28477,28479],{"class":3767,"line":28469},280,[3765,28471,28472],{"class":3771},"                    false:",[3765,28474,11062],{"class":3771},[3765,28476,3776],{"class":3797},[3765,28478,11547],{"class":3771},[3765,28480,4479],{"class":3797},[3765,28482,28484,28487,28489,28491,28493],{"class":3767,"line":28483},281,[3765,28485,28486],{"class":3771},"                    true:",[3765,28488,11062],{"class":3771},[3765,28490,3776],{"class":3797},[3765,28492,11096],{"class":3771},[3765,28494,4479],{"class":3797},[3765,28496,28498,28501],{"class":3767,"line":28497},282,[3765,28499,28500],{"class":3797},"                  }",[3765,28502,4598],{"class":3790},[3765,28504,28506,28509,28511,28513,28515,28517,28519],{"class":3767,"line":28505},283,[3765,28507,28508],{"class":4381},"                  thumbColor",[3765,28510,4385],{"class":3775},[3765,28512,4388],{"class":3790},[3765,28514,5162],{"class":3771},[3765,28516,3776],{"class":3797},[3765,28518,14473],{"class":3771},[3765,28520,4598],{"class":3790},[3765,28522,28524,28527,28529,28531,28533,28535,28537],{"class":3767,"line":28523},284,[3765,28525,28526],{"class":4381},"                  ios_backgroundColor",[3765,28528,4385],{"class":3775},[3765,28530,4388],{"class":3790},[3765,28532,5162],{"class":3771},[3765,28534,3776],{"class":3797},[3765,28536,11547],{"class":3771},[3765,28538,4598],{"class":3790},[3765,28540,28542],{"class":3767,"line":28541},285,[3765,28543,28192],{"class":4375},[3765,28545,28547],{"class":3767,"line":28546},286,[3765,28548,27355],{"class":3790},[3765,28550,28552],{"class":3767,"line":28551},287,[3765,28553,11913],{"class":4375},[3765,28555,28557,28559],{"class":3767,"line":28556},288,[3765,28558,17122],{"class":3797},[3765,28560,4598],{"class":3790},[3765,28562,28564],{"class":3767,"line":28563},289,[3765,28565,11252],{"class":4375},[3765,28567,28569],{"class":3767,"line":28568},290,[3765,28570,4363],{"emptyLinePlaceholder":4362},[3765,28572,28574,28576,28579],{"class":3767,"line":28573},291,[3765,28575,17702],{"class":3790},[3765,28577,28578],{"class":4328},"\u002F* ——— Checkbox (опційний прапорець) ——— *\u002F",[3765,28580,4598],{"class":3790},[3765,28582,28584,28586],{"class":3767,"line":28583},292,[3765,28585,7042],{"class":4375},[3765,28587,26737],{"class":3845},[3765,28589,28591,28593,28595,28597,28599],{"class":3767,"line":28590},293,[3765,28592,26742],{"class":4381},[3765,28594,4385],{"class":3775},[3765,28596,4388],{"class":3790},[3765,28598,26749],{"class":3771},[3765,28600,4598],{"class":3790},[3765,28602,28604,28606,28608],{"class":3767,"line":28603},294,[3765,28605,11184],{"class":4381},[3765,28607,4385],{"class":3775},[3765,28609,28610],{"class":3786},"\"hasItinerary\"\n",[3765,28612,28614,28616,28618,28620,28622,28624,28626,28628,28630,28632,28634,28636],{"class":3767,"line":28613},295,[3765,28615,26765],{"class":4381},[3765,28617,4385],{"class":3775},[3765,28619,4388],{"class":3790},[3765,28621,5621],{"class":3797},[3765,28623,5501],{"class":3771},[3765,28625,12495],{"class":3797},[3765,28627,26778],{"class":3771},[3765,28629,4032],{"class":3797},[3765,28631,23717],{"class":3771},[3765,28633,26790],{"class":3797},[3765,28635,5222],{"class":3790},[3765,28637,5085],{"class":3797},[3765,28639,28641,28643],{"class":3767,"line":28640},296,[3765,28642,7648],{"class":4375},[3765,28644,27002],{"class":3845},[3765,28646,28648,28650,28652],{"class":3767,"line":28647},297,[3765,28649,17325],{"class":4381},[3765,28651,4385],{"class":3775},[3765,28653,28654],{"class":3786},"\"Є план маршруту\"\n",[3765,28656,28658,28660,28662],{"class":3767,"line":28657},298,[3765,28659,27016],{"class":4381},[3765,28661,4385],{"class":3775},[3765,28663,28664],{"class":3786},"\"Checkbox: так \u002F ні, без обов’язковості\"\n",[3765,28666,28668,28670,28672,28674,28676,28678,28680,28682,28684],{"class":3767,"line":28667},299,[3765,28669,26864],{"class":4381},[3765,28671,4385],{"class":3775},[3765,28673,4388],{"class":3790},[3765,28675,26005],{"class":3771},[3765,28677,3776],{"class":3797},[3765,28679,16817],{"class":3771},[3765,28681,26877],{"class":3797},[3765,28683,26880],{"class":3771},[3765,28685,4598],{"class":3790},[3765,28687,28689,28691,28693],{"class":3767,"line":28688},300,[3765,28690,27051],{"class":4381},[3765,28692,4385],{"class":3775},[3765,28694,4559],{"class":3790},[3765,28696,28698,28700],{"class":3767,"line":28697},301,[3765,28699,7692],{"class":4375},[3765,28701,28702],{"class":3845},"Checkbox\n",[3765,28704,28706,28708,28710,28712,28714],{"class":3767,"line":28705},302,[3765,28707,28115],{"class":4381},[3765,28709,4385],{"class":3775},[3765,28711,4388],{"class":3790},[3765,28713,23717],{"class":3771},[3765,28715,4598],{"class":3790},[3765,28717,28719,28721,28723,28725,28727],{"class":3767,"line":28718},303,[3765,28720,28128],{"class":4381},[3765,28722,4385],{"class":3775},[3765,28724,4388],{"class":3790},[3765,28726,26778],{"class":3771},[3765,28728,4598],{"class":3790},[3765,28730,28732,28735,28737,28739],{"class":3767,"line":28731},304,[3765,28733,28734],{"class":4381},"                  tintColors",[3765,28736,4385],{"class":3775},[3765,28738,4388],{"class":3790},[3765,28740,4559],{"class":3797},[3765,28742,28744,28746,28748,28750,28752],{"class":3767,"line":28743},305,[3765,28745,28486],{"class":3771},[3765,28747,11062],{"class":3771},[3765,28749,3776],{"class":3797},[3765,28751,11096],{"class":3771},[3765,28753,4479],{"class":3797},[3765,28755,28757,28759,28761,28763,28765],{"class":3767,"line":28756},306,[3765,28758,28472],{"class":3771},[3765,28760,11062],{"class":3771},[3765,28762,3776],{"class":3797},[3765,28764,11547],{"class":3771},[3765,28766,4479],{"class":3797},[3765,28768,28770,28772],{"class":3767,"line":28769},307,[3765,28771,28500],{"class":3797},[3765,28773,4598],{"class":3790},[3765,28775,28777,28780,28782,28784,28786,28788,28790],{"class":3767,"line":28776},308,[3765,28778,28779],{"class":4381},"                  onCheckColor",[3765,28781,4385],{"class":3775},[3765,28783,4388],{"class":3790},[3765,28785,5162],{"class":3771},[3765,28787,3776],{"class":3797},[3765,28789,14473],{"class":3771},[3765,28791,4598],{"class":3790},[3765,28793,28795,28798,28800,28802,28804,28806,28808],{"class":3767,"line":28794},309,[3765,28796,28797],{"class":4381},"                  onFillColor",[3765,28799,4385],{"class":3775},[3765,28801,4388],{"class":3790},[3765,28803,5162],{"class":3771},[3765,28805,3776],{"class":3797},[3765,28807,11096],{"class":3771},[3765,28809,4598],{"class":3790},[3765,28811,28813,28816,28818,28820,28822,28824,28826],{"class":3767,"line":28812},310,[3765,28814,28815],{"class":4381},"                  onTintColor",[3765,28817,4385],{"class":3775},[3765,28819,4388],{"class":3790},[3765,28821,5162],{"class":3771},[3765,28823,3776],{"class":3797},[3765,28825,11096],{"class":3771},[3765,28827,4598],{"class":3790},[3765,28829,28831,28834,28836],{"class":3767,"line":28830},311,[3765,28832,28833],{"class":4381},"                  boxType",[3765,28835,4385],{"class":3775},[3765,28837,28838],{"class":3786},"\"square\"\n",[3765,28840,28842],{"class":3767,"line":28841},312,[3765,28843,28192],{"class":4375},[3765,28845,28847],{"class":3767,"line":28846},313,[3765,28848,27355],{"class":3790},[3765,28850,28852],{"class":3767,"line":28851},314,[3765,28853,11913],{"class":4375},[3765,28855,28857,28859],{"class":3767,"line":28856},315,[3765,28858,17122],{"class":3797},[3765,28860,4598],{"class":3790},[3765,28862,28864],{"class":3767,"line":28863},316,[3765,28865,11252],{"class":4375},[3765,28867,28869],{"class":3767,"line":28868},317,[3765,28870,4363],{"emptyLinePlaceholder":4362},[3765,28872,28874,28876,28879],{"class":3767,"line":28873},318,[3765,28875,17702],{"class":3790},[3765,28877,28878],{"class":4328},"\u002F* ——— Checkbox (обов’язкова згода) ——— *\u002F",[3765,28880,4598],{"class":3790},[3765,28882,28884,28886],{"class":3767,"line":28883},319,[3765,28885,7042],{"class":4375},[3765,28887,26737],{"class":3845},[3765,28889,28891,28893,28895,28897,28899],{"class":3767,"line":28890},320,[3765,28892,26742],{"class":4381},[3765,28894,4385],{"class":3775},[3765,28896,4388],{"class":3790},[3765,28898,26749],{"class":3771},[3765,28900,4598],{"class":3790},[3765,28902,28904,28906,28908],{"class":3767,"line":28903},321,[3765,28905,11184],{"class":4381},[3765,28907,4385],{"class":3775},[3765,28909,28910],{"class":3786},"\"acceptedLocalSave\"\n",[3765,28912,28914,28916,28918,28920,28922,28924,28926,28928,28930,28932,28934,28936],{"class":3767,"line":28913},322,[3765,28915,26765],{"class":4381},[3765,28917,4385],{"class":3775},[3765,28919,4388],{"class":3790},[3765,28921,5621],{"class":3797},[3765,28923,5501],{"class":3771},[3765,28925,12495],{"class":3797},[3765,28927,26778],{"class":3771},[3765,28929,4032],{"class":3797},[3765,28931,23717],{"class":3771},[3765,28933,26790],{"class":3797},[3765,28935,5222],{"class":3790},[3765,28937,5085],{"class":3797},[3765,28939,28941,28943],{"class":3767,"line":28940},323,[3765,28942,7648],{"class":4375},[3765,28944,27002],{"class":3845},[3765,28946,28948,28950,28952],{"class":3767,"line":28947},324,[3765,28949,17325],{"class":4381},[3765,28951,4385],{"class":3775},[3765,28953,28954],{"class":3786},"\"Згода на локальне збереження\"\n",[3765,28956,28958,28960,28962],{"class":3767,"line":28957},325,[3765,28959,27016],{"class":4381},[3765,28961,4385],{"class":3775},[3765,28963,28964],{"class":3786},"\"Поки немає API: дані лишаються в пам’яті застосунку\"\n",[3765,28966,28968,28970,28972,28974,28976,28978,28981,28983,28985],{"class":3767,"line":28967},326,[3765,28969,26864],{"class":4381},[3765,28971,4385],{"class":3775},[3765,28973,4388],{"class":3790},[3765,28975,26005],{"class":3771},[3765,28977,3776],{"class":3797},[3765,28979,28980],{"class":3771},"acceptedLocalSave",[3765,28982,26877],{"class":3797},[3765,28984,26880],{"class":3771},[3765,28986,4598],{"class":3790},[3765,28988,28990,28992,28994],{"class":3767,"line":28989},327,[3765,28991,27051],{"class":4381},[3765,28993,4385],{"class":3775},[3765,28995,4559],{"class":3790},[3765,28997,28999,29001],{"class":3767,"line":28998},328,[3765,29000,7692],{"class":4375},[3765,29002,28702],{"class":3845},[3765,29004,29006,29008,29010,29012,29015,29017,29019,29021],{"class":3767,"line":29005},329,[3765,29007,28115],{"class":4381},[3765,29009,4385],{"class":3775},[3765,29011,4388],{"class":3790},[3765,29013,29014],{"class":3779},"Boolean",[3765,29016,3783],{"class":3797},[3765,29018,23717],{"class":3771},[3765,29020,4679],{"class":3797},[3765,29022,4598],{"class":3790},[3765,29024,29026,29028,29030,29032,29034],{"class":3767,"line":29025},330,[3765,29027,28128],{"class":4381},[3765,29029,4385],{"class":3775},[3765,29031,4388],{"class":3790},[3765,29033,26778],{"class":3771},[3765,29035,4598],{"class":3790},[3765,29037,29039,29041,29043,29045],{"class":3767,"line":29038},331,[3765,29040,28734],{"class":4381},[3765,29042,4385],{"class":3775},[3765,29044,4388],{"class":3790},[3765,29046,4559],{"class":3797},[3765,29048,29050,29052,29054,29056,29058],{"class":3767,"line":29049},332,[3765,29051,28486],{"class":3771},[3765,29053,11062],{"class":3771},[3765,29055,3776],{"class":3797},[3765,29057,11096],{"class":3771},[3765,29059,4479],{"class":3797},[3765,29061,29063,29065,29067,29069,29071],{"class":3767,"line":29062},333,[3765,29064,28472],{"class":3771},[3765,29066,11062],{"class":3771},[3765,29068,3776],{"class":3797},[3765,29070,11547],{"class":3771},[3765,29072,4479],{"class":3797},[3765,29074,29076,29078],{"class":3767,"line":29075},334,[3765,29077,28500],{"class":3797},[3765,29079,4598],{"class":3790},[3765,29081,29083,29085,29087,29089,29091,29093,29095],{"class":3767,"line":29082},335,[3765,29084,28779],{"class":4381},[3765,29086,4385],{"class":3775},[3765,29088,4388],{"class":3790},[3765,29090,5162],{"class":3771},[3765,29092,3776],{"class":3797},[3765,29094,14473],{"class":3771},[3765,29096,4598],{"class":3790},[3765,29098,29100,29102,29104,29106,29108,29110,29112],{"class":3767,"line":29099},336,[3765,29101,28797],{"class":4381},[3765,29103,4385],{"class":3775},[3765,29105,4388],{"class":3790},[3765,29107,5162],{"class":3771},[3765,29109,3776],{"class":3797},[3765,29111,11096],{"class":3771},[3765,29113,4598],{"class":3790},[3765,29115,29117,29119,29121,29123,29125,29127,29129],{"class":3767,"line":29116},337,[3765,29118,28815],{"class":4381},[3765,29120,4385],{"class":3775},[3765,29122,4388],{"class":3790},[3765,29124,5162],{"class":3771},[3765,29126,3776],{"class":3797},[3765,29128,11096],{"class":3771},[3765,29130,4598],{"class":3790},[3765,29132,29134,29136,29138],{"class":3767,"line":29133},338,[3765,29135,28833],{"class":4381},[3765,29137,4385],{"class":3775},[3765,29139,28838],{"class":3786},[3765,29141,29143],{"class":3767,"line":29142},339,[3765,29144,28192],{"class":4375},[3765,29146,29148],{"class":3767,"line":29147},340,[3765,29149,27355],{"class":3790},[3765,29151,29153],{"class":3767,"line":29152},341,[3765,29154,11913],{"class":4375},[3765,29156,29158,29160],{"class":3767,"line":29157},342,[3765,29159,17122],{"class":3797},[3765,29161,4598],{"class":3790},[3765,29163,29165],{"class":3767,"line":29164},343,[3765,29166,11252],{"class":4375},[3765,29168,29170],{"class":3767,"line":29169},344,[3765,29171,4363],{"emptyLinePlaceholder":4362},[3765,29173,29175,29177,29180],{"class":3767,"line":29174},345,[3765,29176,17702],{"class":3790},[3765,29178,29179],{"class":4328},"\u002F* ——— Button (Pressable-обгортка з shared\u002Fui) ——— *\u002F",[3765,29181,4598],{"class":3790},[3765,29183,29185,29187,29189,29191,29193,29195,29197,29199,29201,29203,29205,29207,29209,29211,29213,29215,29217,29219],{"class":3767,"line":29184},346,[3765,29186,7042],{"class":4375},[3765,29188,5093],{"class":3845},[3765,29190,5096],{"class":4381},[3765,29192,4385],{"class":3775},[3765,29194,4388],{"class":3790},[3765,29196,7063],{"class":3797},[3765,29198,9540],{"class":3771},[3765,29200,13109],{"class":3771},[3765,29202,3776],{"class":3797},[3765,29204,13176],{"class":3771},[3765,29206,4032],{"class":3797},[3765,29208,9733],{"class":3771},[3765,29210,13109],{"class":3771},[3765,29212,3776],{"class":3797},[3765,29214,13176],{"class":3771},[3765,29216,7072],{"class":3797},[3765,29218,3803],{"class":3790},[3765,29220,4419],{"class":4375},[3765,29222,29224,29226],{"class":3767,"line":29223},347,[3765,29225,7624],{"class":4375},[3765,29227,15038],{"class":3845},[3765,29229,29231,29233,29235,29237,29239,29241,29244,29246,29249],{"class":3767,"line":29230},348,[3765,29232,16246],{"class":4381},[3765,29234,4385],{"class":3775},[3765,29236,4388],{"class":3790},[3765,29238,25949],{"class":3771},[3765,29240,11023],{"class":3775},[3765,29242,29243],{"class":3786}," 'Створюємо…'",[3765,29245,11029],{"class":3775},[3765,29247,29248],{"class":3786}," 'Створити поїздку'",[3765,29250,4598],{"class":3790},[3765,29252,29254,29256,29258,29260,29263,29265,29268,29270],{"class":3767,"line":29253},349,[3765,29255,16256],{"class":4381},[3765,29257,4385],{"class":3775},[3765,29259,4388],{"class":3790},[3765,29261,29262],{"class":3779},"handleSubmit",[3765,29264,3783],{"class":3797},[3765,29266,29267],{"class":3771},"onValid",[3765,29269,4679],{"class":3797},[3765,29271,4598],{"class":3790},[3765,29273,29275,29278,29280,29282,29284],{"class":3767,"line":29274},350,[3765,29276,29277],{"class":4381},"            disabled",[3765,29279,4385],{"class":3775},[3765,29281,4388],{"class":3790},[3765,29283,25949],{"class":3771},[3765,29285,4598],{"class":3790},[3765,29287,29289],{"class":3767,"line":29288},351,[3765,29290,13398],{"class":4375},[3765,29292,29294,29296,29299,29301],{"class":3767,"line":29293},352,[3765,29295,14051],{"class":3790},[3765,29297,29298],{"class":3771},"onCancel",[3765,29300,11023],{"class":3775},[3765,29302,5085],{"class":3797},[3765,29304,29306,29308],{"class":3767,"line":29305},353,[3765,29307,7648],{"class":4375},[3765,29309,15038],{"class":3845},[3765,29311,29313,29315,29317],{"class":3767,"line":29312},354,[3765,29314,17325],{"class":4381},[3765,29316,4385],{"class":3775},[3765,29318,29319],{"class":3786},"\"Скасувати\"\n",[3765,29321,29323,29325,29327],{"class":3767,"line":29322},355,[3765,29324,17256],{"class":4381},[3765,29326,4385],{"class":3775},[3765,29328,17339],{"class":3786},[3765,29330,29332,29334,29336,29338,29340],{"class":3767,"line":29331},356,[3765,29333,7860],{"class":4381},[3765,29335,4385],{"class":3775},[3765,29337,4388],{"class":3790},[3765,29339,29298],{"class":3771},[3765,29341,4598],{"class":3790},[3765,29343,29345,29348,29350,29352,29354],{"class":3767,"line":29344},357,[3765,29346,29347],{"class":4381},"              disabled",[3765,29349,4385],{"class":3775},[3765,29351,4388],{"class":3790},[3765,29353,25949],{"class":3771},[3765,29355,4598],{"class":3790},[3765,29357,29359],{"class":3767,"line":29358},358,[3765,29360,11913],{"class":4375},[3765,29362,29364,29366,29368],{"class":3767,"line":29363},359,[3765,29365,17055],{"class":3797},[3765,29367,4229],{"class":3775},[3765,29369,13416],{"class":3790},[3765,29371,29373,29375,29377],{"class":3767,"line":29372},360,[3765,29374,9099],{"class":4375},[3765,29376,5093],{"class":3845},[3765,29378,4419],{"class":4375},[3765,29380,29382,29384,29386],{"class":3767,"line":29381},361,[3765,29383,5190],{"class":4375},[3765,29385,17461],{"class":3845},[3765,29387,4419],{"class":4375},[3765,29389,29391,29393,29396],{"class":3767,"line":29390},362,[3765,29392,5243],{"class":4375},[3765,29394,29395],{"class":3845},"KeyboardAvoidingView",[3765,29397,4419],{"class":4375},[3765,29399,29401],{"class":3767,"line":29400},363,[3765,29402,5252],{"class":3775},[3765,29404,29406],{"class":3767,"line":29405},364,[3765,29407,4598],{"class":3775},[3765,29409,29411],{"class":3767,"line":29410},365,[3765,29412,4363],{"emptyLinePlaceholder":4362},[3765,29414,29416,29418,29421,29423,29426,29428,29430,29432,29434],{"class":3767,"line":29415},366,[3765,29417,10963],{"class":3790},[3765,29419,29420],{"class":3779}," daysWord",[3765,29422,3783],{"class":3775},[3765,29424,29425],{"class":3771},"n",[3765,29427,3842],{"class":3775},[3765,29429,21767],{"class":3845},[3765,29431,6777],{"class":3775},[3765,29433,3846],{"class":3845},[3765,29435,4487],{"class":3775},[3765,29437,29439,29441,29444,29446,29449,29451,29454,29456,29458,29461,29464],{"class":3767,"line":29438},367,[3765,29440,4758],{"class":3790},[3765,29442,29443],{"class":3828}," abs",[3765,29445,4908],{"class":3775},[3765,29447,29448],{"class":3771},"Math",[3765,29450,3776],{"class":3775},[3765,29452,29453],{"class":3779},"abs",[3765,29455,3783],{"class":3775},[3765,29457,29425],{"class":3771},[3765,29459,29460],{"class":3775},") % ",[3765,29462,29463],{"class":4931},"100",[3765,29465,4732],{"class":3775},[3765,29467,29469,29471,29474,29476,29478,29481,29483],{"class":3767,"line":29468},368,[3765,29470,4758],{"class":3790},[3765,29472,29473],{"class":3828}," last",[3765,29475,4908],{"class":3775},[3765,29477,29453],{"class":3771},[3765,29479,29480],{"class":3775}," % ",[3765,29482,22219],{"class":4931},[3765,29484,4732],{"class":3775},[3765,29486,29488,29490,29492,29494,29497,29499,29501,29503,29506,29509,29511,29514,29517],{"class":3767,"line":29487},369,[3765,29489,4953],{"class":4715},[3765,29491,7304],{"class":3775},[3765,29493,29453],{"class":3771},[3765,29495,29496],{"class":3775}," > ",[3765,29498,22219],{"class":4931},[3765,29500,22900],{"class":3775},[3765,29502,29453],{"class":3771},[3765,29504,29505],{"class":3775}," \u003C ",[3765,29507,29508],{"class":4931},"20",[3765,29510,6832],{"class":3775},[3765,29512,29513],{"class":4715},"return",[3765,29515,29516],{"class":3786}," 'днів'",[3765,29518,4732],{"class":3775},[3765,29520,29522,29524,29526,29529,29531,29533,29535,29537,29540],{"class":3767,"line":29521},370,[3765,29523,4953],{"class":4715},[3765,29525,7304],{"class":3775},[3765,29527,29528],{"class":3771},"last",[3765,29530,6844],{"class":3775},[3765,29532,22336],{"class":4931},[3765,29534,6832],{"class":3775},[3765,29536,29513],{"class":4715},[3765,29538,29539],{"class":3786}," 'день'",[3765,29541,4732],{"class":3775},[3765,29543,29545,29547,29549,29551,29554,29556,29558,29560,29563,29565,29567,29569,29572],{"class":3767,"line":29544},371,[3765,29546,4953],{"class":4715},[3765,29548,7304],{"class":3775},[3765,29550,29528],{"class":3771},[3765,29552,29553],{"class":3775}," >= ",[3765,29555,18671],{"class":4931},[3765,29557,22900],{"class":3775},[3765,29559,29528],{"class":3771},[3765,29561,29562],{"class":3775}," \u003C= ",[3765,29564,27852],{"class":4931},[3765,29566,6832],{"class":3775},[3765,29568,29513],{"class":4715},[3765,29570,29571],{"class":3786}," 'дні'",[3765,29573,4732],{"class":3775},[3765,29575,29577,29579,29581],{"class":3767,"line":29576},372,[3765,29578,5082],{"class":4715},[3765,29580,29516],{"class":3786},[3765,29582,4732],{"class":3775},[3765,29584,29586],{"class":3767,"line":29585},373,[3765,29587,4598],{"class":3775},[3765,29589,29591],{"class":3767,"line":29590},374,[3765,29592,4363],{"emptyLinePlaceholder":4362},[3765,29594,29596,29598,29600,29602,29604,29606,29608],{"class":3767,"line":29595},375,[3765,29597,3822],{"class":3790},[3765,29599,8093],{"class":3828},[3765,29601,4908],{"class":3775},[3765,29603,7163],{"class":3771},[3765,29605,3776],{"class":3775},[3765,29607,8102],{"class":3779},[3765,29609,4468],{"class":3775},[3765,29611,29613,29616],{"class":3767,"line":29612},376,[3765,29614,29615],{"class":3771},"  flex:",[3765,29617,4487],{"class":3775},[3765,29619,29621,29623,29625],{"class":3767,"line":29620},377,[3765,29622,9556],{"class":3771},[3765,29624,8118],{"class":4931},[3765,29626,4479],{"class":3775},[3765,29628,29630],{"class":3767,"line":29629},378,[3765,29631,4521],{"class":3775},[3765,29633,29635,29638],{"class":3767,"line":29634},379,[3765,29636,29637],{"class":3771},"  content:",[3765,29639,4487],{"class":3775},[3765,29641,29643,29646,29648],{"class":3767,"line":29642},380,[3765,29644,29645],{"class":3771},"    flexGrow:",[3765,29647,8118],{"class":4931},[3765,29649,4479],{"class":3775},[3765,29651,29653],{"class":3767,"line":29652},381,[3765,29654,4521],{"class":3775},[3765,29656,29658,29661],{"class":3767,"line":29657},382,[3765,29659,29660],{"class":3771},"  multiline:",[3765,29662,4487],{"class":3775},[3765,29664,29666,29669,29672],{"class":3767,"line":29665},383,[3765,29667,29668],{"class":3771},"    minHeight:",[3765,29670,29671],{"class":4931}," 110",[3765,29673,4479],{"class":3775},[3765,29675,29677],{"class":3767,"line":29676},384,[3765,29678,4521],{"class":3775},[3765,29680,29682,29685],{"class":3767,"line":29681},385,[3765,29683,29684],{"class":3771},"  pickerWrap:",[3765,29686,4487],{"class":3775},[3765,29688,29690,29692,29694],{"class":3767,"line":29689},386,[3765,29691,8324],{"class":3771},[3765,29693,8118],{"class":4931},[3765,29695,4479],{"class":3775},[3765,29697,29699,29702,29705],{"class":3767,"line":29698},387,[3765,29700,29701],{"class":3771},"    overflow:",[3765,29703,29704],{"class":3786}," 'hidden'",[3765,29706,4479],{"class":3775},[3765,29708,29710],{"class":3767,"line":29709},388,[3765,29711,4521],{"class":3775},[3765,29713,29715],{"class":3767,"line":29714},389,[3765,29716,4527],{"class":3775},[3756,29718,29721],{"className":3758,"code":29719,"filename":29720,"language":3760,"meta":3761,"style":3761},"import { useState } from 'react';\nimport {\n  Modal,\n  Platform,\n  Pressable,\n  StyleSheet,\n  View,\n} from 'react-native';\nimport DateTimePicker, {\n  type DateTimePickerEvent,\n} from '@react-native-community\u002Fdatetimepicker';\n\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\nimport { AppText, Button } from '@\u002Fshared\u002Fui';\n\ntype DateFieldProps = {\n  label: string;\n  value: Date;\n  onChange: (date: Date) => void;\n  onBlur?: () => void;\n  error?: string;\n  \u002F** Мінімальна дата (наприклад, endDate ≥ startDate). *\u002F\n  minimumDate?: Date;\n  maximumDate?: Date;\n};\n\n\u002F**\n * Поле дати: натискання відкриває системний date picker.\n * iOS — spinner у Modal; Android — нативний діалог.\n *\u002F\nexport function DateField({\n  label,\n  value,\n  onChange,\n  onBlur,\n  error,\n  minimumDate,\n  maximumDate,\n}: DateFieldProps) {\n  const { colors, spacing, radius } = useTheme();\n  const [open, setOpen] = useState(false);\n  \u002F** Тимчасове значення на iOS, поки користувач крутить spinner. *\u002F\n  const [draft, setDraft] = useState(value);\n\n  const hasError = Boolean(error);\n\n  const openPicker = () => {\n    setDraft(value);\n    setOpen(true);\n  };\n\n  const closePicker = () => {\n    setOpen(false);\n    onBlur?.();\n  };\n\n  const applyIos = () => {\n    onChange(draft);\n    closePicker();\n  };\n\n  const onAndroidChange = (event: DateTimePickerEvent, selected?: Date) => {\n    \u002F\u002F Android закриває діалог сам; event.type: set | dismissed\n    setOpen(false);\n    if (event.type === 'set' && selected) {\n      onChange(selected);\n    }\n    onBlur?.();\n  };\n\n  const onIosChange = (_event: DateTimePickerEvent, selected?: Date) => {\n    if (selected) {\n      setDraft(selected);\n    }\n  };\n\n  const display = formatDisplay(value);\n\n  return (\n    \u003CView style={{ gap: spacing.xs }}>\n      \u003CAppText variant=\"caption\" style={styles.label}>\n        {label}\n      \u003C\u002FAppText>\n      \u003CPressable\n        accessibilityRole=\"button\"\n        accessibilityLabel={`${label}: ${display}`}\n        onPress={openPicker}\n        style={[\n          styles.field,\n          {\n            borderColor: hasError ? colors.danger : colors.border,\n            backgroundColor: colors.surface,\n            borderRadius: radius.md,\n            paddingVertical: spacing.sm + 4,\n            paddingHorizontal: spacing.md,\n          },\n        ]}\n      >\n        \u003CAppText>{display}\u003C\u002FAppText>\n      \u003C\u002FPressable>\n      {hasError ? (\n        \u003CAppText variant=\"caption\" color={colors.danger}>\n          {error}\n        \u003C\u002FAppText>\n      ) : null}\n\n      {\u002F* Android: системний діалог; iOS\u002Fweb: spinner у Modal *\u002F}\n      {Platform.OS === 'android' && open ? (\n        \u003CDateTimePicker\n          value={value}\n          mode=\"date\"\n          display=\"default\"\n          onChange={onAndroidChange}\n          minimumDate={minimumDate}\n          maximumDate={maximumDate}\n        \u002F>\n      ) : null}\n\n      {Platform.OS !== 'android' ? (\n        \u003CModal\n          visible={open}\n          transparent\n          animationType=\"slide\"\n          onRequestClose={closePicker}\n        >\n          \u003CPressable style={styles.backdrop} onPress={closePicker} \u002F>\n          \u003CView\n            style={[\n              styles.sheet,\n              {\n                backgroundColor: colors.surface,\n                borderColor: colors.border,\n                paddingBottom: spacing.lg,\n              },\n            ]}\n          >\n            \u003CView\n              style={[\n                styles.sheetHeader,\n                { paddingHorizontal: spacing.md, paddingTop: spacing.md },\n              ]}\n            >\n              \u003CAppText variant=\"subtitle\">{label}\u003C\u002FAppText>\n            \u003C\u002FView>\n            \u003CDateTimePicker\n              value={draft}\n              mode=\"date\"\n              display=\"spinner\"\n              onChange={onIosChange}\n              minimumDate={minimumDate}\n              maximumDate={maximumDate}\n              style={{ alignSelf: 'center' }}\n            \u002F>\n            \u003CView\n              style={[\n                styles.sheetActions,\n                { paddingHorizontal: spacing.md, gap: spacing.sm },\n              ]}\n            >\n              \u003CButton label=\"Готово\" onPress={applyIos} \u002F>\n              \u003CPressable onPress={closePicker} style={styles.cancel}>\n                \u003CAppText color={colors.textSecondary}>Скасувати\u003C\u002FAppText>\n              \u003C\u002FPressable>\n            \u003C\u002FView>\n          \u003C\u002FView>\n        \u003C\u002FModal>\n      ) : null}\n    \u003C\u002FView>\n  );\n}\n\nfunction formatDisplay(d: Date): string {\n  const dd = String(d.getDate()).padStart(2, '0');\n  const mm = String(d.getMonth() + 1).padStart(2, '0');\n  const yyyy = d.getFullYear();\n  return `${dd}.${mm}.${yyyy}`;\n}\n\nconst styles = StyleSheet.create({\n  label: {\n    fontWeight: '600',\n  },\n  field: {\n    borderWidth: 1,\n    minHeight: 48,\n    justifyContent: 'center',\n  },\n  backdrop: {\n    flex: 1,\n    backgroundColor: 'rgba(0,0,0,0.35)',\n  },\n  sheet: {\n    borderTopLeftRadius: 16,\n    borderTopRightRadius: 16,\n    borderTopWidth: 1,\n  },\n  sheetHeader: {\n    alignItems: 'center',\n  },\n  sheetActions: {\n    marginTop: 8,\n  },\n  cancel: {\n    alignItems: 'center',\n    paddingVertical: 10,\n  },\n});\n","src\u002Ffeatures\u002Ftrips\u002Fui\u002FDateField.tsx",[3747,29722,29723,29739,29745,29752,29758,29764,29770,29776,29786,29795,29804,29815,29819,29835,29855,29859,29868,29879,29890,29911,29924,29935,29940,29951,29962,29966,29970,29974,29979,29984,29988,29999,30005,30011,30017,30023,30029,30035,30041,30050,30072,30096,30101,30125,30129,30147,30151,30165,30176,30187,30191,30195,30208,30218,30226,30230,30234,30247,30258,30265,30269,30273,30305,30310,30320,30343,30354,30358,30364,30368,30372,30402,30412,30423,30427,30431,30435,30453,30457,30463,30491,30519,30527,30535,30541,30550,30580,30593,30603,30613,30617,30643,30655,30668,30685,30697,30701,30707,30711,30731,30739,30750,30778,30786,30794,30802,30806,30815,30840,30847,30860,30870,30880,30894,30908,30922,30926,30934,30938,30957,30964,30977,30982,30992,31006,31010,31043,31049,31059,31071,31076,31089,31102,31115,31120,31127,31131,31137,31147,31158,31185,31191,31195,31221,31229,31235,31247,31256,31266,31279,31291,31304,31323,31327,31333,31343,31354,31378,31384,31388,31414,31447,31478,31486,31494,31502,31511,31519,31527,31531,31535,31539,31560,31596,31633,31650,31685,31689,31693,31709,31716,31724,31728,31735,31743,31752,31760,31764,31771,31779,31788,31792,31799,31808,31817,31825,31829,31836,31844,31848,31855,31863,31867,31874,31882,31890,31894],{"__ignoreMap":3761},[3765,29724,29725,29727,29729,29731,29733,29735,29737],{"class":3767,"line":3768},[3765,29726,4716],{"class":4715},[3765,29728,3825],{"class":3775},[3765,29730,12269],{"class":3771},[3765,29732,4723],{"class":3775},[3765,29734,4726],{"class":4715},[3765,29736,12276],{"class":3786},[3765,29738,4732],{"class":3775},[3765,29740,29741,29743],{"class":3767,"line":4332},[3765,29742,4716],{"class":4715},[3765,29744,4487],{"class":3775},[3765,29746,29747,29750],{"class":3767,"line":4359},[3765,29748,29749],{"class":3771},"  Modal",[3765,29751,4479],{"class":3775},[3765,29753,29754,29756],{"class":3767,"line":4366},[3765,29755,15472],{"class":3771},[3765,29757,4479],{"class":3775},[3765,29759,29760,29762],{"class":3767,"line":4372},[3765,29761,12296],{"class":3771},[3765,29763,4479],{"class":3775},[3765,29765,29766,29768],{"class":3767,"line":4504},[3765,29767,12310],{"class":3771},[3765,29769,4479],{"class":3775},[3765,29771,29772,29774],{"class":3767,"line":4518},[3765,29773,12317],{"class":3771},[3765,29775,4479],{"class":3775},[3765,29777,29778,29780,29782,29784],{"class":3767,"line":4524},[3765,29779,12324],{"class":3775},[3765,29781,4726],{"class":4715},[3765,29783,5603],{"class":3786},[3765,29785,4732],{"class":3775},[3765,29787,29788,29790,29793],{"class":3767,"line":4530},[3765,29789,4716],{"class":4715},[3765,29791,29792],{"class":3771}," DateTimePicker",[3765,29794,22172],{"class":3775},[3765,29796,29797,29799,29802],{"class":3767,"line":4535},[3765,29798,12407],{"class":4715},[3765,29800,29801],{"class":3771}," DateTimePickerEvent",[3765,29803,4479],{"class":3775},[3765,29805,29806,29808,29810,29813],{"class":3767,"line":4541},[3765,29807,12324],{"class":3775},[3765,29809,4726],{"class":4715},[3765,29811,29812],{"class":3786}," '@react-native-community\u002Fdatetimepicker'",[3765,29814,4732],{"class":3775},[3765,29816,29817],{"class":3767,"line":4549},[3765,29818,4363],{"emptyLinePlaceholder":4362},[3765,29820,29821,29823,29825,29827,29829,29831,29833],{"class":3767,"line":4562},[3765,29822,4716],{"class":4715},[3765,29824,3825],{"class":3775},[3765,29826,10881],{"class":3771},[3765,29828,4723],{"class":3775},[3765,29830,4726],{"class":4715},[3765,29832,10888],{"class":3786},[3765,29834,4732],{"class":3775},[3765,29836,29837,29839,29841,29843,29845,29847,29849,29851,29853],{"class":3767,"line":4572},[3765,29838,4716],{"class":4715},[3765,29840,3825],{"class":3775},[3765,29842,5120],{"class":3771},[3765,29844,4032],{"class":3775},[3765,29846,5201],{"class":3771},[3765,29848,4723],{"class":3775},[3765,29850,4726],{"class":4715},[3765,29852,12479],{"class":3786},[3765,29854,4732],{"class":3775},[3765,29856,29857],{"class":3767,"line":4592},[3765,29858,4363],{"emptyLinePlaceholder":4362},[3765,29860,29861,29863,29866],{"class":3767,"line":4601},[3765,29862,12444],{"class":3790},[3765,29864,29865],{"class":3845}," DateFieldProps",[3765,29867,6529],{"class":3775},[3765,29869,29870,29873,29875,29877],{"class":3767,"line":4606},[3765,29871,29872],{"class":3771},"  label",[3765,29874,3842],{"class":3775},[3765,29876,3846],{"class":3845},[3765,29878,4732],{"class":3775},[3765,29880,29881,29884,29886,29888],{"class":3767,"line":4612},[3765,29882,29883],{"class":3771},"  value",[3765,29885,3842],{"class":3775},[3765,29887,22668],{"class":3845},[3765,29889,4732],{"class":3775},[3765,29891,29892,29895,29897,29899,29901,29903,29905,29907,29909],{"class":3767,"line":6683},[3765,29893,29894],{"class":3779},"  onChange",[3765,29896,23270],{"class":3775},[3765,29898,22256],{"class":3771},[3765,29900,3842],{"class":3775},[3765,29902,22668],{"class":3845},[3765,29904,6832],{"class":3775},[3765,29906,5222],{"class":3790},[3765,29908,23313],{"class":3845},[3765,29910,4732],{"class":3775},[3765,29912,29913,29916,29918,29920,29922],{"class":3767,"line":6693},[3765,29914,29915],{"class":3779},"  onBlur",[3765,29917,25689],{"class":3775},[3765,29919,5222],{"class":3790},[3765,29921,23313],{"class":3845},[3765,29923,4732],{"class":3775},[3765,29925,29926,29929,29931,29933],{"class":3767,"line":6698},[3765,29927,29928],{"class":3771},"  error",[3765,29930,4786],{"class":3775},[3765,29932,3846],{"class":3845},[3765,29934,4732],{"class":3775},[3765,29936,29937],{"class":3767,"line":6703},[3765,29938,29939],{"class":4328},"  \u002F** Мінімальна дата (наприклад, endDate ≥ startDate). *\u002F\n",[3765,29941,29942,29945,29947,29949],{"class":3767,"line":6713},[3765,29943,29944],{"class":3771},"  minimumDate",[3765,29946,4786],{"class":3775},[3765,29948,22668],{"class":3845},[3765,29950,4732],{"class":3775},[3765,29952,29953,29956,29958,29960],{"class":3767,"line":6723},[3765,29954,29955],{"class":3771},"  maximumDate",[3765,29957,4786],{"class":3775},[3765,29959,22668],{"class":3845},[3765,29961,4732],{"class":3775},[3765,29963,29964],{"class":3767,"line":6733},[3765,29965,6578],{"class":3775},[3765,29967,29968],{"class":3767,"line":6743},[3765,29969,4363],{"emptyLinePlaceholder":4362},[3765,29971,29972],{"class":3767,"line":6748},[3765,29973,10899],{"class":4328},[3765,29975,29976],{"class":3767,"line":6754},[3765,29977,29978],{"class":4328}," * Поле дати: натискання відкриває системний date picker.\n",[3765,29980,29981],{"class":3767,"line":6759},[3765,29982,29983],{"class":4328}," * iOS — spinner у Modal; Android — нативний діалог.\n",[3765,29985,29986],{"class":3767,"line":6788},[3765,29987,10929],{"class":4328},[3765,29989,29990,29992,29994,29997],{"class":3767,"line":6814},[3765,29991,4741],{"class":4715},[3765,29993,4747],{"class":3790},[3765,29995,29996],{"class":3779}," DateField",[3765,29998,4468],{"class":3775},[3765,30000,30001,30003],{"class":3767,"line":6852},[3765,30002,29872],{"class":3771},[3765,30004,4479],{"class":3775},[3765,30006,30007,30009],{"class":3767,"line":7689},[3765,30008,29883],{"class":3771},[3765,30010,4479],{"class":3775},[3765,30012,30013,30015],{"class":3767,"line":7730},[3765,30014,29894],{"class":3771},[3765,30016,4479],{"class":3775},[3765,30018,30019,30021],{"class":3767,"line":7769},[3765,30020,29915],{"class":3771},[3765,30022,4479],{"class":3775},[3765,30024,30025,30027],{"class":3767,"line":7810},[3765,30026,29928],{"class":3771},[3765,30028,4479],{"class":3775},[3765,30030,30031,30033],{"class":3767,"line":7820},[3765,30032,29944],{"class":3771},[3765,30034,4479],{"class":3775},[3765,30036,30037,30039],{"class":3767,"line":7830},[3765,30038,29955],{"class":3771},[3765,30040,4479],{"class":3775},[3765,30042,30043,30045,30048],{"class":3767,"line":7838},[3765,30044,25913],{"class":3775},[3765,30046,30047],{"class":3845},"DateFieldProps",[3765,30049,4961],{"class":3775},[3765,30051,30052,30054,30056,30058,30060,30062,30064,30066,30068,30070],{"class":3767,"line":7857},[3765,30053,4758],{"class":3790},[3765,30055,3825],{"class":3775},[3765,30057,5162],{"class":3828},[3765,30059,4032],{"class":3775},[3765,30061,12633],{"class":3828},[3765,30063,4032],{"class":3775},[3765,30065,15815],{"class":3828},[3765,30067,3831],{"class":3775},[3765,30069,10881],{"class":3779},[3765,30071,6811],{"class":3775},[3765,30073,30074,30076,30078,30081,30083,30086,30088,30090,30092,30094],{"class":3767,"line":7885},[3765,30075,4758],{"class":3790},[3765,30077,12660],{"class":3775},[3765,30079,30080],{"class":3828},"open",[3765,30082,4032],{"class":3775},[3765,30084,30085],{"class":3828},"setOpen",[3765,30087,12666],{"class":3775},[3765,30089,12269],{"class":3779},[3765,30091,3783],{"class":3775},[3765,30093,12704],{"class":3790},[3765,30095,3809],{"class":3775},[3765,30097,30098],{"class":3767,"line":7891},[3765,30099,30100],{"class":4328},"  \u002F** Тимчасове значення на iOS, поки користувач крутить spinner. *\u002F\n",[3765,30102,30103,30105,30107,30110,30112,30115,30117,30119,30121,30123],{"class":3767,"line":7924},[3765,30104,4758],{"class":3790},[3765,30106,12660],{"class":3775},[3765,30108,30109],{"class":3828},"draft",[3765,30111,4032],{"class":3775},[3765,30113,30114],{"class":3828},"setDraft",[3765,30116,12666],{"class":3775},[3765,30118,12269],{"class":3779},[3765,30120,3783],{"class":3775},[3765,30122,23717],{"class":3771},[3765,30124,3809],{"class":3775},[3765,30126,30127],{"class":3767,"line":7933},[3765,30128,4363],{"emptyLinePlaceholder":4362},[3765,30130,30131,30133,30136,30138,30140,30142,30145],{"class":3767,"line":7943},[3765,30132,4758],{"class":3790},[3765,30134,30135],{"class":3828}," hasError",[3765,30137,4908],{"class":3775},[3765,30139,29014],{"class":3779},[3765,30141,3783],{"class":3775},[3765,30143,30144],{"class":3771},"error",[3765,30146,3809],{"class":3775},[3765,30148,30149],{"class":3767,"line":7951},[3765,30150,4363],{"emptyLinePlaceholder":4362},[3765,30152,30153,30155,30158,30161,30163],{"class":3767,"line":7957},[3765,30154,4758],{"class":3790},[3765,30156,30157],{"class":3779}," openPicker",[3765,30159,30160],{"class":3775}," = () ",[3765,30162,5222],{"class":3790},[3765,30164,4487],{"class":3775},[3765,30166,30167,30170,30172,30174],{"class":3767,"line":7962},[3765,30168,30169],{"class":3779},"    setDraft",[3765,30171,3783],{"class":3775},[3765,30173,23717],{"class":3771},[3765,30175,3809],{"class":3775},[3765,30177,30178,30181,30183,30185],{"class":3767,"line":7969},[3765,30179,30180],{"class":3779},"    setOpen",[3765,30182,3783],{"class":3775},[3765,30184,10503],{"class":3790},[3765,30186,3809],{"class":3775},[3765,30188,30189],{"class":3767,"line":7988},[3765,30190,5773],{"class":3775},[3765,30192,30193],{"class":3767,"line":8017},[3765,30194,4363],{"emptyLinePlaceholder":4362},[3765,30196,30197,30199,30202,30204,30206],{"class":3767,"line":8022},[3765,30198,4758],{"class":3790},[3765,30200,30201],{"class":3779}," closePicker",[3765,30203,30160],{"class":3775},[3765,30205,5222],{"class":3790},[3765,30207,4487],{"class":3775},[3765,30209,30210,30212,30214,30216],{"class":3767,"line":8055},[3765,30211,30180],{"class":3779},[3765,30213,3783],{"class":3775},[3765,30215,12704],{"class":3790},[3765,30217,3809],{"class":3775},[3765,30219,30220,30223],{"class":3767,"line":8064},[3765,30221,30222],{"class":3779},"    onBlur",[3765,30224,30225],{"class":3775},"?.();\n",[3765,30227,30228],{"class":3767,"line":8073},[3765,30229,5773],{"class":3775},[3765,30231,30232],{"class":3767,"line":8078},[3765,30233,4363],{"emptyLinePlaceholder":4362},[3765,30235,30236,30238,30241,30243,30245],{"class":3767,"line":8083},[3765,30237,4758],{"class":3790},[3765,30239,30240],{"class":3779}," applyIos",[3765,30242,30160],{"class":3775},[3765,30244,5222],{"class":3790},[3765,30246,4487],{"class":3775},[3765,30248,30249,30252,30254,30256],{"class":3767,"line":8088},[3765,30250,30251],{"class":3779},"    onChange",[3765,30253,3783],{"class":3775},[3765,30255,30109],{"class":3771},[3765,30257,3809],{"class":3775},[3765,30259,30260,30263],{"class":3767,"line":8107},[3765,30261,30262],{"class":3779},"    closePicker",[3765,30264,6811],{"class":3775},[3765,30266,30267],{"class":3767,"line":8129},[3765,30268,5773],{"class":3775},[3765,30270,30271],{"class":3767,"line":8137},[3765,30272,4363],{"emptyLinePlaceholder":4362},[3765,30274,30275,30277,30280,30282,30285,30287,30290,30292,30295,30297,30299,30301,30303],{"class":3767,"line":8148},[3765,30276,4758],{"class":3790},[3765,30278,30279],{"class":3779}," onAndroidChange",[3765,30281,21952],{"class":3775},[3765,30283,30284],{"class":3771},"event",[3765,30286,3842],{"class":3775},[3765,30288,30289],{"class":3845},"DateTimePickerEvent",[3765,30291,4032],{"class":3775},[3765,30293,30294],{"class":3771},"selected",[3765,30296,4786],{"class":3775},[3765,30298,22668],{"class":3845},[3765,30300,6832],{"class":3775},[3765,30302,5222],{"class":3790},[3765,30304,4487],{"class":3775},[3765,30306,30307],{"class":3767,"line":8159},[3765,30308,30309],{"class":4328},"    \u002F\u002F Android закриває діалог сам; event.type: set | dismissed\n",[3765,30311,30312,30314,30316,30318],{"class":3767,"line":8170},[3765,30313,30180],{"class":3779},[3765,30315,3783],{"class":3775},[3765,30317,12704],{"class":3790},[3765,30319,3809],{"class":3775},[3765,30321,30322,30324,30326,30328,30330,30332,30334,30337,30339,30341],{"class":3767,"line":8181},[3765,30323,22915],{"class":4715},[3765,30325,7304],{"class":3775},[3765,30327,30284],{"class":3771},[3765,30329,3776],{"class":3775},[3765,30331,12444],{"class":3771},[3765,30333,6844],{"class":3775},[3765,30335,30336],{"class":3786},"'set'",[3765,30338,22900],{"class":3775},[3765,30340,30294],{"class":3771},[3765,30342,4961],{"class":3775},[3765,30344,30345,30348,30350,30352],{"class":3767,"line":8192},[3765,30346,30347],{"class":3779},"      onChange",[3765,30349,3783],{"class":3775},[3765,30351,30294],{"class":3771},[3765,30353,3809],{"class":3775},[3765,30355,30356],{"class":3767,"line":8197},[3765,30357,10700],{"class":3775},[3765,30359,30360,30362],{"class":3767,"line":8205},[3765,30361,30222],{"class":3779},[3765,30363,30225],{"class":3775},[3765,30365,30366],{"class":3767,"line":8214},[3765,30367,5773],{"class":3775},[3765,30369,30370],{"class":3767,"line":8225},[3765,30371,4363],{"emptyLinePlaceholder":4362},[3765,30373,30374,30376,30379,30381,30384,30386,30388,30390,30392,30394,30396,30398,30400],{"class":3767,"line":8235},[3765,30375,4758],{"class":3790},[3765,30377,30378],{"class":3779}," onIosChange",[3765,30380,21952],{"class":3775},[3765,30382,30383],{"class":3771},"_event",[3765,30385,3842],{"class":3775},[3765,30387,30289],{"class":3845},[3765,30389,4032],{"class":3775},[3765,30391,30294],{"class":3771},[3765,30393,4786],{"class":3775},[3765,30395,22668],{"class":3845},[3765,30397,6832],{"class":3775},[3765,30399,5222],{"class":3790},[3765,30401,4487],{"class":3775},[3765,30403,30404,30406,30408,30410],{"class":3767,"line":8244},[3765,30405,22915],{"class":4715},[3765,30407,7304],{"class":3775},[3765,30409,30294],{"class":3771},[3765,30411,4961],{"class":3775},[3765,30413,30414,30417,30419,30421],{"class":3767,"line":8254},[3765,30415,30416],{"class":3779},"      setDraft",[3765,30418,3783],{"class":3775},[3765,30420,30294],{"class":3771},[3765,30422,3809],{"class":3775},[3765,30424,30425],{"class":3767,"line":8264},[3765,30426,10700],{"class":3775},[3765,30428,30429],{"class":3767,"line":8269},[3765,30430,5773],{"class":3775},[3765,30432,30433],{"class":3767,"line":8292},[3765,30434,4363],{"emptyLinePlaceholder":4362},[3765,30436,30437,30439,30442,30444,30447,30449,30451],{"class":3767,"line":8300},[3765,30438,4758],{"class":3790},[3765,30440,30441],{"class":3828}," display",[3765,30443,4908],{"class":3775},[3765,30445,30446],{"class":3779},"formatDisplay",[3765,30448,3783],{"class":3775},[3765,30450,23717],{"class":3771},[3765,30452,3809],{"class":3775},[3765,30454,30455],{"class":3767,"line":8311},[3765,30456,4363],{"emptyLinePlaceholder":4362},[3765,30458,30459,30461],{"class":3767,"line":8321},[3765,30460,5082],{"class":4715},[3765,30462,5085],{"class":3775},[3765,30464,30465,30467,30469,30471,30473,30475,30477,30479,30481,30483,30485,30487,30489],{"class":3767,"line":8331},[3765,30466,5090],{"class":4375},[3765,30468,5093],{"class":3845},[3765,30470,5096],{"class":4381},[3765,30472,4385],{"class":3775},[3765,30474,4388],{"class":3790},[3765,30476,7063],{"class":3797},[3765,30478,9540],{"class":3771},[3765,30480,13109],{"class":3771},[3765,30482,3776],{"class":3797},[3765,30484,13835],{"class":3771},[3765,30486,7072],{"class":3797},[3765,30488,3803],{"class":3790},[3765,30490,4419],{"class":4375},[3765,30492,30493,30495,30497,30499,30501,30503,30505,30507,30509,30511,30513,30515,30517],{"class":3767,"line":8342},[3765,30494,5117],{"class":4375},[3765,30496,5120],{"class":3845},[3765,30498,5123],{"class":4381},[3765,30500,4385],{"class":3775},[3765,30502,5152],{"class":3786},[3765,30504,5096],{"class":4381},[3765,30506,4385],{"class":3775},[3765,30508,4388],{"class":3790},[3765,30510,5103],{"class":3771},[3765,30512,3776],{"class":3797},[3765,30514,12507],{"class":3771},[3765,30516,3803],{"class":3790},[3765,30518,4419],{"class":4375},[3765,30520,30521,30523,30525],{"class":3767,"line":8353},[3765,30522,17702],{"class":3790},[3765,30524,12507],{"class":3771},[3765,30526,4598],{"class":3790},[3765,30528,30529,30531,30533],{"class":3767,"line":8363},[3765,30530,5190],{"class":4375},[3765,30532,5120],{"class":3845},[3765,30534,4419],{"class":4375},[3765,30536,30537,30539],{"class":3767,"line":8368},[3765,30538,5117],{"class":4375},[3765,30540,7835],{"class":3845},[3765,30542,30543,30546,30548],{"class":3767,"line":8397},[3765,30544,30545],{"class":4381},"        accessibilityRole",[3765,30547,4385],{"class":3775},[3765,30549,14380],{"class":3786},[3765,30551,30552,30555,30557,30559,30561,30563,30565,30567,30569,30571,30574,30576,30578],{"class":3767,"line":8432},[3765,30553,30554],{"class":4381},"        accessibilityLabel",[3765,30556,4385],{"class":3775},[3765,30558,4388],{"class":3790},[3765,30560,3806],{"class":3786},[3765,30562,3791],{"class":3790},[3765,30564,12507],{"class":3771},[3765,30566,3803],{"class":3790},[3765,30568,3842],{"class":3786},[3765,30570,3791],{"class":3790},[3765,30572,30573],{"class":3771},"display",[3765,30575,3803],{"class":3790},[3765,30577,3806],{"class":3786},[3765,30579,4598],{"class":3790},[3765,30581,30582,30584,30586,30588,30591],{"class":3767,"line":8452},[3765,30583,7991],{"class":4381},[3765,30585,4385],{"class":3775},[3765,30587,4388],{"class":3790},[3765,30589,30590],{"class":3771},"openPicker",[3765,30592,4598],{"class":3790},[3765,30594,30595,30597,30599,30601],{"class":3767,"line":8460},[3765,30596,7972],{"class":4381},[3765,30598,4385],{"class":3775},[3765,30600,4388],{"class":3790},[3765,30602,13497],{"class":3797},[3765,30604,30605,30607,30609,30611],{"class":3767,"line":8470},[3765,30606,13767],{"class":3771},[3765,30608,3776],{"class":3797},[3765,30610,5501],{"class":3771},[3765,30612,4479],{"class":3797},[3765,30614,30615],{"class":3767,"line":8480},[3765,30616,13780],{"class":3797},[3765,30618,30619,30622,30624,30626,30628,30630,30633,30635,30637,30639,30641],{"class":3767,"line":8489},[3765,30620,30621],{"class":3771},"            borderColor:",[3765,30623,30135],{"class":3771},[3765,30625,11023],{"class":3775},[3765,30627,11062],{"class":3771},[3765,30629,3776],{"class":3797},[3765,30631,30632],{"class":3771},"danger",[3765,30634,11029],{"class":3775},[3765,30636,11062],{"class":3771},[3765,30638,3776],{"class":3797},[3765,30640,11547],{"class":3771},[3765,30642,4479],{"class":3797},[3765,30644,30645,30647,30649,30651,30653],{"class":3767,"line":8498},[3765,30646,15005],{"class":3771},[3765,30648,11062],{"class":3771},[3765,30650,3776],{"class":3797},[3765,30652,14339],{"class":3771},[3765,30654,4479],{"class":3797},[3765,30656,30657,30660,30662,30664,30666],{"class":3767,"line":8507},[3765,30658,30659],{"class":3771},"            borderRadius:",[3765,30661,17595],{"class":3771},[3765,30663,3776],{"class":3797},[3765,30665,13114],{"class":3771},[3765,30667,4479],{"class":3797},[3765,30669,30670,30673,30675,30677,30679,30681,30683],{"class":3767,"line":8518},[3765,30671,30672],{"class":3771},"            paddingVertical:",[3765,30674,13109],{"class":3771},[3765,30676,3776],{"class":3797},[3765,30678,13176],{"class":3771},[3765,30680,20446],{"class":3775},[3765,30682,8465],{"class":4931},[3765,30684,4479],{"class":3797},[3765,30686,30687,30689,30691,30693,30695],{"class":3767,"line":8523},[3765,30688,13786],{"class":3771},[3765,30690,13109],{"class":3771},[3765,30692,3776],{"class":3797},[3765,30694,13114],{"class":3771},[3765,30696,4479],{"class":3797},[3765,30698,30699],{"class":3767,"line":8543},[3765,30700,13857],{"class":3797},[3765,30702,30703,30705],{"class":3767,"line":8564},[3765,30704,13863],{"class":3797},[3765,30706,4598],{"class":3790},[3765,30708,30709],{"class":3767,"line":8585},[3765,30710,7037],{"class":4375},[3765,30712,30713,30715,30717,30719,30721,30723,30725,30727,30729],{"class":3767,"line":13544},[3765,30714,7042],{"class":4375},[3765,30716,5120],{"class":3845},[3765,30718,4408],{"class":4375},[3765,30720,4388],{"class":3790},[3765,30722,30573],{"class":3771},[3765,30724,3803],{"class":3790},[3765,30726,4414],{"class":4375},[3765,30728,5120],{"class":3845},[3765,30730,4419],{"class":4375},[3765,30732,30733,30735,30737],{"class":3767,"line":13558},[3765,30734,5190],{"class":4375},[3765,30736,7158],{"class":3845},[3765,30738,4419],{"class":4375},[3765,30740,30741,30743,30746,30748],{"class":3767,"line":13563},[3765,30742,13136],{"class":3790},[3765,30744,30745],{"class":3771},"hasError",[3765,30747,11023],{"class":3775},[3765,30749,5085],{"class":3797},[3765,30751,30752,30754,30756,30758,30760,30762,30764,30766,30768,30770,30772,30774,30776],{"class":3767,"line":13571},[3765,30753,7042],{"class":4375},[3765,30755,5120],{"class":3845},[3765,30757,5123],{"class":4381},[3765,30759,4385],{"class":3775},[3765,30761,5152],{"class":3786},[3765,30763,5155],{"class":4381},[3765,30765,4385],{"class":3775},[3765,30767,4388],{"class":3790},[3765,30769,5162],{"class":3771},[3765,30771,3776],{"class":3797},[3765,30773,30632],{"class":3771},[3765,30775,3803],{"class":3790},[3765,30777,4419],{"class":4375},[3765,30779,30780,30782,30784],{"class":3767,"line":13576},[3765,30781,14051],{"class":3790},[3765,30783,30144],{"class":3771},[3765,30785,4598],{"class":3790},[3765,30787,30788,30790,30792],{"class":3767,"line":13606},[3765,30789,9099],{"class":4375},[3765,30791,5120],{"class":3845},[3765,30793,4419],{"class":4375},[3765,30795,30796,30798,30800],{"class":3767,"line":13612},[3765,30797,13411],{"class":3797},[3765,30799,4229],{"class":3775},[3765,30801,13416],{"class":3790},[3765,30803,30804],{"class":3767,"line":13621},[3765,30805,4363],{"emptyLinePlaceholder":4362},[3765,30807,30808,30810,30813],{"class":3767,"line":13629},[3765,30809,13136],{"class":3790},[3765,30811,30812],{"class":4328},"\u002F* Android: системний діалог; iOS\u002Fweb: spinner у Modal *\u002F",[3765,30814,4598],{"class":3790},[3765,30816,30817,30819,30821,30823,30825,30827,30830,30833,30836,30838],{"class":3767,"line":13640},[3765,30818,13136],{"class":3790},[3765,30820,18013],{"class":3771},[3765,30822,3776],{"class":3797},[3765,30824,26500],{"class":3828},[3765,30826,11017],{"class":3775},[3765,30828,30829],{"class":3786}," 'android'",[3765,30831,30832],{"class":3775}," &&",[3765,30834,30835],{"class":3771}," open",[3765,30837,11023],{"class":3775},[3765,30839,5085],{"class":3797},[3765,30841,30842,30844],{"class":3767,"line":13658},[3765,30843,7042],{"class":4375},[3765,30845,30846],{"class":3845},"DateTimePicker\n",[3765,30848,30849,30852,30854,30856,30858],{"class":3767,"line":13676},[3765,30850,30851],{"class":4381},"          value",[3765,30853,4385],{"class":3775},[3765,30855,4388],{"class":3790},[3765,30857,23717],{"class":3771},[3765,30859,4598],{"class":3790},[3765,30861,30862,30865,30867],{"class":3767,"line":13681},[3765,30863,30864],{"class":4381},"          mode",[3765,30866,4385],{"class":3775},[3765,30868,30869],{"class":3786},"\"date\"\n",[3765,30871,30872,30875,30877],{"class":3767,"line":13687},[3765,30873,30874],{"class":4381},"          display",[3765,30876,4385],{"class":3775},[3765,30878,30879],{"class":3786},"\"default\"\n",[3765,30881,30882,30885,30887,30889,30892],{"class":3767,"line":13696},[3765,30883,30884],{"class":4381},"          onChange",[3765,30886,4385],{"class":3775},[3765,30888,4388],{"class":3790},[3765,30890,30891],{"class":3771},"onAndroidChange",[3765,30893,4598],{"class":3790},[3765,30895,30896,30899,30901,30903,30906],{"class":3767,"line":13705},[3765,30897,30898],{"class":4381},"          minimumDate",[3765,30900,4385],{"class":3775},[3765,30902,4388],{"class":3790},[3765,30904,30905],{"class":3771},"minimumDate",[3765,30907,4598],{"class":3790},[3765,30909,30910,30913,30915,30917,30920],{"class":3767,"line":13710},[3765,30911,30912],{"class":4381},"          maximumDate",[3765,30914,4385],{"class":3775},[3765,30916,4388],{"class":3790},[3765,30918,30919],{"class":3771},"maximumDate",[3765,30921,4598],{"class":3790},[3765,30923,30924],{"class":3767,"line":13715},[3765,30925,11252],{"class":4375},[3765,30927,30928,30930,30932],{"class":3767,"line":13722},[3765,30929,13411],{"class":3797},[3765,30931,4229],{"class":3775},[3765,30933,13416],{"class":3790},[3765,30935,30936],{"class":3767,"line":13746},[3765,30937,4363],{"emptyLinePlaceholder":4362},[3765,30939,30940,30942,30944,30946,30948,30951,30953,30955],{"class":3767,"line":13753},[3765,30941,13136],{"class":3790},[3765,30943,18013],{"class":3771},[3765,30945,3776],{"class":3797},[3765,30947,26500],{"class":3828},[3765,30949,30950],{"class":3775}," !==",[3765,30952,30829],{"class":3786},[3765,30954,11023],{"class":3775},[3765,30956,5085],{"class":3797},[3765,30958,30959,30961],{"class":3767,"line":13764},[3765,30960,7042],{"class":4375},[3765,30962,30963],{"class":3845},"Modal\n",[3765,30965,30966,30969,30971,30973,30975],{"class":3767,"line":13777},[3765,30967,30968],{"class":4381},"          visible",[3765,30970,4385],{"class":3775},[3765,30972,4388],{"class":3790},[3765,30974,30080],{"class":3771},[3765,30976,4598],{"class":3790},[3765,30978,30979],{"class":3767,"line":13783},[3765,30980,30981],{"class":4381},"          transparent\n",[3765,30983,30984,30987,30989],{"class":3767,"line":13797},[3765,30985,30986],{"class":4381},"          animationType",[3765,30988,4385],{"class":3775},[3765,30990,30991],{"class":3786},"\"slide\"\n",[3765,30993,30994,30997,30999,31001,31004],{"class":3767,"line":13811},[3765,30995,30996],{"class":4381},"          onRequestClose",[3765,30998,4385],{"class":3775},[3765,31000,4388],{"class":3790},[3765,31002,31003],{"class":3771},"closePicker",[3765,31005,4598],{"class":3790},[3765,31007,31008],{"class":3767,"line":13825},[3765,31009,14045],{"class":4375},[3765,31011,31012,31014,31016,31018,31020,31022,31024,31026,31029,31031,31033,31035,31037,31039,31041],{"class":3767,"line":13840},[3765,31013,7624],{"class":4375},[3765,31015,7158],{"class":3845},[3765,31017,5096],{"class":4381},[3765,31019,4385],{"class":3775},[3765,31021,4388],{"class":3790},[3765,31023,5103],{"class":3771},[3765,31025,3776],{"class":3797},[3765,31027,31028],{"class":3771},"backdrop",[3765,31030,3803],{"class":3790},[3765,31032,5212],{"class":4381},[3765,31034,4385],{"class":3775},[3765,31036,4388],{"class":3790},[3765,31038,31003],{"class":3771},[3765,31040,3803],{"class":3790},[3765,31042,5238],{"class":4375},[3765,31044,31045,31047],{"class":3767,"line":13854},[3765,31046,7624],{"class":4375},[3765,31048,13485],{"class":3845},[3765,31050,31051,31053,31055,31057],{"class":3767,"line":13860},[3765,31052,16172],{"class":4381},[3765,31054,4385],{"class":3775},[3765,31056,4388],{"class":3790},[3765,31058,13497],{"class":3797},[3765,31060,31061,31064,31066,31069],{"class":3767,"line":13868},[3765,31062,31063],{"class":3771},"              styles",[3765,31065,3776],{"class":3797},[3765,31067,31068],{"class":3771},"sheet",[3765,31070,4479],{"class":3797},[3765,31072,31073],{"class":3767,"line":13873},[3765,31074,31075],{"class":3797},"              {\n",[3765,31077,31078,31081,31083,31085,31087],{"class":3767,"line":13898},[3765,31079,31080],{"class":3771},"                backgroundColor:",[3765,31082,11062],{"class":3771},[3765,31084,3776],{"class":3797},[3765,31086,14339],{"class":3771},[3765,31088,4479],{"class":3797},[3765,31090,31091,31094,31096,31098,31100],{"class":3767,"line":13933},[3765,31092,31093],{"class":3771},"                borderColor:",[3765,31095,11062],{"class":3771},[3765,31097,3776],{"class":3797},[3765,31099,11547],{"class":3771},[3765,31101,4479],{"class":3797},[3765,31103,31104,31107,31109,31111,31113],{"class":3767,"line":13959},[3765,31105,31106],{"class":3771},"                paddingBottom:",[3765,31108,13109],{"class":3771},[3765,31110,3776],{"class":3797},[3765,31112,16107],{"class":3771},[3765,31114,4479],{"class":3797},[3765,31116,31117],{"class":3767,"line":13968},[3765,31118,31119],{"class":3797},"              },\n",[3765,31121,31122,31125],{"class":3767,"line":13975},[3765,31123,31124],{"class":3797},"            ]",[3765,31126,4598],{"class":3790},[3765,31128,31129],{"class":3767,"line":13985},[3765,31130,16202],{"class":4375},[3765,31132,31133,31135],{"class":3767,"line":13997},[3765,31134,7648],{"class":4375},[3765,31136,13485],{"class":3845},[3765,31138,31139,31141,31143,31145],{"class":3767,"line":14011},[3765,31140,7841],{"class":4381},[3765,31142,4385],{"class":3775},[3765,31144,4388],{"class":3790},[3765,31146,13497],{"class":3797},[3765,31148,31149,31151,31153,31156],{"class":3767,"line":14025},[3765,31150,20407],{"class":3771},[3765,31152,3776],{"class":3797},[3765,31154,31155],{"class":3771},"sheetHeader",[3765,31157,4479],{"class":3797},[3765,31159,31160,31163,31166,31168,31170,31172,31174,31177,31179,31181,31183],{"class":3767,"line":14035},[3765,31161,31162],{"class":3797},"                { ",[3765,31164,31165],{"class":3771},"paddingHorizontal:",[3765,31167,13109],{"class":3771},[3765,31169,3776],{"class":3797},[3765,31171,13114],{"class":3771},[3765,31173,4032],{"class":3797},[3765,31175,31176],{"class":3771},"paddingTop:",[3765,31178,13109],{"class":3771},[3765,31180,3776],{"class":3797},[3765,31182,13114],{"class":3771},[3765,31184,4589],{"class":3797},[3765,31186,31187,31189],{"class":3767,"line":14042},[3765,31188,20469],{"class":3797},[3765,31190,4598],{"class":3790},[3765,31192,31193],{"class":3767,"line":14048},[3765,31194,7888],{"class":4375},[3765,31196,31197,31199,31201,31203,31205,31207,31209,31211,31213,31215,31217,31219],{"class":3767,"line":14065},[3765,31198,7682],{"class":4375},[3765,31200,5120],{"class":3845},[3765,31202,5123],{"class":4381},[3765,31204,4385],{"class":3775},[3765,31206,5128],{"class":3786},[3765,31208,4408],{"class":4375},[3765,31210,4388],{"class":3790},[3765,31212,12507],{"class":3771},[3765,31214,3803],{"class":3790},[3765,31216,4414],{"class":4375},[3765,31218,5120],{"class":3845},[3765,31220,4419],{"class":4375},[3765,31222,31223,31225,31227],{"class":3767,"line":14100},[3765,31224,7823],{"class":4375},[3765,31226,5093],{"class":3845},[3765,31228,4419],{"class":4375},[3765,31230,31231,31233],{"class":3767,"line":14111},[3765,31232,7648],{"class":4375},[3765,31234,30846],{"class":3845},[3765,31236,31237,31239,31241,31243,31245],{"class":3767,"line":14120},[3765,31238,26825],{"class":4381},[3765,31240,4385],{"class":3775},[3765,31242,4388],{"class":3790},[3765,31244,30109],{"class":3771},[3765,31246,4598],{"class":3790},[3765,31248,31249,31252,31254],{"class":3767,"line":14125},[3765,31250,31251],{"class":4381},"              mode",[3765,31253,4385],{"class":3775},[3765,31255,30869],{"class":3786},[3765,31257,31258,31261,31263],{"class":3767,"line":14175},[3765,31259,31260],{"class":4381},"              display",[3765,31262,4385],{"class":3775},[3765,31264,31265],{"class":3786},"\"spinner\"\n",[3765,31267,31268,31270,31272,31274,31277],{"class":3767,"line":14198},[3765,31269,27472],{"class":4381},[3765,31271,4385],{"class":3775},[3765,31273,4388],{"class":3790},[3765,31275,31276],{"class":3771},"onIosChange",[3765,31278,4598],{"class":3790},[3765,31280,31281,31283,31285,31287,31289],{"class":3767,"line":14224},[3765,31282,27663],{"class":4381},[3765,31284,4385],{"class":3775},[3765,31286,4388],{"class":3790},[3765,31288,30905],{"class":3771},[3765,31290,4598],{"class":3790},[3765,31292,31293,31296,31298,31300,31302],{"class":3767,"line":14232},[3765,31294,31295],{"class":4381},"              maximumDate",[3765,31297,4385],{"class":3775},[3765,31299,4388],{"class":3790},[3765,31301,30919],{"class":3771},[3765,31303,4598],{"class":3790},[3765,31305,31306,31308,31310,31312,31314,31317,31319,31321],{"class":3767,"line":14239},[3765,31307,7841],{"class":4381},[3765,31309,4385],{"class":3775},[3765,31311,4388],{"class":3790},[3765,31313,7063],{"class":3797},[3765,31315,31316],{"class":3771},"alignSelf:",[3765,31318,8513],{"class":3786},[3765,31320,7072],{"class":3797},[3765,31322,4598],{"class":3790},[3765,31324,31325],{"class":3767,"line":14257},[3765,31326,11913],{"class":4375},[3765,31328,31329,31331],{"class":3767,"line":14286},[3765,31330,7648],{"class":4375},[3765,31332,13485],{"class":3845},[3765,31334,31335,31337,31339,31341],{"class":3767,"line":14298},[3765,31336,7841],{"class":4381},[3765,31338,4385],{"class":3775},[3765,31340,4388],{"class":3790},[3765,31342,13497],{"class":3797},[3765,31344,31345,31347,31349,31352],{"class":3767,"line":14311},[3765,31346,20407],{"class":3771},[3765,31348,3776],{"class":3797},[3765,31350,31351],{"class":3771},"sheetActions",[3765,31353,4479],{"class":3797},[3765,31355,31356,31358,31360,31362,31364,31366,31368,31370,31372,31374,31376],{"class":3767,"line":14317},[3765,31357,31162],{"class":3797},[3765,31359,31165],{"class":3771},[3765,31361,13109],{"class":3771},[3765,31363,3776],{"class":3797},[3765,31365,13114],{"class":3771},[3765,31367,4032],{"class":3797},[3765,31369,9540],{"class":3771},[3765,31371,13109],{"class":3771},[3765,31373,3776],{"class":3797},[3765,31375,13176],{"class":3771},[3765,31377,4589],{"class":3797},[3765,31379,31380,31382],{"class":3767,"line":14344},[3765,31381,20469],{"class":3797},[3765,31383,4598],{"class":3790},[3765,31385,31386],{"class":3767,"line":14358},[3765,31387,7888],{"class":4375},[3765,31389,31390,31392,31394,31396,31398,31401,31403,31405,31407,31410,31412],{"class":3767,"line":14364},[3765,31391,7682],{"class":4375},[3765,31393,5201],{"class":3845},[3765,31395,5204],{"class":4381},[3765,31397,4385],{"class":3775},[3765,31399,31400],{"class":3786},"\"Готово\"",[3765,31402,5212],{"class":4381},[3765,31404,4385],{"class":3775},[3765,31406,4388],{"class":3790},[3765,31408,31409],{"class":3771},"applyIos",[3765,31411,3803],{"class":3790},[3765,31413,5238],{"class":4375},[3765,31415,31416,31418,31420,31422,31424,31426,31428,31430,31432,31434,31436,31438,31440,31443,31445],{"class":3767,"line":14372},[3765,31417,7682],{"class":4375},[3765,31419,7158],{"class":3845},[3765,31421,5212],{"class":4381},[3765,31423,4385],{"class":3775},[3765,31425,4388],{"class":3790},[3765,31427,31003],{"class":3771},[3765,31429,3803],{"class":3790},[3765,31431,5096],{"class":4381},[3765,31433,4385],{"class":3775},[3765,31435,4388],{"class":3790},[3765,31437,5103],{"class":3771},[3765,31439,3776],{"class":3797},[3765,31441,31442],{"class":3771},"cancel",[3765,31444,3803],{"class":3790},[3765,31446,4419],{"class":4375},[3765,31448,31449,31451,31453,31455,31457,31459,31461,31463,31465,31467,31469,31472,31474,31476],{"class":3767,"line":14383},[3765,31450,7692],{"class":4375},[3765,31452,5120],{"class":3845},[3765,31454,5155],{"class":4381},[3765,31456,4385],{"class":3775},[3765,31458,4388],{"class":3790},[3765,31460,5162],{"class":3771},[3765,31462,3776],{"class":3797},[3765,31464,5167],{"class":3771},[3765,31466,3803],{"class":3790},[3765,31468,4408],{"class":4375},[3765,31470,31471],{"class":3797},"Скасувати",[3765,31473,4414],{"class":4375},[3765,31475,5120],{"class":3845},[3765,31477,4419],{"class":4375},[3765,31479,31480,31482,31484],{"class":3767,"line":14404},[3765,31481,7813],{"class":4375},[3765,31483,7158],{"class":3845},[3765,31485,4419],{"class":4375},[3765,31487,31488,31490,31492],{"class":3767,"line":14431},[3765,31489,7823],{"class":4375},[3765,31491,5093],{"class":3845},[3765,31493,4419],{"class":4375},[3765,31495,31496,31498,31500],{"class":3767,"line":14437},[3765,31497,7936],{"class":4375},[3765,31499,5093],{"class":3845},[3765,31501,4419],{"class":4375},[3765,31503,31504,31506,31509],{"class":3767,"line":14444},[3765,31505,9099],{"class":4375},[3765,31507,31508],{"class":3845},"Modal",[3765,31510,4419],{"class":4375},[3765,31512,31513,31515,31517],{"class":3767,"line":14454},[3765,31514,13411],{"class":3797},[3765,31516,4229],{"class":3775},[3765,31518,13416],{"class":3790},[3765,31520,31521,31523,31525],{"class":3767,"line":14486},[3765,31522,5243],{"class":4375},[3765,31524,5093],{"class":3845},[3765,31526,4419],{"class":4375},[3765,31528,31529],{"class":3767,"line":14505},[3765,31530,5252],{"class":3775},[3765,31532,31533],{"class":3767,"line":14511},[3765,31534,4598],{"class":3775},[3765,31536,31537],{"class":3767,"line":14525},[3765,31538,4363],{"emptyLinePlaceholder":4362},[3765,31540,31541,31543,31546,31548,31550,31552,31554,31556,31558],{"class":3767,"line":14535},[3765,31542,10963],{"class":3790},[3765,31544,31545],{"class":3779}," formatDisplay",[3765,31547,3783],{"class":3775},[3765,31549,22663],{"class":3771},[3765,31551,3842],{"class":3775},[3765,31553,22668],{"class":3845},[3765,31555,6777],{"class":3775},[3765,31557,3846],{"class":3845},[3765,31559,4487],{"class":3775},[3765,31561,31562,31564,31567,31569,31571,31573,31575,31577,31579,31582,31585,31587,31589,31591,31594],{"class":3767,"line":14544},[3765,31563,4758],{"class":3790},[3765,31565,31566],{"class":3828}," dd",[3765,31568,4908],{"class":3775},[3765,31570,8849],{"class":3779},[3765,31572,3783],{"class":3775},[3765,31574,22663],{"class":3771},[3765,31576,3776],{"class":3775},[3765,31578,22689],{"class":3779},[3765,31580,31581],{"class":3775},"()).",[3765,31583,31584],{"class":3779},"padStart",[3765,31586,3783],{"class":3775},[3765,31588,18671],{"class":4931},[3765,31590,4032],{"class":3775},[3765,31592,31593],{"class":3786},"'0'",[3765,31595,3809],{"class":3775},[3765,31597,31598,31600,31603,31605,31607,31609,31611,31613,31615,31617,31619,31621,31623,31625,31627,31629,31631],{"class":3767,"line":14550},[3765,31599,4758],{"class":3790},[3765,31601,31602],{"class":3828}," mm",[3765,31604,4908],{"class":3775},[3765,31606,8849],{"class":3779},[3765,31608,3783],{"class":3775},[3765,31610,22663],{"class":3771},[3765,31612,3776],{"class":3775},[3765,31614,22708],{"class":3779},[3765,31616,25847],{"class":3775},[3765,31618,22336],{"class":4931},[3765,31620,4635],{"class":3775},[3765,31622,31584],{"class":3779},[3765,31624,3783],{"class":3775},[3765,31626,18671],{"class":4931},[3765,31628,4032],{"class":3775},[3765,31630,31593],{"class":3786},[3765,31632,3809],{"class":3775},[3765,31634,31635,31637,31640,31642,31644,31646,31648],{"class":3767,"line":14558},[3765,31636,4758],{"class":3790},[3765,31638,31639],{"class":3828}," yyyy",[3765,31641,4908],{"class":3775},[3765,31643,22663],{"class":3771},[3765,31645,3776],{"class":3775},[3765,31647,22792],{"class":3779},[3765,31649,6811],{"class":3775},[3765,31651,31652,31654,31656,31658,31661,31663,31665,31667,31670,31672,31674,31676,31679,31681,31683],{"class":3767,"line":14567},[3765,31653,5082],{"class":4715},[3765,31655,14071],{"class":3786},[3765,31657,3791],{"class":3790},[3765,31659,31660],{"class":3771},"dd",[3765,31662,3803],{"class":3790},[3765,31664,3776],{"class":3786},[3765,31666,3791],{"class":3790},[3765,31668,31669],{"class":3771},"mm",[3765,31671,3803],{"class":3790},[3765,31673,3776],{"class":3786},[3765,31675,3791],{"class":3790},[3765,31677,31678],{"class":3771},"yyyy",[3765,31680,3803],{"class":3790},[3765,31682,3806],{"class":3786},[3765,31684,4732],{"class":3775},[3765,31686,31687],{"class":3767,"line":14576},[3765,31688,4598],{"class":3775},[3765,31690,31691],{"class":3767,"line":14581},[3765,31692,4363],{"emptyLinePlaceholder":4362},[3765,31694,31695,31697,31699,31701,31703,31705,31707],{"class":3767,"line":14605},[3765,31696,3822],{"class":3790},[3765,31698,8093],{"class":3828},[3765,31700,4908],{"class":3775},[3765,31702,7163],{"class":3771},[3765,31704,3776],{"class":3775},[3765,31706,8102],{"class":3779},[3765,31708,4468],{"class":3775},[3765,31710,31711,31714],{"class":3767,"line":14613},[3765,31712,31713],{"class":3771},"  label:",[3765,31715,4487],{"class":3775},[3765,31717,31718,31720,31722],{"class":3767,"line":14627},[3765,31719,8257],{"class":3771},[3765,31721,7010],{"class":3786},[3765,31723,4479],{"class":3775},[3765,31725,31726],{"class":3767,"line":14642},[3765,31727,4521],{"class":3775},[3765,31729,31730,31733],{"class":3767,"line":14657},[3765,31731,31732],{"class":3771},"  field:",[3765,31734,4487],{"class":3775},[3765,31736,31737,31739,31741],{"class":3767,"line":14672},[3765,31738,8324],{"class":3771},[3765,31740,8118],{"class":4931},[3765,31742,4479],{"class":3775},[3765,31744,31745,31747,31750],{"class":3767,"line":14687},[3765,31746,29668],{"class":3771},[3765,31748,31749],{"class":4931}," 48",[3765,31751,4479],{"class":3775},[3765,31753,31754,31756,31758],{"class":3767,"line":14699},[3765,31755,9573],{"class":3771},[3765,31757,8513],{"class":3786},[3765,31759,4479],{"class":3775},[3765,31761,31762],{"class":3767,"line":14712},[3765,31763,4521],{"class":3775},[3765,31765,31766,31769],{"class":3767,"line":14725},[3765,31767,31768],{"class":3771},"  backdrop:",[3765,31770,4487],{"class":3775},[3765,31772,31773,31775,31777],{"class":3767,"line":14738},[3765,31774,9556],{"class":3771},[3765,31776,8118],{"class":4931},[3765,31778,4479],{"class":3775},[3765,31780,31781,31783,31786],{"class":3767,"line":14745},[3765,31782,8303],{"class":3771},[3765,31784,31785],{"class":3786}," 'rgba(0,0,0,0.35)'",[3765,31787,4479],{"class":3775},[3765,31789,31790],{"class":3767,"line":14787},[3765,31791,4521],{"class":3775},[3765,31793,31794,31797],{"class":3767,"line":14797},[3765,31795,31796],{"class":3771},"  sheet:",[3765,31798,4487],{"class":3775},[3765,31800,31801,31804,31806],{"class":3767,"line":14805},[3765,31802,31803],{"class":3771},"    borderTopLeftRadius:",[3765,31805,8143],{"class":4931},[3765,31807,4479],{"class":3775},[3765,31809,31810,31813,31815],{"class":3767,"line":14819},[3765,31811,31812],{"class":3771},"    borderTopRightRadius:",[3765,31814,8143],{"class":4931},[3765,31816,4479],{"class":3775},[3765,31818,31819,31821,31823],{"class":3767,"line":14834},[3765,31820,15407],{"class":3771},[3765,31822,8118],{"class":4931},[3765,31824,4479],{"class":3775},[3765,31826,31827],{"class":3767,"line":14852},[3765,31828,4521],{"class":3775},[3765,31830,31831,31834],{"class":3767,"line":14874},[3765,31832,31833],{"class":3771},"  sheetHeader:",[3765,31835,4487],{"class":3775},[3765,31837,31838,31840,31842],{"class":3767,"line":14879},[3765,31839,8510],{"class":3771},[3765,31841,8513],{"class":3786},[3765,31843,4479],{"class":3775},[3765,31845,31846],{"class":3767,"line":14885},[3765,31847,4521],{"class":3775},[3765,31849,31850,31853],{"class":3767,"line":14895},[3765,31851,31852],{"class":3771},"  sheetActions:",[3765,31854,4487],{"class":3775},[3765,31856,31857,31859,31861],{"class":3767,"line":14900},[3765,31858,8217],{"class":3771},[3765,31860,8154],{"class":4931},[3765,31862,4479],{"class":3775},[3765,31864,31865],{"class":3767,"line":14909},[3765,31866,4521],{"class":3775},[3765,31868,31869,31872],{"class":3767,"line":14914},[3765,31870,31871],{"class":3771},"  cancel:",[3765,31873,4487],{"class":3775},[3765,31875,31876,31878,31880],{"class":3767,"line":14921},[3765,31877,8510],{"class":3771},[3765,31879,8513],{"class":3786},[3765,31881,4479],{"class":3775},[3765,31883,31884,31886,31888],{"class":3767,"line":14932},[3765,31885,8473],{"class":3771},[3765,31887,7591],{"class":4931},[3765,31889,4479],{"class":3775},[3765,31891,31892],{"class":3767,"line":14944},[3765,31893,4521],{"class":3775},[3765,31895,31896],{"class":3767,"line":14949},[3765,31897,4527],{"class":3775},[3756,31899,31902],{"className":3758,"code":31900,"filename":31901,"language":3760,"meta":3761,"style":3761},"import { ReactNode } from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\nimport { AppText } from '@\u002Fshared\u002Fui';\n\ntype FormRowProps = {\n  label: string;\n  \u002F** Короткий опис під label (для Switch \u002F Checkbox \u002F Slider). *\u002F\n  description?: string;\n  error?: string;\n  \u002F** Правий слот: Switch, Checkbox тощо. *\u002F\n  control: ReactNode;\n  \u002F** Якщо true — control під label на всю ширину (Slider, Picker). *\u002F\n  stacked?: boolean;\n};\n\n\u002F**\n * Рядок форми для не-текстових контролів:\n * label + опис зліва, control справа (або stacked).\n *\u002F\nexport function FormRow({\n  label,\n  description,\n  error,\n  control,\n  stacked = false,\n}: FormRowProps) {\n  const { colors, spacing } = useTheme();\n\n  return (\n    \u003CView style={[styles.wrap, { gap: spacing.xs }]}>\n      \u003CView\n        style={[\n          stacked ? styles.stacked : styles.row,\n          !stacked && { gap: spacing.md },\n        ]}\n      >\n        \u003CView style={styles.texts}>\n          \u003CAppText variant=\"caption\" style={styles.label}>\n            {label}\n          \u003C\u002FAppText>\n          {description ? (\n            \u003CAppText variant=\"caption\" color={colors.textSecondary}>\n              {description}\n            \u003C\u002FAppText>\n          ) : null}\n        \u003C\u002FView>\n        \u003CView style={stacked ? styles.fullControl : styles.sideControl}>\n          {control}\n        \u003C\u002FView>\n      \u003C\u002FView>\n      {error ? (\n        \u003CAppText variant=\"caption\" color={colors.danger}>\n          {error}\n        \u003C\u002FAppText>\n      ) : null}\n    \u003C\u002FView>\n  );\n}\n\nconst styles = StyleSheet.create({\n  wrap: {\n    width: '100%',\n  },\n  row: {\n    flexDirection: 'row',\n    alignItems: 'center',\n    justifyContent: 'space-between',\n  },\n  stacked: {\n    flexDirection: 'column',\n    alignItems: 'stretch',\n  },\n  texts: {\n    flex: 1,\n    gap: 2,\n  },\n  label: {\n    fontWeight: '600',\n  },\n  sideControl: {\n    flexShrink: 0,\n  },\n  fullControl: {\n    marginTop: 8,\n    width: '100%',\n  },\n});\n","src\u002Ffeatures\u002Ftrips\u002Fui\u002FFormRow.tsx",[3747,31903,31904,31920,31940,31944,31960,31976,31980,31989,31999,32004,32014,32024,32029,32040,32045,32056,32060,32064,32068,32073,32078,32082,32093,32099,32105,32111,32117,32127,32136,32154,32158,32164,32201,32207,32217,32242,32263,32269,32273,32296,32324,32332,32340,32350,32378,32386,32394,32402,32410,32446,32454,32462,32470,32480,32508,32516,32524,32532,32540,32544,32548,32552,32568,32575,32583,32587,32594,32602,32610,32619,32623,32630,32639,32647,32651,32658,32666,32674,32678,32684,32692,32696,32703,32712,32716,32723,32731,32739,32743],{"__ignoreMap":3761},[3765,31905,31906,31908,31910,31912,31914,31916,31918],{"class":3767,"line":3768},[3765,31907,4716],{"class":4715},[3765,31909,3825],{"class":3775},[3765,31911,23394],{"class":3771},[3765,31913,4723],{"class":3775},[3765,31915,4726],{"class":4715},[3765,31917,12276],{"class":3786},[3765,31919,4732],{"class":3775},[3765,31921,31922,31924,31926,31928,31930,31932,31934,31936,31938],{"class":3767,"line":4332},[3765,31923,4716],{"class":4715},[3765,31925,3825],{"class":3775},[3765,31927,7163],{"class":3771},[3765,31929,4032],{"class":3775},[3765,31931,5093],{"class":3771},[3765,31933,4723],{"class":3775},[3765,31935,4726],{"class":4715},[3765,31937,5603],{"class":3786},[3765,31939,4732],{"class":3775},[3765,31941,31942],{"class":3767,"line":4359},[3765,31943,4363],{"emptyLinePlaceholder":4362},[3765,31945,31946,31948,31950,31952,31954,31956,31958],{"class":3767,"line":4366},[3765,31947,4716],{"class":4715},[3765,31949,3825],{"class":3775},[3765,31951,10881],{"class":3771},[3765,31953,4723],{"class":3775},[3765,31955,4726],{"class":4715},[3765,31957,10888],{"class":3786},[3765,31959,4732],{"class":3775},[3765,31961,31962,31964,31966,31968,31970,31972,31974],{"class":3767,"line":4372},[3765,31963,4716],{"class":4715},[3765,31965,3825],{"class":3775},[3765,31967,5120],{"class":3771},[3765,31969,4723],{"class":3775},[3765,31971,4726],{"class":4715},[3765,31973,12479],{"class":3786},[3765,31975,4732],{"class":3775},[3765,31977,31978],{"class":3767,"line":4504},[3765,31979,4363],{"emptyLinePlaceholder":4362},[3765,31981,31982,31984,31987],{"class":3767,"line":4518},[3765,31983,12444],{"class":3790},[3765,31985,31986],{"class":3845}," FormRowProps",[3765,31988,6529],{"class":3775},[3765,31990,31991,31993,31995,31997],{"class":3767,"line":4524},[3765,31992,29872],{"class":3771},[3765,31994,3842],{"class":3775},[3765,31996,3846],{"class":3845},[3765,31998,4732],{"class":3775},[3765,32000,32001],{"class":3767,"line":4530},[3765,32002,32003],{"class":4328},"  \u002F** Короткий опис під label (для Switch \u002F Checkbox \u002F Slider). *\u002F\n",[3765,32005,32006,32008,32010,32012],{"class":3767,"line":4535},[3765,32007,6556],{"class":3771},[3765,32009,4786],{"class":3775},[3765,32011,3846],{"class":3845},[3765,32013,4732],{"class":3775},[3765,32015,32016,32018,32020,32022],{"class":3767,"line":4541},[3765,32017,29928],{"class":3771},[3765,32019,4786],{"class":3775},[3765,32021,3846],{"class":3845},[3765,32023,4732],{"class":3775},[3765,32025,32026],{"class":3767,"line":4549},[3765,32027,32028],{"class":4328},"  \u002F** Правий слот: Switch, Checkbox тощо. *\u002F\n",[3765,32030,32031,32034,32036,32038],{"class":3767,"line":4562},[3765,32032,32033],{"class":3771},"  control",[3765,32035,3842],{"class":3775},[3765,32037,23394],{"class":3845},[3765,32039,4732],{"class":3775},[3765,32041,32042],{"class":3767,"line":4572},[3765,32043,32044],{"class":4328},"  \u002F** Якщо true — control під label на всю ширину (Slider, Picker). *\u002F\n",[3765,32046,32047,32050,32052,32054],{"class":3767,"line":4592},[3765,32048,32049],{"class":3771},"  stacked",[3765,32051,4786],{"class":3775},[3765,32053,21750],{"class":3845},[3765,32055,4732],{"class":3775},[3765,32057,32058],{"class":3767,"line":4601},[3765,32059,6578],{"class":3775},[3765,32061,32062],{"class":3767,"line":4606},[3765,32063,4363],{"emptyLinePlaceholder":4362},[3765,32065,32066],{"class":3767,"line":4612},[3765,32067,10899],{"class":4328},[3765,32069,32070],{"class":3767,"line":6683},[3765,32071,32072],{"class":4328}," * Рядок форми для не-текстових контролів:\n",[3765,32074,32075],{"class":3767,"line":6693},[3765,32076,32077],{"class":4328}," * label + опис зліва, control справа (або stacked).\n",[3765,32079,32080],{"class":3767,"line":6698},[3765,32081,10929],{"class":4328},[3765,32083,32084,32086,32088,32091],{"class":3767,"line":6703},[3765,32085,4741],{"class":4715},[3765,32087,4747],{"class":3790},[3765,32089,32090],{"class":3779}," FormRow",[3765,32092,4468],{"class":3775},[3765,32094,32095,32097],{"class":3767,"line":6713},[3765,32096,29872],{"class":3771},[3765,32098,4479],{"class":3775},[3765,32100,32101,32103],{"class":3767,"line":6723},[3765,32102,6556],{"class":3771},[3765,32104,4479],{"class":3775},[3765,32106,32107,32109],{"class":3767,"line":6733},[3765,32108,29928],{"class":3771},[3765,32110,4479],{"class":3775},[3765,32112,32113,32115],{"class":3767,"line":6743},[3765,32114,32033],{"class":3771},[3765,32116,4479],{"class":3775},[3765,32118,32119,32121,32123,32125],{"class":3767,"line":6748},[3765,32120,32049],{"class":3771},[3765,32122,4908],{"class":3775},[3765,32124,12704],{"class":3790},[3765,32126,4479],{"class":3775},[3765,32128,32129,32131,32134],{"class":3767,"line":6754},[3765,32130,25913],{"class":3775},[3765,32132,32133],{"class":3845},"FormRowProps",[3765,32135,4961],{"class":3775},[3765,32137,32138,32140,32142,32144,32146,32148,32150,32152],{"class":3767,"line":6759},[3765,32139,4758],{"class":3790},[3765,32141,3825],{"class":3775},[3765,32143,5162],{"class":3828},[3765,32145,4032],{"class":3775},[3765,32147,12633],{"class":3828},[3765,32149,3831],{"class":3775},[3765,32151,10881],{"class":3779},[3765,32153,6811],{"class":3775},[3765,32155,32156],{"class":3767,"line":6788},[3765,32157,4363],{"emptyLinePlaceholder":4362},[3765,32159,32160,32162],{"class":3767,"line":6814},[3765,32161,5082],{"class":4715},[3765,32163,5085],{"class":3775},[3765,32165,32166,32168,32170,32172,32174,32176,32178,32180,32182,32185,32187,32189,32191,32193,32195,32197,32199],{"class":3767,"line":6852},[3765,32167,5090],{"class":4375},[3765,32169,5093],{"class":3845},[3765,32171,5096],{"class":4381},[3765,32173,4385],{"class":3775},[3765,32175,4388],{"class":3790},[3765,32177,4928],{"class":3797},[3765,32179,5103],{"class":3771},[3765,32181,3776],{"class":3797},[3765,32183,32184],{"class":3771},"wrap",[3765,32186,14147],{"class":3797},[3765,32188,9540],{"class":3771},[3765,32190,13109],{"class":3771},[3765,32192,3776],{"class":3797},[3765,32194,13835],{"class":3771},[3765,32196,14168],{"class":3797},[3765,32198,3803],{"class":3790},[3765,32200,4419],{"class":4375},[3765,32202,32203,32205],{"class":3767,"line":7689},[3765,32204,5117],{"class":4375},[3765,32206,13485],{"class":3845},[3765,32208,32209,32211,32213,32215],{"class":3767,"line":7730},[3765,32210,7972],{"class":4381},[3765,32212,4385],{"class":3775},[3765,32214,4388],{"class":3790},[3765,32216,13497],{"class":3797},[3765,32218,32219,32222,32224,32226,32228,32231,32233,32235,32237,32240],{"class":3767,"line":7769},[3765,32220,32221],{"class":3771},"          stacked",[3765,32223,11023],{"class":3775},[3765,32225,8093],{"class":3771},[3765,32227,3776],{"class":3797},[3765,32229,32230],{"class":3771},"stacked",[3765,32232,11029],{"class":3775},[3765,32234,8093],{"class":3771},[3765,32236,3776],{"class":3797},[3765,32238,32239],{"class":3771},"row",[3765,32241,4479],{"class":3797},[3765,32243,32244,32247,32249,32251,32253,32255,32257,32259,32261],{"class":3767,"line":7810},[3765,32245,32246],{"class":3775},"          !",[3765,32248,32230],{"class":3771},[3765,32250,30832],{"class":3775},[3765,32252,3825],{"class":3797},[3765,32254,9540],{"class":3771},[3765,32256,13109],{"class":3771},[3765,32258,3776],{"class":3797},[3765,32260,13114],{"class":3771},[3765,32262,4589],{"class":3797},[3765,32264,32265,32267],{"class":3767,"line":7820},[3765,32266,13863],{"class":3797},[3765,32268,4598],{"class":3790},[3765,32270,32271],{"class":3767,"line":7830},[3765,32272,7037],{"class":4375},[3765,32274,32275,32277,32279,32281,32283,32285,32287,32289,32292,32294],{"class":3767,"line":7838},[3765,32276,7042],{"class":4375},[3765,32278,5093],{"class":3845},[3765,32280,5096],{"class":4381},[3765,32282,4385],{"class":3775},[3765,32284,4388],{"class":3790},[3765,32286,5103],{"class":3771},[3765,32288,3776],{"class":3797},[3765,32290,32291],{"class":3771},"texts",[3765,32293,3803],{"class":3790},[3765,32295,4419],{"class":4375},[3765,32297,32298,32300,32302,32304,32306,32308,32310,32312,32314,32316,32318,32320,32322],{"class":3767,"line":7857},[3765,32299,7624],{"class":4375},[3765,32301,5120],{"class":3845},[3765,32303,5123],{"class":4381},[3765,32305,4385],{"class":3775},[3765,32307,5152],{"class":3786},[3765,32309,5096],{"class":4381},[3765,32311,4385],{"class":3775},[3765,32313,4388],{"class":3790},[3765,32315,5103],{"class":3771},[3765,32317,3776],{"class":3797},[3765,32319,12507],{"class":3771},[3765,32321,3803],{"class":3790},[3765,32323,4419],{"class":4375},[3765,32325,32326,32328,32330],{"class":3767,"line":7885},[3765,32327,16626],{"class":3790},[3765,32329,12507],{"class":3771},[3765,32331,4598],{"class":3790},[3765,32333,32334,32336,32338],{"class":3767,"line":7891},[3765,32335,7936],{"class":4375},[3765,32337,5120],{"class":3845},[3765,32339,4419],{"class":4375},[3765,32341,32342,32344,32346,32348],{"class":3767,"line":7924},[3765,32343,14051],{"class":3790},[3765,32345,9290],{"class":3771},[3765,32347,11023],{"class":3775},[3765,32349,5085],{"class":3797},[3765,32351,32352,32354,32356,32358,32360,32362,32364,32366,32368,32370,32372,32374,32376],{"class":3767,"line":7933},[3765,32353,7648],{"class":4375},[3765,32355,5120],{"class":3845},[3765,32357,5123],{"class":4381},[3765,32359,4385],{"class":3775},[3765,32361,5152],{"class":3786},[3765,32363,5155],{"class":4381},[3765,32365,4385],{"class":3775},[3765,32367,4388],{"class":3790},[3765,32369,5162],{"class":3771},[3765,32371,3776],{"class":3797},[3765,32373,5167],{"class":3771},[3765,32375,3803],{"class":3790},[3765,32377,4419],{"class":4375},[3765,32379,32380,32382,32384],{"class":3767,"line":7943},[3765,32381,17302],{"class":3790},[3765,32383,9290],{"class":3771},[3765,32385,4598],{"class":3790},[3765,32387,32388,32390,32392],{"class":3767,"line":7951},[3765,32389,7823],{"class":4375},[3765,32391,5120],{"class":3845},[3765,32393,4419],{"class":4375},[3765,32395,32396,32398,32400],{"class":3767,"line":7957},[3765,32397,17055],{"class":3797},[3765,32399,4229],{"class":3775},[3765,32401,13416],{"class":3790},[3765,32403,32404,32406,32408],{"class":3767,"line":7962},[3765,32405,9099],{"class":4375},[3765,32407,5093],{"class":3845},[3765,32409,4419],{"class":4375},[3765,32411,32412,32414,32416,32418,32420,32422,32424,32426,32428,32430,32433,32435,32437,32439,32442,32444],{"class":3767,"line":7969},[3765,32413,7042],{"class":4375},[3765,32415,5093],{"class":3845},[3765,32417,5096],{"class":4381},[3765,32419,4385],{"class":3775},[3765,32421,4388],{"class":3790},[3765,32423,32230],{"class":3771},[3765,32425,11023],{"class":3775},[3765,32427,8093],{"class":3771},[3765,32429,3776],{"class":3797},[3765,32431,32432],{"class":3771},"fullControl",[3765,32434,11029],{"class":3775},[3765,32436,8093],{"class":3771},[3765,32438,3776],{"class":3797},[3765,32440,32441],{"class":3771},"sideControl",[3765,32443,3803],{"class":3790},[3765,32445,4419],{"class":4375},[3765,32447,32448,32450,32452],{"class":3767,"line":7988},[3765,32449,14051],{"class":3790},[3765,32451,26749],{"class":3771},[3765,32453,4598],{"class":3790},[3765,32455,32456,32458,32460],{"class":3767,"line":8017},[3765,32457,9099],{"class":4375},[3765,32459,5093],{"class":3845},[3765,32461,4419],{"class":4375},[3765,32463,32464,32466,32468],{"class":3767,"line":8022},[3765,32465,5190],{"class":4375},[3765,32467,5093],{"class":3845},[3765,32469,4419],{"class":4375},[3765,32471,32472,32474,32476,32478],{"class":3767,"line":8055},[3765,32473,13136],{"class":3790},[3765,32475,30144],{"class":3771},[3765,32477,11023],{"class":3775},[3765,32479,5085],{"class":3797},[3765,32481,32482,32484,32486,32488,32490,32492,32494,32496,32498,32500,32502,32504,32506],{"class":3767,"line":8064},[3765,32483,7042],{"class":4375},[3765,32485,5120],{"class":3845},[3765,32487,5123],{"class":4381},[3765,32489,4385],{"class":3775},[3765,32491,5152],{"class":3786},[3765,32493,5155],{"class":4381},[3765,32495,4385],{"class":3775},[3765,32497,4388],{"class":3790},[3765,32499,5162],{"class":3771},[3765,32501,3776],{"class":3797},[3765,32503,30632],{"class":3771},[3765,32505,3803],{"class":3790},[3765,32507,4419],{"class":4375},[3765,32509,32510,32512,32514],{"class":3767,"line":8073},[3765,32511,14051],{"class":3790},[3765,32513,30144],{"class":3771},[3765,32515,4598],{"class":3790},[3765,32517,32518,32520,32522],{"class":3767,"line":8078},[3765,32519,9099],{"class":4375},[3765,32521,5120],{"class":3845},[3765,32523,4419],{"class":4375},[3765,32525,32526,32528,32530],{"class":3767,"line":8083},[3765,32527,13411],{"class":3797},[3765,32529,4229],{"class":3775},[3765,32531,13416],{"class":3790},[3765,32533,32534,32536,32538],{"class":3767,"line":8088},[3765,32535,5243],{"class":4375},[3765,32537,5093],{"class":3845},[3765,32539,4419],{"class":4375},[3765,32541,32542],{"class":3767,"line":8107},[3765,32543,5252],{"class":3775},[3765,32545,32546],{"class":3767,"line":8129},[3765,32547,4598],{"class":3775},[3765,32549,32550],{"class":3767,"line":8137},[3765,32551,4363],{"emptyLinePlaceholder":4362},[3765,32553,32554,32556,32558,32560,32562,32564,32566],{"class":3767,"line":8148},[3765,32555,3822],{"class":3790},[3765,32557,8093],{"class":3828},[3765,32559,4908],{"class":3775},[3765,32561,7163],{"class":3771},[3765,32563,3776],{"class":3775},[3765,32565,8102],{"class":3779},[3765,32567,4468],{"class":3775},[3765,32569,32570,32573],{"class":3767,"line":8159},[3765,32571,32572],{"class":3771},"  wrap:",[3765,32574,4487],{"class":3775},[3765,32576,32577,32579,32581],{"class":3767,"line":8170},[3765,32578,17867],{"class":3771},[3765,32580,17870],{"class":3786},[3765,32582,4479],{"class":3775},[3765,32584,32585],{"class":3767,"line":8181},[3765,32586,4521],{"class":3775},[3765,32588,32589,32592],{"class":3767,"line":8192},[3765,32590,32591],{"class":3771},"  row:",[3765,32593,4487],{"class":3775},[3765,32595,32596,32598,32600],{"class":3767,"line":8197},[3765,32597,15203],{"class":3771},[3765,32599,15206],{"class":3786},[3765,32601,4479],{"class":3775},[3765,32603,32604,32606,32608],{"class":3767,"line":8205},[3765,32605,8510],{"class":3771},[3765,32607,8513],{"class":3786},[3765,32609,4479],{"class":3775},[3765,32611,32612,32614,32617],{"class":3767,"line":8214},[3765,32613,9573],{"class":3771},[3765,32615,32616],{"class":3786}," 'space-between'",[3765,32618,4479],{"class":3775},[3765,32620,32621],{"class":3767,"line":8225},[3765,32622,4521],{"class":3775},[3765,32624,32625,32628],{"class":3767,"line":8235},[3765,32626,32627],{"class":3771},"  stacked:",[3765,32629,4487],{"class":3775},[3765,32631,32632,32634,32637],{"class":3767,"line":8244},[3765,32633,15203],{"class":3771},[3765,32635,32636],{"class":3786}," 'column'",[3765,32638,4479],{"class":3775},[3765,32640,32641,32643,32645],{"class":3767,"line":8254},[3765,32642,8510],{"class":3771},[3765,32644,9841],{"class":3786},[3765,32646,4479],{"class":3775},[3765,32648,32649],{"class":3767,"line":8264},[3765,32650,4521],{"class":3775},[3765,32652,32653,32656],{"class":3767,"line":8269},[3765,32654,32655],{"class":3771},"  texts:",[3765,32657,4487],{"class":3775},[3765,32659,32660,32662,32664],{"class":3767,"line":8292},[3765,32661,9556],{"class":3771},[3765,32663,8118],{"class":4931},[3765,32665,4479],{"class":3775},[3765,32667,32668,32670,32672],{"class":3767,"line":8300},[3765,32669,8356],{"class":3771},[3765,32671,9697],{"class":4931},[3765,32673,4479],{"class":3775},[3765,32675,32676],{"class":3767,"line":8311},[3765,32677,4521],{"class":3775},[3765,32679,32680,32682],{"class":3767,"line":8321},[3765,32681,31713],{"class":3771},[3765,32683,4487],{"class":3775},[3765,32685,32686,32688,32690],{"class":3767,"line":8331},[3765,32687,8257],{"class":3771},[3765,32689,7010],{"class":3786},[3765,32691,4479],{"class":3775},[3765,32693,32694],{"class":3767,"line":8342},[3765,32695,4521],{"class":3775},[3765,32697,32698,32701],{"class":3767,"line":8353},[3765,32699,32700],{"class":3771},"  sideControl:",[3765,32702,4487],{"class":3775},[3765,32704,32705,32708,32710],{"class":3767,"line":8363},[3765,32706,32707],{"class":3771},"    flexShrink:",[3765,32709,13149],{"class":4931},[3765,32711,4479],{"class":3775},[3765,32713,32714],{"class":3767,"line":8368},[3765,32715,4521],{"class":3775},[3765,32717,32718,32721],{"class":3767,"line":8397},[3765,32719,32720],{"class":3771},"  fullControl:",[3765,32722,4487],{"class":3775},[3765,32724,32725,32727,32729],{"class":3767,"line":8432},[3765,32726,8217],{"class":3771},[3765,32728,8154],{"class":4931},[3765,32730,4479],{"class":3775},[3765,32732,32733,32735,32737],{"class":3767,"line":8452},[3765,32734,17867],{"class":3771},[3765,32736,17870],{"class":3786},[3765,32738,4479],{"class":3775},[3765,32740,32741],{"class":3767,"line":8460},[3765,32742,4521],{"class":3775},[3765,32744,32745],{"class":3767,"line":8470},[3765,32746,4527],{"class":3775},[3756,32748,32751],{"className":3758,"code":32749,"filename":32750,"language":3760,"meta":3761,"style":3761},"import { memo } from 'react';\nimport { Image, Platform, Pressable, StyleSheet, View } from 'react-native';\n\nimport type { Trip } from '@\u002Ffeatures\u002Ftrips\u002Fmodel\u002Ftypes';\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\nimport { AppText } from '@\u002Fshared\u002Fui';\n\ntype TripCardProps = {\n  trip: Trip;\n  onPress?: (trip: Trip) => void;\n};\n\nfunction TripCardComponent({ trip, onPress }: TripCardProps) {\n  const { colors, spacing, radius } = useTheme();\n\n  return (\n    \u003CPressable\n      accessibilityRole=\"button\"\n      accessibilityLabel={`Поїздка ${trip.title}`}\n      onPress={() => onPress?.(trip)}\n      style={({ pressed }) => [\n        styles.card,\n        {\n          backgroundColor: colors.surface,\n          borderColor: colors.border,\n          borderRadius: radius.lg,\n        },\n        pressed && styles.cardPressed,\n      ]}\n    >\n      \u003CImage\n        source={{ uri: trip.coverUri }}\n        style={[styles.cover, { backgroundColor: colors.border }]}\n        resizeMode=\"cover\"\n        accessibilityIgnoresInvertColors\n      \u002F>\n      \u003CView style={[styles.body, { padding: spacing.md, gap: spacing.xs }]}>\n        \u003CView style={[styles.titleRow, { gap: spacing.sm }]}>\n          \u003CAppText variant=\"subtitle\" numberOfLines={1} style={styles.titleFlex}>\n            {trip.title}\n          \u003C\u002FAppText>\n          \u003CAppText variant=\"caption\" style={styles.dates}>\n            {trip.dateLabel}\n          \u003C\u002FAppText>\n        \u003C\u002FView>\n        \u003CAppText variant=\"caption\" color={colors.primary} style={styles.region}>\n          {trip.region}\n          {trip.plannedDays\n            ? ` · ${trip.plannedDays} ${trip.plannedDays === 1 ? 'день' : 'дні'}`\n            : ''}\n        \u003C\u002FAppText>\n        {(trip.isPrivate || trip.hasItinerary) && (\n          \u003CView style={[styles.badges, { gap: spacing.xs, marginTop: spacing.xs }]}>\n            {trip.isPrivate ? (\n              \u003CAppText\n                variant=\"caption\"\n                style={[styles.badge, { color: colors.textSecondary }]}\n              >\n                приватна\n              \u003C\u002FAppText>\n            ) : null}\n            {trip.hasItinerary ? (\n              \u003CAppText\n                variant=\"caption\"\n                style={[styles.badge, { color: colors.primary }]}\n              >\n                є план\n              \u003C\u002FAppText>\n            ) : null}\n          \u003C\u002FView>\n        )}\n        \u003CAppText\n          numberOfLines={2}\n          style={{ marginTop: spacing.xs, color: colors.textSecondary }}\n        >\n          {trip.description}\n        \u003C\u002FAppText>\n        \u003CView style={[styles.footer, { marginTop: spacing.sm }]}>\n          \u003CAppText variant=\"caption\" color={colors.primary}>\n            Відкрити\n          \u003C\u002FAppText>\n        \u003C\u002FView>\n      \u003C\u002FView>\n    \u003C\u002FPressable>\n  );\n}\n\n\u002F** memo: рядок списку не перемальовується, якщо props ті самі. *\u002F\nexport const TripCard = memo(TripCardComponent);\n\nconst styles = StyleSheet.create({\n  card: {\n    borderWidth: 1,\n    overflow: 'hidden',\n    ...Platform.select({\n      ios: {\n        shadowColor: '#000',\n        shadowOpacity: 0.08,\n        shadowRadius: 10,\n        shadowOffset: { width: 0, height: 4 },\n      },\n      android: {\n        elevation: 3,\n      },\n      default: {},\n    }),\n  },\n  cardPressed: {\n    opacity: 0.92,\n  },\n  cover: {\n    width: '100%',\n    height: 160,\n  },\n  body: {},\n  titleRow: {\n    flexDirection: 'row',\n    alignItems: 'center',\n  },\n  titleFlex: {\n    flex: 1,\n  },\n  dates: {\n    flexShrink: 0,\n  },\n  region: {\n    fontWeight: '600',\n  },\n  badges: {\n    flexDirection: 'row',\n    flexWrap: 'wrap',\n  },\n  badge: {\n    fontWeight: '600',\n    fontSize: 12,\n  },\n  footer: {\n    alignItems: 'flex-start',\n  },\n});\n","src\u002Ffeatures\u002Ftrips\u002Fui\u002FTripCard.tsx",[3747,32752,32753,32770,32803,32807,32825,32841,32857,32861,32870,32881,32903,32907,32911,32934,32956,32960,32966,32972,32981,33007,33031,33051,33061,33065,33077,33089,33101,33105,33121,33127,33131,33137,33160,33190,33199,33204,33208,33254,33291,33331,33343,33351,33380,33392,33400,33408,33450,33462,33472,33513,33521,33529,33557,33603,33617,33623,33632,33663,33667,33671,33679,33687,33701,33707,33715,33745,33749,33754,33762,33770,33778,33784,33790,33803,33835,33839,33851,33859,33895,33923,33928,33936,33944,33952,33960,33964,33968,33972,33977,33997,34001,34017,34023,34031,34039,34051,34057,34065,34074,34082,34100,34104,34110,34119,34123,34129,34133,34137,34144,34154,34158,34164,34172,34181,34185,34191,34198,34206,34214,34218,34225,34233,34237,34244,34252,34256,34263,34271,34275,34281,34289,34297,34301,34308,34316,34324,34328,34334,34343,34347],{"__ignoreMap":3761},[3765,32754,32755,32757,32759,32762,32764,32766,32768],{"class":3767,"line":3768},[3765,32756,4716],{"class":4715},[3765,32758,3825],{"class":3775},[3765,32760,32761],{"class":3771},"memo",[3765,32763,4723],{"class":3775},[3765,32765,4726],{"class":4715},[3765,32767,12276],{"class":3786},[3765,32769,4732],{"class":3775},[3765,32771,32772,32774,32776,32779,32781,32783,32785,32787,32789,32791,32793,32795,32797,32799,32801],{"class":3767,"line":4332},[3765,32773,4716],{"class":4715},[3765,32775,3825],{"class":3775},[3765,32777,32778],{"class":3771},"Image",[3765,32780,4032],{"class":3775},[3765,32782,18013],{"class":3771},[3765,32784,4032],{"class":3775},[3765,32786,7158],{"class":3771},[3765,32788,4032],{"class":3775},[3765,32790,7163],{"class":3771},[3765,32792,4032],{"class":3775},[3765,32794,5093],{"class":3771},[3765,32796,4723],{"class":3775},[3765,32798,4726],{"class":4715},[3765,32800,5603],{"class":3786},[3765,32802,4732],{"class":3775},[3765,32804,32805],{"class":3767,"line":4359},[3765,32806,4363],{"emptyLinePlaceholder":4362},[3765,32808,32809,32811,32813,32815,32817,32819,32821,32823],{"class":3767,"line":4366},[3765,32810,4716],{"class":4715},[3765,32812,6523],{"class":4715},[3765,32814,3825],{"class":3775},[3765,32816,12736],{"class":3771},[3765,32818,4723],{"class":3775},[3765,32820,4726],{"class":4715},[3765,32822,25570],{"class":3786},[3765,32824,4732],{"class":3775},[3765,32826,32827,32829,32831,32833,32835,32837,32839],{"class":3767,"line":4372},[3765,32828,4716],{"class":4715},[3765,32830,3825],{"class":3775},[3765,32832,10881],{"class":3771},[3765,32834,4723],{"class":3775},[3765,32836,4726],{"class":4715},[3765,32838,10888],{"class":3786},[3765,32840,4732],{"class":3775},[3765,32842,32843,32845,32847,32849,32851,32853,32855],{"class":3767,"line":4504},[3765,32844,4716],{"class":4715},[3765,32846,3825],{"class":3775},[3765,32848,5120],{"class":3771},[3765,32850,4723],{"class":3775},[3765,32852,4726],{"class":4715},[3765,32854,12479],{"class":3786},[3765,32856,4732],{"class":3775},[3765,32858,32859],{"class":3767,"line":4518},[3765,32860,4363],{"emptyLinePlaceholder":4362},[3765,32862,32863,32865,32868],{"class":3767,"line":4524},[3765,32864,12444],{"class":3790},[3765,32866,32867],{"class":3845}," TripCardProps",[3765,32869,6529],{"class":3775},[3765,32871,32872,32875,32877,32879],{"class":3767,"line":4530},[3765,32873,32874],{"class":3771},"  trip",[3765,32876,3842],{"class":3775},[3765,32878,12736],{"class":3845},[3765,32880,4732],{"class":3775},[3765,32882,32883,32886,32889,32891,32893,32895,32897,32899,32901],{"class":3767,"line":4535},[3765,32884,32885],{"class":3779},"  onPress",[3765,32887,32888],{"class":3775},"?: (",[3765,32890,3794],{"class":3771},[3765,32892,3842],{"class":3775},[3765,32894,12736],{"class":3845},[3765,32896,6832],{"class":3775},[3765,32898,5222],{"class":3790},[3765,32900,23313],{"class":3845},[3765,32902,4732],{"class":3775},[3765,32904,32905],{"class":3767,"line":4541},[3765,32906,6578],{"class":3775},[3765,32908,32909],{"class":3767,"line":4549},[3765,32910,4363],{"emptyLinePlaceholder":4362},[3765,32912,32913,32915,32918,32920,32922,32924,32927,32929,32932],{"class":3767,"line":4562},[3765,32914,10963],{"class":3790},[3765,32916,32917],{"class":3779}," TripCardComponent",[3765,32919,5621],{"class":3775},[3765,32921,3794],{"class":3771},[3765,32923,4032],{"class":3775},[3765,32925,32926],{"class":3771},"onPress",[3765,32928,23421],{"class":3775},[3765,32930,32931],{"class":3845},"TripCardProps",[3765,32933,4961],{"class":3775},[3765,32935,32936,32938,32940,32942,32944,32946,32948,32950,32952,32954],{"class":3767,"line":4572},[3765,32937,4758],{"class":3790},[3765,32939,3825],{"class":3775},[3765,32941,5162],{"class":3828},[3765,32943,4032],{"class":3775},[3765,32945,12633],{"class":3828},[3765,32947,4032],{"class":3775},[3765,32949,15815],{"class":3828},[3765,32951,3831],{"class":3775},[3765,32953,10881],{"class":3779},[3765,32955,6811],{"class":3775},[3765,32957,32958],{"class":3767,"line":4592},[3765,32959,4363],{"emptyLinePlaceholder":4362},[3765,32961,32962,32964],{"class":3767,"line":4601},[3765,32963,5082],{"class":4715},[3765,32965,5085],{"class":3775},[3765,32967,32968,32970],{"class":3767,"line":4606},[3765,32969,5090],{"class":4375},[3765,32971,7835],{"class":3845},[3765,32973,32974,32977,32979],{"class":3767,"line":4612},[3765,32975,32976],{"class":4381},"      accessibilityRole",[3765,32978,4385],{"class":3775},[3765,32980,14380],{"class":3786},[3765,32982,32983,32986,32988,32990,32993,32995,32997,32999,33001,33003,33005],{"class":3767,"line":6683},[3765,32984,32985],{"class":4381},"      accessibilityLabel",[3765,32987,4385],{"class":3775},[3765,32989,4388],{"class":3790},[3765,32991,32992],{"class":3786},"`Поїздка ",[3765,32994,3791],{"class":3790},[3765,32996,3794],{"class":3771},[3765,32998,3776],{"class":3797},[3765,33000,5628],{"class":3771},[3765,33002,3803],{"class":3790},[3765,33004,3806],{"class":3786},[3765,33006,4598],{"class":3790},[3765,33008,33009,33012,33014,33016,33018,33020,33022,33025,33027,33029],{"class":3767,"line":6693},[3765,33010,33011],{"class":4381},"      onPress",[3765,33013,4385],{"class":3775},[3765,33015,4388],{"class":3790},[3765,33017,5219],{"class":3797},[3765,33019,5222],{"class":3790},[3765,33021,5212],{"class":3779},[3765,33023,33024],{"class":3797},"?.(",[3765,33026,3794],{"class":3771},[3765,33028,4679],{"class":3797},[3765,33030,4598],{"class":3790},[3765,33032,33033,33035,33037,33039,33041,33044,33046,33048],{"class":3767,"line":6698},[3765,33034,13490],{"class":4381},[3765,33036,4385],{"class":3775},[3765,33038,4388],{"class":3790},[3765,33040,5621],{"class":3797},[3765,33042,33043],{"class":3771},"pressed",[3765,33045,7615],{"class":3797},[3765,33047,5222],{"class":3790},[3765,33049,33050],{"class":3797}," [\n",[3765,33052,33053,33055,33057,33059],{"class":3767,"line":6703},[3765,33054,13502],{"class":3771},[3765,33056,3776],{"class":3797},[3765,33058,7639],{"class":3771},[3765,33060,4479],{"class":3797},[3765,33062,33063],{"class":3767,"line":6713},[3765,33064,13514],{"class":3797},[3765,33066,33067,33069,33071,33073,33075],{"class":3767,"line":6723},[3765,33068,11527],{"class":3771},[3765,33070,11062],{"class":3771},[3765,33072,3776],{"class":3797},[3765,33074,14339],{"class":3771},[3765,33076,4479],{"class":3797},[3765,33078,33079,33081,33083,33085,33087],{"class":3767,"line":6733},[3765,33080,17579],{"class":3771},[3765,33082,11062],{"class":3771},[3765,33084,3776],{"class":3797},[3765,33086,11547],{"class":3771},[3765,33088,4479],{"class":3797},[3765,33090,33091,33093,33095,33097,33099],{"class":3767,"line":6743},[3765,33092,17592],{"class":3771},[3765,33094,17595],{"class":3771},[3765,33096,3776],{"class":3797},[3765,33098,16107],{"class":3771},[3765,33100,4479],{"class":3797},[3765,33102,33103],{"class":3767,"line":6748},[3765,33104,11554],{"class":3797},[3765,33106,33107,33110,33112,33114,33116,33119],{"class":3767,"line":6754},[3765,33108,33109],{"class":3771},"        pressed",[3765,33111,30832],{"class":3775},[3765,33113,8093],{"class":3771},[3765,33115,3776],{"class":3797},[3765,33117,33118],{"class":3771},"cardPressed",[3765,33120,4479],{"class":3797},[3765,33122,33123,33125],{"class":3767,"line":6759},[3765,33124,13566],{"class":3797},[3765,33126,4598],{"class":3790},[3765,33128,33129],{"class":3767,"line":6788},[3765,33130,11595],{"class":4375},[3765,33132,33133,33135],{"class":3767,"line":6814},[3765,33134,5117],{"class":4375},[3765,33136,16440],{"class":3845},[3765,33138,33139,33142,33144,33146,33148,33150,33152,33154,33156,33158],{"class":3767,"line":6852},[3765,33140,33141],{"class":4381},"        source",[3765,33143,4385],{"class":3775},[3765,33145,4388],{"class":3790},[3765,33147,7063],{"class":3797},[3765,33149,16454],{"class":3771},[3765,33151,4495],{"class":3771},[3765,33153,3776],{"class":3797},[3765,33155,16461],{"class":3771},[3765,33157,7072],{"class":3797},[3765,33159,4598],{"class":3790},[3765,33161,33162,33164,33166,33168,33170,33172,33174,33176,33178,33180,33182,33184,33186,33188],{"class":3767,"line":7689},[3765,33163,7972],{"class":4381},[3765,33165,4385],{"class":3775},[3765,33167,4388],{"class":3790},[3765,33169,4928],{"class":3797},[3765,33171,5103],{"class":3771},[3765,33173,3776],{"class":3797},[3765,33175,16482],{"class":3771},[3765,33177,14147],{"class":3797},[3765,33179,6974],{"class":3771},[3765,33181,11062],{"class":3771},[3765,33183,3776],{"class":3797},[3765,33185,11547],{"class":3771},[3765,33187,14168],{"class":3797},[3765,33189,4598],{"class":3790},[3765,33191,33192,33195,33197],{"class":3767,"line":7730},[3765,33193,33194],{"class":4381},"        resizeMode",[3765,33196,4385],{"class":3775},[3765,33198,16506],{"class":3786},[3765,33200,33201],{"class":3767,"line":7769},[3765,33202,33203],{"class":4381},"        accessibilityIgnoresInvertColors\n",[3765,33205,33206],{"class":3767,"line":7810},[3765,33207,7954],{"class":4375},[3765,33209,33210,33212,33214,33216,33218,33220,33222,33224,33226,33228,33230,33232,33234,33236,33238,33240,33242,33244,33246,33248,33250,33252],{"class":3767,"line":7820},[3765,33211,5117],{"class":4375},[3765,33213,5093],{"class":3845},[3765,33215,5096],{"class":4381},[3765,33217,4385],{"class":3775},[3765,33219,4388],{"class":3790},[3765,33221,4928],{"class":3797},[3765,33223,5103],{"class":3771},[3765,33225,3776],{"class":3797},[3765,33227,9149],{"class":3771},[3765,33229,14147],{"class":3797},[3765,33231,8277],{"class":3771},[3765,33233,13109],{"class":3771},[3765,33235,3776],{"class":3797},[3765,33237,13114],{"class":3771},[3765,33239,4032],{"class":3797},[3765,33241,9540],{"class":3771},[3765,33243,13109],{"class":3771},[3765,33245,3776],{"class":3797},[3765,33247,13835],{"class":3771},[3765,33249,14168],{"class":3797},[3765,33251,3803],{"class":3790},[3765,33253,4419],{"class":4375},[3765,33255,33256,33258,33260,33262,33264,33266,33268,33270,33272,33275,33277,33279,33281,33283,33285,33287,33289],{"class":3767,"line":7830},[3765,33257,7042],{"class":4375},[3765,33259,5093],{"class":3845},[3765,33261,5096],{"class":4381},[3765,33263,4385],{"class":3775},[3765,33265,4388],{"class":3790},[3765,33267,4928],{"class":3797},[3765,33269,5103],{"class":3771},[3765,33271,3776],{"class":3797},[3765,33273,33274],{"class":3771},"titleRow",[3765,33276,14147],{"class":3797},[3765,33278,9540],{"class":3771},[3765,33280,13109],{"class":3771},[3765,33282,3776],{"class":3797},[3765,33284,13176],{"class":3771},[3765,33286,14168],{"class":3797},[3765,33288,3803],{"class":3790},[3765,33290,4419],{"class":4375},[3765,33292,33293,33295,33297,33299,33301,33303,33306,33308,33310,33312,33314,33316,33318,33320,33322,33324,33327,33329],{"class":3767,"line":7838},[3765,33294,7624],{"class":4375},[3765,33296,5120],{"class":3845},[3765,33298,5123],{"class":4381},[3765,33300,4385],{"class":3775},[3765,33302,5128],{"class":3786},[3765,33304,33305],{"class":4381}," numberOfLines",[3765,33307,4385],{"class":3775},[3765,33309,4388],{"class":3790},[3765,33311,22336],{"class":4931},[3765,33313,3803],{"class":3790},[3765,33315,5096],{"class":4381},[3765,33317,4385],{"class":3775},[3765,33319,4388],{"class":3790},[3765,33321,5103],{"class":3771},[3765,33323,3776],{"class":3797},[3765,33325,33326],{"class":3771},"titleFlex",[3765,33328,3803],{"class":3790},[3765,33330,4419],{"class":4375},[3765,33332,33333,33335,33337,33339,33341],{"class":3767,"line":7857},[3765,33334,16626],{"class":3790},[3765,33336,3794],{"class":3771},[3765,33338,3776],{"class":3797},[3765,33340,5628],{"class":3771},[3765,33342,4598],{"class":3790},[3765,33344,33345,33347,33349],{"class":3767,"line":7885},[3765,33346,7936],{"class":4375},[3765,33348,5120],{"class":3845},[3765,33350,4419],{"class":4375},[3765,33352,33353,33355,33357,33359,33361,33363,33365,33367,33369,33371,33373,33376,33378],{"class":3767,"line":7891},[3765,33354,7624],{"class":4375},[3765,33356,5120],{"class":3845},[3765,33358,5123],{"class":4381},[3765,33360,4385],{"class":3775},[3765,33362,5152],{"class":3786},[3765,33364,5096],{"class":4381},[3765,33366,4385],{"class":3775},[3765,33368,4388],{"class":3790},[3765,33370,5103],{"class":3771},[3765,33372,3776],{"class":3797},[3765,33374,33375],{"class":3771},"dates",[3765,33377,3803],{"class":3790},[3765,33379,4419],{"class":4375},[3765,33381,33382,33384,33386,33388,33390],{"class":3767,"line":7924},[3765,33383,16626],{"class":3790},[3765,33385,3794],{"class":3771},[3765,33387,3776],{"class":3797},[3765,33389,16633],{"class":3771},[3765,33391,4598],{"class":3790},[3765,33393,33394,33396,33398],{"class":3767,"line":7933},[3765,33395,7936],{"class":4375},[3765,33397,5120],{"class":3845},[3765,33399,4419],{"class":4375},[3765,33401,33402,33404,33406],{"class":3767,"line":7943},[3765,33403,9099],{"class":4375},[3765,33405,5093],{"class":3845},[3765,33407,4419],{"class":4375},[3765,33409,33410,33412,33414,33416,33418,33420,33422,33424,33426,33428,33430,33432,33434,33436,33438,33440,33442,33444,33446,33448],{"class":3767,"line":7951},[3765,33411,7042],{"class":4375},[3765,33413,5120],{"class":3845},[3765,33415,5123],{"class":4381},[3765,33417,4385],{"class":3775},[3765,33419,5152],{"class":3786},[3765,33421,5155],{"class":4381},[3765,33423,4385],{"class":3775},[3765,33425,4388],{"class":3790},[3765,33427,5162],{"class":3771},[3765,33429,3776],{"class":3797},[3765,33431,11096],{"class":3771},[3765,33433,3803],{"class":3790},[3765,33435,5096],{"class":4381},[3765,33437,4385],{"class":3775},[3765,33439,4388],{"class":3790},[3765,33441,5103],{"class":3771},[3765,33443,3776],{"class":3797},[3765,33445,16647],{"class":3771},[3765,33447,3803],{"class":3790},[3765,33449,4419],{"class":4375},[3765,33451,33452,33454,33456,33458,33460],{"class":3767,"line":7957},[3765,33453,14051],{"class":3790},[3765,33455,3794],{"class":3771},[3765,33457,3776],{"class":3797},[3765,33459,16647],{"class":3771},[3765,33461,4598],{"class":3790},[3765,33463,33464,33466,33468,33470],{"class":3767,"line":7962},[3765,33465,14051],{"class":3790},[3765,33467,3794],{"class":3771},[3765,33469,3776],{"class":3797},[3765,33471,16660],{"class":3771},[3765,33473,33474,33476,33478,33480,33482,33484,33486,33488,33490,33492,33494,33496,33498,33500,33502,33504,33506,33508,33510],{"class":3767,"line":7969},[3765,33475,14068],{"class":3775},[3765,33477,16668],{"class":3786},[3765,33479,3791],{"class":3790},[3765,33481,3794],{"class":3771},[3765,33483,3776],{"class":3797},[3765,33485,16677],{"class":3771},[3765,33487,3803],{"class":3790},[3765,33489,22696],{"class":3790},[3765,33491,3794],{"class":3771},[3765,33493,3776],{"class":3797},[3765,33495,16677],{"class":3771},[3765,33497,11017],{"class":3775},[3765,33499,8118],{"class":4931},[3765,33501,11023],{"class":3775},[3765,33503,29539],{"class":3786},[3765,33505,11029],{"class":3775},[3765,33507,29571],{"class":3786},[3765,33509,3803],{"class":3790},[3765,33511,33512],{"class":3786},"`\n",[3765,33514,33515,33517,33519],{"class":3767,"line":7988},[3765,33516,14103],{"class":3775},[3765,33518,16690],{"class":3786},[3765,33520,4598],{"class":3790},[3765,33522,33523,33525,33527],{"class":3767,"line":8017},[3765,33524,9099],{"class":4375},[3765,33526,5120],{"class":3845},[3765,33528,4419],{"class":4375},[3765,33530,33531,33533,33535,33537,33539,33541,33544,33546,33548,33550,33552,33555],{"class":3767,"line":8022},[3765,33532,17702],{"class":3790},[3765,33534,3783],{"class":3797},[3765,33536,3794],{"class":3771},[3765,33538,3776],{"class":3797},[3765,33540,16752],{"class":3771},[3765,33542,33543],{"class":3775}," ||",[3765,33545,4495],{"class":3771},[3765,33547,3776],{"class":3797},[3765,33549,16817],{"class":3771},[3765,33551,6832],{"class":3797},[3765,33553,33554],{"class":3775},"&&",[3765,33556,5085],{"class":3797},[3765,33558,33559,33561,33563,33565,33567,33569,33571,33573,33575,33577,33579,33581,33583,33585,33587,33589,33591,33593,33595,33597,33599,33601],{"class":3767,"line":8055},[3765,33560,7624],{"class":4375},[3765,33562,5093],{"class":3845},[3765,33564,5096],{"class":4381},[3765,33566,4385],{"class":3775},[3765,33568,4388],{"class":3790},[3765,33570,4928],{"class":3797},[3765,33572,5103],{"class":3771},[3765,33574,3776],{"class":3797},[3765,33576,16725],{"class":3771},[3765,33578,14147],{"class":3797},[3765,33580,9540],{"class":3771},[3765,33582,13109],{"class":3771},[3765,33584,3776],{"class":3797},[3765,33586,13835],{"class":3771},[3765,33588,4032],{"class":3797},[3765,33590,9733],{"class":3771},[3765,33592,13109],{"class":3771},[3765,33594,3776],{"class":3797},[3765,33596,13835],{"class":3771},[3765,33598,14168],{"class":3797},[3765,33600,3803],{"class":3790},[3765,33602,4419],{"class":4375},[3765,33604,33605,33607,33609,33611,33613,33615],{"class":3767,"line":8064},[3765,33606,16626],{"class":3790},[3765,33608,3794],{"class":3771},[3765,33610,3776],{"class":3797},[3765,33612,16752],{"class":3771},[3765,33614,11023],{"class":3775},[3765,33616,5085],{"class":3797},[3765,33618,33619,33621],{"class":3767,"line":8073},[3765,33620,7682],{"class":4375},[3765,33622,13626],{"class":3845},[3765,33624,33625,33628,33630],{"class":3767,"line":8078},[3765,33626,33627],{"class":4381},"                variant",[3765,33629,4385],{"class":3775},[3765,33631,13637],{"class":3786},[3765,33633,33634,33636,33638,33640,33642,33644,33646,33649,33651,33653,33655,33657,33659,33661],{"class":3767,"line":8083},[3765,33635,14289],{"class":4381},[3765,33637,4385],{"class":3775},[3765,33639,4388],{"class":3790},[3765,33641,4928],{"class":3797},[3765,33643,5103],{"class":3771},[3765,33645,3776],{"class":3797},[3765,33647,33648],{"class":3771},"badge",[3765,33650,14147],{"class":3797},[3765,33652,6999],{"class":3771},[3765,33654,11062],{"class":3771},[3765,33656,3776],{"class":3797},[3765,33658,5167],{"class":3771},[3765,33660,14168],{"class":3797},[3765,33662,4598],{"class":3790},[3765,33664,33665],{"class":3767,"line":8088},[3765,33666,14434],{"class":4375},[3765,33668,33669],{"class":3767,"line":8107},[3765,33670,16789],{"class":3797},[3765,33672,33673,33675,33677],{"class":3767,"line":8129},[3765,33674,7813],{"class":4375},[3765,33676,5120],{"class":3845},[3765,33678,4419],{"class":4375},[3765,33680,33681,33683,33685],{"class":3767,"line":8137},[3765,33682,16802],{"class":3797},[3765,33684,4229],{"class":3775},[3765,33686,13416],{"class":3790},[3765,33688,33689,33691,33693,33695,33697,33699],{"class":3767,"line":8148},[3765,33690,16626],{"class":3790},[3765,33692,3794],{"class":3771},[3765,33694,3776],{"class":3797},[3765,33696,16817],{"class":3771},[3765,33698,11023],{"class":3775},[3765,33700,5085],{"class":3797},[3765,33702,33703,33705],{"class":3767,"line":8159},[3765,33704,7682],{"class":4375},[3765,33706,13626],{"class":3845},[3765,33708,33709,33711,33713],{"class":3767,"line":8170},[3765,33710,33627],{"class":4381},[3765,33712,4385],{"class":3775},[3765,33714,13637],{"class":3786},[3765,33716,33717,33719,33721,33723,33725,33727,33729,33731,33733,33735,33737,33739,33741,33743],{"class":3767,"line":8181},[3765,33718,14289],{"class":4381},[3765,33720,4385],{"class":3775},[3765,33722,4388],{"class":3790},[3765,33724,4928],{"class":3797},[3765,33726,5103],{"class":3771},[3765,33728,3776],{"class":3797},[3765,33730,33648],{"class":3771},[3765,33732,14147],{"class":3797},[3765,33734,6999],{"class":3771},[3765,33736,11062],{"class":3771},[3765,33738,3776],{"class":3797},[3765,33740,11096],{"class":3771},[3765,33742,14168],{"class":3797},[3765,33744,4598],{"class":3790},[3765,33746,33747],{"class":3767,"line":8192},[3765,33748,14434],{"class":4375},[3765,33750,33751],{"class":3767,"line":8197},[3765,33752,33753],{"class":3797},"                є план\n",[3765,33755,33756,33758,33760],{"class":3767,"line":8205},[3765,33757,7813],{"class":4375},[3765,33759,5120],{"class":3845},[3765,33761,4419],{"class":4375},[3765,33763,33764,33766,33768],{"class":3767,"line":8214},[3765,33765,16802],{"class":3797},[3765,33767,4229],{"class":3775},[3765,33769,13416],{"class":3790},[3765,33771,33772,33774,33776],{"class":3767,"line":8225},[3765,33773,7936],{"class":4375},[3765,33775,5093],{"class":3845},[3765,33777,4419],{"class":4375},[3765,33779,33780,33782],{"class":3767,"line":8235},[3765,33781,7946],{"class":3797},[3765,33783,4598],{"class":3790},[3765,33785,33786,33788],{"class":3767,"line":8244},[3765,33787,7042],{"class":4375},[3765,33789,13626],{"class":3845},[3765,33791,33792,33795,33797,33799,33801],{"class":3767,"line":8254},[3765,33793,33794],{"class":4381},"          numberOfLines",[3765,33796,4385],{"class":3775},[3765,33798,4388],{"class":3790},[3765,33800,18671],{"class":4931},[3765,33802,4598],{"class":3790},[3765,33804,33805,33807,33809,33811,33813,33815,33817,33819,33821,33823,33825,33827,33829,33831,33833],{"class":3767,"line":8264},[3765,33806,13988],{"class":4381},[3765,33808,4385],{"class":3775},[3765,33810,4388],{"class":3790},[3765,33812,7063],{"class":3797},[3765,33814,9733],{"class":3771},[3765,33816,13109],{"class":3771},[3765,33818,3776],{"class":3797},[3765,33820,13835],{"class":3771},[3765,33822,4032],{"class":3797},[3765,33824,6999],{"class":3771},[3765,33826,11062],{"class":3771},[3765,33828,3776],{"class":3797},[3765,33830,5167],{"class":3771},[3765,33832,7072],{"class":3797},[3765,33834,4598],{"class":3790},[3765,33836,33837],{"class":3767,"line":8269},[3765,33838,14045],{"class":4375},[3765,33840,33841,33843,33845,33847,33849],{"class":3767,"line":8292},[3765,33842,14051],{"class":3790},[3765,33844,3794],{"class":3771},[3765,33846,3776],{"class":3797},[3765,33848,9290],{"class":3771},[3765,33850,4598],{"class":3790},[3765,33852,33853,33855,33857],{"class":3767,"line":8300},[3765,33854,9099],{"class":4375},[3765,33856,5120],{"class":3845},[3765,33858,4419],{"class":4375},[3765,33860,33861,33863,33865,33867,33869,33871,33873,33875,33877,33879,33881,33883,33885,33887,33889,33891,33893],{"class":3767,"line":8311},[3765,33862,7042],{"class":4375},[3765,33864,5093],{"class":3845},[3765,33866,5096],{"class":4381},[3765,33868,4385],{"class":3775},[3765,33870,4388],{"class":3790},[3765,33872,4928],{"class":3797},[3765,33874,5103],{"class":3771},[3765,33876,3776],{"class":3797},[3765,33878,14939],{"class":3771},[3765,33880,14147],{"class":3797},[3765,33882,9733],{"class":3771},[3765,33884,13109],{"class":3771},[3765,33886,3776],{"class":3797},[3765,33888,13176],{"class":3771},[3765,33890,14168],{"class":3797},[3765,33892,3803],{"class":3790},[3765,33894,4419],{"class":4375},[3765,33896,33897,33899,33901,33903,33905,33907,33909,33911,33913,33915,33917,33919,33921],{"class":3767,"line":8321},[3765,33898,7624],{"class":4375},[3765,33900,5120],{"class":3845},[3765,33902,5123],{"class":4381},[3765,33904,4385],{"class":3775},[3765,33906,5152],{"class":3786},[3765,33908,5155],{"class":4381},[3765,33910,4385],{"class":3775},[3765,33912,4388],{"class":3790},[3765,33914,5162],{"class":3771},[3765,33916,3776],{"class":3797},[3765,33918,11096],{"class":3771},[3765,33920,3803],{"class":3790},[3765,33922,4419],{"class":4375},[3765,33924,33925],{"class":3767,"line":8331},[3765,33926,33927],{"class":3775},"            Відкрити\n",[3765,33929,33930,33932,33934],{"class":3767,"line":8342},[3765,33931,7936],{"class":4375},[3765,33933,5120],{"class":3845},[3765,33935,4419],{"class":4375},[3765,33937,33938,33940,33942],{"class":3767,"line":8353},[3765,33939,9099],{"class":4375},[3765,33941,5093],{"class":3845},[3765,33943,4419],{"class":4375},[3765,33945,33946,33948,33950],{"class":3767,"line":8363},[3765,33947,5190],{"class":4375},[3765,33949,5093],{"class":3845},[3765,33951,4419],{"class":4375},[3765,33953,33954,33956,33958],{"class":3767,"line":8368},[3765,33955,5243],{"class":4375},[3765,33957,7158],{"class":3845},[3765,33959,4419],{"class":4375},[3765,33961,33962],{"class":3767,"line":8397},[3765,33963,5252],{"class":3775},[3765,33965,33966],{"class":3767,"line":8432},[3765,33967,4598],{"class":3775},[3765,33969,33970],{"class":3767,"line":8452},[3765,33971,4363],{"emptyLinePlaceholder":4362},[3765,33973,33974],{"class":3767,"line":8460},[3765,33975,33976],{"class":4328},"\u002F** memo: рядок списку не перемальовується, якщо props ті самі. *\u002F\n",[3765,33978,33979,33981,33983,33986,33988,33990,33992,33995],{"class":3767,"line":8470},[3765,33980,4741],{"class":4715},[3765,33982,6589],{"class":3790},[3765,33984,33985],{"class":3828}," TripCard",[3765,33987,4908],{"class":3775},[3765,33989,32761],{"class":3779},[3765,33991,3783],{"class":3775},[3765,33993,33994],{"class":3771},"TripCardComponent",[3765,33996,3809],{"class":3775},[3765,33998,33999],{"class":3767,"line":8480},[3765,34000,4363],{"emptyLinePlaceholder":4362},[3765,34002,34003,34005,34007,34009,34011,34013,34015],{"class":3767,"line":8489},[3765,34004,3822],{"class":3790},[3765,34006,8093],{"class":3828},[3765,34008,4908],{"class":3775},[3765,34010,7163],{"class":3771},[3765,34012,3776],{"class":3775},[3765,34014,8102],{"class":3779},[3765,34016,4468],{"class":3775},[3765,34018,34019,34021],{"class":3767,"line":8498},[3765,34020,8295],{"class":3771},[3765,34022,4487],{"class":3775},[3765,34024,34025,34027,34029],{"class":3767,"line":8507},[3765,34026,8324],{"class":3771},[3765,34028,8118],{"class":4931},[3765,34030,4479],{"class":3775},[3765,34032,34033,34035,34037],{"class":3767,"line":8518},[3765,34034,29701],{"class":3771},[3765,34036,29704],{"class":3786},[3765,34038,4479],{"class":3775},[3765,34040,34041,34043,34045,34047,34049],{"class":3767,"line":8523},[3765,34042,18010],{"class":3775},[3765,34044,18013],{"class":3771},[3765,34046,3776],{"class":3775},[3765,34048,17952],{"class":3779},[3765,34050,4468],{"class":3775},[3765,34052,34053,34055],{"class":3767,"line":8543},[3765,34054,18024],{"class":3771},[3765,34056,4487],{"class":3775},[3765,34058,34059,34061,34063],{"class":3767,"line":8564},[3765,34060,18031],{"class":3771},[3765,34062,18034],{"class":3786},[3765,34064,4479],{"class":3775},[3765,34066,34067,34069,34072],{"class":3767,"line":8585},[3765,34068,18041],{"class":3771},[3765,34070,34071],{"class":4931}," 0.08",[3765,34073,4479],{"class":3775},[3765,34075,34076,34078,34080],{"class":3767,"line":13544},[3765,34077,18051],{"class":3771},[3765,34079,7591],{"class":4931},[3765,34081,4479],{"class":3775},[3765,34083,34084,34086,34088,34090,34092,34094,34096,34098],{"class":3767,"line":13558},[3765,34085,18060],{"class":3771},[3765,34087,3825],{"class":3775},[3765,34089,13359],{"class":3771},[3765,34091,13149],{"class":4931},[3765,34093,4032],{"class":3775},[3765,34095,7588],{"class":3771},[3765,34097,8465],{"class":4931},[3765,34099,4589],{"class":3775},[3765,34101,34102],{"class":3767,"line":13563},[3765,34103,10609],{"class":3775},[3765,34105,34106,34108],{"class":3767,"line":13571},[3765,34107,18083],{"class":3771},[3765,34109,4487],{"class":3775},[3765,34111,34112,34115,34117],{"class":3767,"line":13576},[3765,34113,34114],{"class":3771},"        elevation:",[3765,34116,26116],{"class":4931},[3765,34118,4479],{"class":3775},[3765,34120,34121],{"class":3767,"line":13606},[3765,34122,10609],{"class":3775},[3765,34124,34125,34127],{"class":3767,"line":13612},[3765,34126,18097],{"class":3771},[3765,34128,18100],{"class":3775},[3765,34130,34131],{"class":3767,"line":13621},[3765,34132,18105],{"class":3775},[3765,34134,34135],{"class":3767,"line":13629},[3765,34136,4521],{"class":3775},[3765,34138,34139,34142],{"class":3767,"line":13640},[3765,34140,34141],{"class":3771},"  cardPressed:",[3765,34143,4487],{"class":3775},[3765,34145,34146,34149,34152],{"class":3767,"line":13658},[3765,34147,34148],{"class":3771},"    opacity:",[3765,34150,34151],{"class":4931}," 0.92",[3765,34153,4479],{"class":3775},[3765,34155,34156],{"class":3767,"line":13676},[3765,34157,4521],{"class":3775},[3765,34159,34160,34162],{"class":3767,"line":13681},[3765,34161,17860],{"class":3771},[3765,34163,4487],{"class":3775},[3765,34165,34166,34168,34170],{"class":3767,"line":13687},[3765,34167,17867],{"class":3771},[3765,34169,17870],{"class":3786},[3765,34171,4479],{"class":3775},[3765,34173,34174,34176,34179],{"class":3767,"line":13696},[3765,34175,17877],{"class":3771},[3765,34177,34178],{"class":4931}," 160",[3765,34180,4479],{"class":3775},[3765,34182,34183],{"class":3767,"line":13705},[3765,34184,4521],{"class":3775},[3765,34186,34187,34189],{"class":3767,"line":13710},[3765,34188,9517],{"class":3771},[3765,34190,18100],{"class":3775},[3765,34192,34193,34196],{"class":3767,"line":13715},[3765,34194,34195],{"class":3771},"  titleRow:",[3765,34197,4487],{"class":3775},[3765,34199,34200,34202,34204],{"class":3767,"line":13722},[3765,34201,15203],{"class":3771},[3765,34203,15206],{"class":3786},[3765,34205,4479],{"class":3775},[3765,34207,34208,34210,34212],{"class":3767,"line":13746},[3765,34209,8510],{"class":3771},[3765,34211,8513],{"class":3786},[3765,34213,4479],{"class":3775},[3765,34215,34216],{"class":3767,"line":13753},[3765,34217,4521],{"class":3775},[3765,34219,34220,34223],{"class":3767,"line":13764},[3765,34221,34222],{"class":3771},"  titleFlex:",[3765,34224,4487],{"class":3775},[3765,34226,34227,34229,34231],{"class":3767,"line":13777},[3765,34228,9556],{"class":3771},[3765,34230,8118],{"class":4931},[3765,34232,4479],{"class":3775},[3765,34234,34235],{"class":3767,"line":13783},[3765,34236,4521],{"class":3775},[3765,34238,34239,34242],{"class":3767,"line":13797},[3765,34240,34241],{"class":3771},"  dates:",[3765,34243,4487],{"class":3775},[3765,34245,34246,34248,34250],{"class":3767,"line":13811},[3765,34247,32707],{"class":3771},[3765,34249,13149],{"class":4931},[3765,34251,4479],{"class":3775},[3765,34253,34254],{"class":3767,"line":13825},[3765,34255,4521],{"class":3775},[3765,34257,34258,34261],{"class":3767,"line":13840},[3765,34259,34260],{"class":3771},"  region:",[3765,34262,4487],{"class":3775},[3765,34264,34265,34267,34269],{"class":3767,"line":13854},[3765,34266,8257],{"class":3771},[3765,34268,7010],{"class":3786},[3765,34270,4479],{"class":3775},[3765,34272,34273],{"class":3767,"line":13860},[3765,34274,4521],{"class":3775},[3765,34276,34277,34279],{"class":3767,"line":13868},[3765,34278,17910],{"class":3771},[3765,34280,4487],{"class":3775},[3765,34282,34283,34285,34287],{"class":3767,"line":13873},[3765,34284,15203],{"class":3771},[3765,34286,15206],{"class":3786},[3765,34288,4479],{"class":3775},[3765,34290,34291,34293,34295],{"class":3767,"line":13898},[3765,34292,15214],{"class":3771},[3765,34294,15217],{"class":3786},[3765,34296,4479],{"class":3775},[3765,34298,34299],{"class":3767,"line":13933},[3765,34300,4521],{"class":3775},[3765,34302,34303,34306],{"class":3767,"line":13959},[3765,34304,34305],{"class":3771},"  badge:",[3765,34307,4487],{"class":3775},[3765,34309,34310,34312,34314],{"class":3767,"line":13968},[3765,34311,8257],{"class":3771},[3765,34313,7010],{"class":3786},[3765,34315,4479],{"class":3775},[3765,34317,34318,34320,34322],{"class":3767,"line":13975},[3765,34319,8173],{"class":3771},[3765,34321,8249],{"class":4931},[3765,34323,4479],{"class":3775},[3765,34325,34326],{"class":3767,"line":13985},[3765,34327,4521],{"class":3775},[3765,34329,34330,34332],{"class":3767,"line":13997},[3765,34331,15399],{"class":3771},[3765,34333,4487],{"class":3775},[3765,34335,34336,34338,34341],{"class":3767,"line":14011},[3765,34337,8510],{"class":3771},[3765,34339,34340],{"class":3786}," 'flex-start'",[3765,34342,4479],{"class":3775},[3765,34344,34345],{"class":3767,"line":14025},[3765,34346,4521],{"class":3775},[3765,34348,34349],{"class":3767,"line":14035},[3765,34350,4527],{"class":3775},[3756,34352,34355],{"className":3758,"code":34353,"filename":34354,"language":3760,"meta":3761,"style":3761},"import { memo } from 'react';\nimport { Pressable, StyleSheet } from 'react-native';\n\nimport type { Place } from '@\u002Ffeatures\u002Ftrips\u002Fmodel\u002Ftypes';\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\nimport { AppText } from '@\u002Fshared\u002Fui';\n\ntype PlaceChipProps = {\n  place: Place;\n  onPress?: (place: Place) => void;\n};\n\nfunction PlaceChipComponent({ place, onPress }: PlaceChipProps) {\n  const { colors, spacing, radius } = useTheme();\n\n  return (\n    \u003CPressable\n      accessibilityRole=\"button\"\n      accessibilityLabel={`Місце ${place.name}, ${place.city}`}\n      onPress={() => onPress?.(place)}\n      style={({ pressed }) => [\n        styles.chip,\n        {\n          backgroundColor: colors.surface,\n          borderColor: colors.border,\n          borderRadius: radius.md,\n          padding: spacing.sm,\n          opacity: pressed ? 0.9 : 1,\n        },\n      ]}\n    >\n      \u003CAppText variant=\"subtitle\" numberOfLines={1} style={styles.name}>\n        {place.name}\n      \u003C\u002FAppText>\n      \u003CAppText variant=\"caption\" color={colors.primary} style={styles.city}>\n        {place.city}\n      \u003C\u002FAppText>\n      \u003CAppText variant=\"caption\" numberOfLines={2} style={styles.note}>\n        {place.note}\n      \u003C\u002FAppText>\n    \u003C\u002FPressable>\n  );\n}\n\nexport const PlaceChip = memo(PlaceChipComponent);\n\nconst styles = StyleSheet.create({\n  chip: {\n    width: 160,\n    borderWidth: 1,\n    minHeight: 96,\n  },\n  name: {\n    fontSize: 16,\n  },\n  city: {\n    marginTop: 4,\n    fontWeight: '600',\n  },\n  note: {\n    marginTop: 6,\n  },\n});\n","src\u002Ffeatures\u002Ftrips\u002Fui\u002FPlaceChip.tsx",[3747,34356,34357,34373,34393,34397,34415,34431,34447,34451,34460,34471,34491,34495,34499,34521,34543,34547,34553,34559,34567,34604,34626,34644,34655,34659,34671,34683,34695,34707,34726,34730,34736,34740,34778,34790,34798,34840,34852,34860,34898,34910,34918,34926,34930,34934,34938,34958,34962,34978,34985,34993,35001,35010,35014,35021,35029,35033,35040,35048,35056,35060,35067,35075,35079],{"__ignoreMap":3761},[3765,34358,34359,34361,34363,34365,34367,34369,34371],{"class":3767,"line":3768},[3765,34360,4716],{"class":4715},[3765,34362,3825],{"class":3775},[3765,34364,32761],{"class":3771},[3765,34366,4723],{"class":3775},[3765,34368,4726],{"class":4715},[3765,34370,12276],{"class":3786},[3765,34372,4732],{"class":3775},[3765,34374,34375,34377,34379,34381,34383,34385,34387,34389,34391],{"class":3767,"line":4332},[3765,34376,4716],{"class":4715},[3765,34378,3825],{"class":3775},[3765,34380,7158],{"class":3771},[3765,34382,4032],{"class":3775},[3765,34384,7163],{"class":3771},[3765,34386,4723],{"class":3775},[3765,34388,4726],{"class":4715},[3765,34390,5603],{"class":3786},[3765,34392,4732],{"class":3775},[3765,34394,34395],{"class":3767,"line":4359},[3765,34396,4363],{"emptyLinePlaceholder":4362},[3765,34398,34399,34401,34403,34405,34407,34409,34411,34413],{"class":3767,"line":4366},[3765,34400,4716],{"class":4715},[3765,34402,6523],{"class":4715},[3765,34404,3825],{"class":3775},[3765,34406,12673],{"class":3771},[3765,34408,4723],{"class":3775},[3765,34410,4726],{"class":4715},[3765,34412,25570],{"class":3786},[3765,34414,4732],{"class":3775},[3765,34416,34417,34419,34421,34423,34425,34427,34429],{"class":3767,"line":4372},[3765,34418,4716],{"class":4715},[3765,34420,3825],{"class":3775},[3765,34422,10881],{"class":3771},[3765,34424,4723],{"class":3775},[3765,34426,4726],{"class":4715},[3765,34428,10888],{"class":3786},[3765,34430,4732],{"class":3775},[3765,34432,34433,34435,34437,34439,34441,34443,34445],{"class":3767,"line":4504},[3765,34434,4716],{"class":4715},[3765,34436,3825],{"class":3775},[3765,34438,5120],{"class":3771},[3765,34440,4723],{"class":3775},[3765,34442,4726],{"class":4715},[3765,34444,12479],{"class":3786},[3765,34446,4732],{"class":3775},[3765,34448,34449],{"class":3767,"line":4518},[3765,34450,4363],{"emptyLinePlaceholder":4362},[3765,34452,34453,34455,34458],{"class":3767,"line":4524},[3765,34454,12444],{"class":3790},[3765,34456,34457],{"class":3845}," PlaceChipProps",[3765,34459,6529],{"class":3775},[3765,34461,34462,34465,34467,34469],{"class":3767,"line":4530},[3765,34463,34464],{"class":3771},"  place",[3765,34466,3842],{"class":3775},[3765,34468,12673],{"class":3845},[3765,34470,4732],{"class":3775},[3765,34472,34473,34475,34477,34479,34481,34483,34485,34487,34489],{"class":3767,"line":4535},[3765,34474,32885],{"class":3779},[3765,34476,32888],{"class":3775},[3765,34478,12811],{"class":3771},[3765,34480,3842],{"class":3775},[3765,34482,12673],{"class":3845},[3765,34484,6832],{"class":3775},[3765,34486,5222],{"class":3790},[3765,34488,23313],{"class":3845},[3765,34490,4732],{"class":3775},[3765,34492,34493],{"class":3767,"line":4541},[3765,34494,6578],{"class":3775},[3765,34496,34497],{"class":3767,"line":4549},[3765,34498,4363],{"emptyLinePlaceholder":4362},[3765,34500,34501,34503,34506,34508,34510,34512,34514,34516,34519],{"class":3767,"line":4562},[3765,34502,10963],{"class":3790},[3765,34504,34505],{"class":3779}," PlaceChipComponent",[3765,34507,5621],{"class":3775},[3765,34509,12811],{"class":3771},[3765,34511,4032],{"class":3775},[3765,34513,32926],{"class":3771},[3765,34515,23421],{"class":3775},[3765,34517,34518],{"class":3845},"PlaceChipProps",[3765,34520,4961],{"class":3775},[3765,34522,34523,34525,34527,34529,34531,34533,34535,34537,34539,34541],{"class":3767,"line":4572},[3765,34524,4758],{"class":3790},[3765,34526,3825],{"class":3775},[3765,34528,5162],{"class":3828},[3765,34530,4032],{"class":3775},[3765,34532,12633],{"class":3828},[3765,34534,4032],{"class":3775},[3765,34536,15815],{"class":3828},[3765,34538,3831],{"class":3775},[3765,34540,10881],{"class":3779},[3765,34542,6811],{"class":3775},[3765,34544,34545],{"class":3767,"line":4592},[3765,34546,4363],{"emptyLinePlaceholder":4362},[3765,34548,34549,34551],{"class":3767,"line":4601},[3765,34550,5082],{"class":4715},[3765,34552,5085],{"class":3775},[3765,34554,34555,34557],{"class":3767,"line":4606},[3765,34556,5090],{"class":4375},[3765,34558,7835],{"class":3845},[3765,34560,34561,34563,34565],{"class":3767,"line":4612},[3765,34562,32976],{"class":4381},[3765,34564,4385],{"class":3775},[3765,34566,14380],{"class":3786},[3765,34568,34569,34571,34573,34575,34578,34580,34582,34584,34586,34588,34590,34592,34594,34596,34598,34600,34602],{"class":3767,"line":6683},[3765,34570,32985],{"class":4381},[3765,34572,4385],{"class":3775},[3765,34574,4388],{"class":3790},[3765,34576,34577],{"class":3786},"`Місце ",[3765,34579,3791],{"class":3790},[3765,34581,12811],{"class":3771},[3765,34583,3776],{"class":3797},[3765,34585,17661],{"class":3771},[3765,34587,3803],{"class":3790},[3765,34589,4032],{"class":3786},[3765,34591,3791],{"class":3790},[3765,34593,12811],{"class":3771},[3765,34595,3776],{"class":3797},[3765,34597,17709],{"class":3771},[3765,34599,3803],{"class":3790},[3765,34601,3806],{"class":3786},[3765,34603,4598],{"class":3790},[3765,34605,34606,34608,34610,34612,34614,34616,34618,34620,34622,34624],{"class":3767,"line":6693},[3765,34607,33011],{"class":4381},[3765,34609,4385],{"class":3775},[3765,34611,4388],{"class":3790},[3765,34613,5219],{"class":3797},[3765,34615,5222],{"class":3790},[3765,34617,5212],{"class":3779},[3765,34619,33024],{"class":3797},[3765,34621,12811],{"class":3771},[3765,34623,4679],{"class":3797},[3765,34625,4598],{"class":3790},[3765,34627,34628,34630,34632,34634,34636,34638,34640,34642],{"class":3767,"line":6698},[3765,34629,13490],{"class":4381},[3765,34631,4385],{"class":3775},[3765,34633,4388],{"class":3790},[3765,34635,5621],{"class":3797},[3765,34637,33043],{"class":3771},[3765,34639,7615],{"class":3797},[3765,34641,5222],{"class":3790},[3765,34643,33050],{"class":3797},[3765,34645,34646,34648,34650,34653],{"class":3767,"line":6703},[3765,34647,13502],{"class":3771},[3765,34649,3776],{"class":3797},[3765,34651,34652],{"class":3771},"chip",[3765,34654,4479],{"class":3797},[3765,34656,34657],{"class":3767,"line":6713},[3765,34658,13514],{"class":3797},[3765,34660,34661,34663,34665,34667,34669],{"class":3767,"line":6723},[3765,34662,11527],{"class":3771},[3765,34664,11062],{"class":3771},[3765,34666,3776],{"class":3797},[3765,34668,14339],{"class":3771},[3765,34670,4479],{"class":3797},[3765,34672,34673,34675,34677,34679,34681],{"class":3767,"line":6733},[3765,34674,17579],{"class":3771},[3765,34676,11062],{"class":3771},[3765,34678,3776],{"class":3797},[3765,34680,11547],{"class":3771},[3765,34682,4479],{"class":3797},[3765,34684,34685,34687,34689,34691,34693],{"class":3767,"line":6743},[3765,34686,17592],{"class":3771},[3765,34688,17595],{"class":3771},[3765,34690,3776],{"class":3797},[3765,34692,13114],{"class":3771},[3765,34694,4479],{"class":3797},[3765,34696,34697,34699,34701,34703,34705],{"class":3767,"line":6748},[3765,34698,17606],{"class":3771},[3765,34700,13109],{"class":3771},[3765,34702,3776],{"class":3797},[3765,34704,13176],{"class":3771},[3765,34706,4479],{"class":3797},[3765,34708,34709,34712,34715,34717,34720,34722,34724],{"class":3767,"line":6754},[3765,34710,34711],{"class":3771},"          opacity:",[3765,34713,34714],{"class":3771}," pressed",[3765,34716,11023],{"class":3775},[3765,34718,34719],{"class":4931}," 0.9",[3765,34721,11029],{"class":3775},[3765,34723,8118],{"class":4931},[3765,34725,4479],{"class":3797},[3765,34727,34728],{"class":3767,"line":6759},[3765,34729,11554],{"class":3797},[3765,34731,34732,34734],{"class":3767,"line":6788},[3765,34733,13566],{"class":3797},[3765,34735,4598],{"class":3790},[3765,34737,34738],{"class":3767,"line":6814},[3765,34739,11595],{"class":4375},[3765,34741,34742,34744,34746,34748,34750,34752,34754,34756,34758,34760,34762,34764,34766,34768,34770,34772,34774,34776],{"class":3767,"line":6852},[3765,34743,5117],{"class":4375},[3765,34745,5120],{"class":3845},[3765,34747,5123],{"class":4381},[3765,34749,4385],{"class":3775},[3765,34751,5128],{"class":3786},[3765,34753,33305],{"class":4381},[3765,34755,4385],{"class":3775},[3765,34757,4388],{"class":3790},[3765,34759,22336],{"class":4931},[3765,34761,3803],{"class":3790},[3765,34763,5096],{"class":4381},[3765,34765,4385],{"class":3775},[3765,34767,4388],{"class":3790},[3765,34769,5103],{"class":3771},[3765,34771,3776],{"class":3797},[3765,34773,17661],{"class":3771},[3765,34775,3803],{"class":3790},[3765,34777,4419],{"class":4375},[3765,34779,34780,34782,34784,34786,34788],{"class":3767,"line":7689},[3765,34781,17702],{"class":3790},[3765,34783,12811],{"class":3771},[3765,34785,3776],{"class":3797},[3765,34787,17661],{"class":3771},[3765,34789,4598],{"class":3790},[3765,34791,34792,34794,34796],{"class":3767,"line":7730},[3765,34793,5190],{"class":4375},[3765,34795,5120],{"class":3845},[3765,34797,4419],{"class":4375},[3765,34799,34800,34802,34804,34806,34808,34810,34812,34814,34816,34818,34820,34822,34824,34826,34828,34830,34832,34834,34836,34838],{"class":3767,"line":7769},[3765,34801,5117],{"class":4375},[3765,34803,5120],{"class":3845},[3765,34805,5123],{"class":4381},[3765,34807,4385],{"class":3775},[3765,34809,5152],{"class":3786},[3765,34811,5155],{"class":4381},[3765,34813,4385],{"class":3775},[3765,34815,4388],{"class":3790},[3765,34817,5162],{"class":3771},[3765,34819,3776],{"class":3797},[3765,34821,11096],{"class":3771},[3765,34823,3803],{"class":3790},[3765,34825,5096],{"class":4381},[3765,34827,4385],{"class":3775},[3765,34829,4388],{"class":3790},[3765,34831,5103],{"class":3771},[3765,34833,3776],{"class":3797},[3765,34835,17709],{"class":3771},[3765,34837,3803],{"class":3790},[3765,34839,4419],{"class":4375},[3765,34841,34842,34844,34846,34848,34850],{"class":3767,"line":7810},[3765,34843,17702],{"class":3790},[3765,34845,12811],{"class":3771},[3765,34847,3776],{"class":3797},[3765,34849,17709],{"class":3771},[3765,34851,4598],{"class":3790},[3765,34853,34854,34856,34858],{"class":3767,"line":7820},[3765,34855,5190],{"class":4375},[3765,34857,5120],{"class":3845},[3765,34859,4419],{"class":4375},[3765,34861,34862,34864,34866,34868,34870,34872,34874,34876,34878,34880,34882,34884,34886,34888,34890,34892,34894,34896],{"class":3767,"line":7830},[3765,34863,5117],{"class":4375},[3765,34865,5120],{"class":3845},[3765,34867,5123],{"class":4381},[3765,34869,4385],{"class":3775},[3765,34871,5152],{"class":3786},[3765,34873,33305],{"class":4381},[3765,34875,4385],{"class":3775},[3765,34877,4388],{"class":3790},[3765,34879,18671],{"class":4931},[3765,34881,3803],{"class":3790},[3765,34883,5096],{"class":4381},[3765,34885,4385],{"class":3775},[3765,34887,4388],{"class":3790},[3765,34889,5103],{"class":3771},[3765,34891,3776],{"class":3797},[3765,34893,3976],{"class":3771},[3765,34895,3803],{"class":3790},[3765,34897,4419],{"class":4375},[3765,34899,34900,34902,34904,34906,34908],{"class":3767,"line":7838},[3765,34901,17702],{"class":3790},[3765,34903,12811],{"class":3771},[3765,34905,3776],{"class":3797},[3765,34907,3976],{"class":3771},[3765,34909,4598],{"class":3790},[3765,34911,34912,34914,34916],{"class":3767,"line":7857},[3765,34913,5190],{"class":4375},[3765,34915,5120],{"class":3845},[3765,34917,4419],{"class":4375},[3765,34919,34920,34922,34924],{"class":3767,"line":7885},[3765,34921,5243],{"class":4375},[3765,34923,7158],{"class":3845},[3765,34925,4419],{"class":4375},[3765,34927,34928],{"class":3767,"line":7891},[3765,34929,5252],{"class":3775},[3765,34931,34932],{"class":3767,"line":7924},[3765,34933,4598],{"class":3775},[3765,34935,34936],{"class":3767,"line":7933},[3765,34937,4363],{"emptyLinePlaceholder":4362},[3765,34939,34940,34942,34944,34947,34949,34951,34953,34956],{"class":3767,"line":7943},[3765,34941,4741],{"class":4715},[3765,34943,6589],{"class":3790},[3765,34945,34946],{"class":3828}," PlaceChip",[3765,34948,4908],{"class":3775},[3765,34950,32761],{"class":3779},[3765,34952,3783],{"class":3775},[3765,34954,34955],{"class":3771},"PlaceChipComponent",[3765,34957,3809],{"class":3775},[3765,34959,34960],{"class":3767,"line":7951},[3765,34961,4363],{"emptyLinePlaceholder":4362},[3765,34963,34964,34966,34968,34970,34972,34974,34976],{"class":3767,"line":7957},[3765,34965,3822],{"class":3790},[3765,34967,8093],{"class":3828},[3765,34969,4908],{"class":3775},[3765,34971,7163],{"class":3771},[3765,34973,3776],{"class":3775},[3765,34975,8102],{"class":3779},[3765,34977,4468],{"class":3775},[3765,34979,34980,34983],{"class":3767,"line":7962},[3765,34981,34982],{"class":3771},"  chip:",[3765,34984,4487],{"class":3775},[3765,34986,34987,34989,34991],{"class":3767,"line":7969},[3765,34988,17867],{"class":3771},[3765,34990,34178],{"class":4931},[3765,34992,4479],{"class":3775},[3765,34994,34995,34997,34999],{"class":3767,"line":7988},[3765,34996,8324],{"class":3771},[3765,34998,8118],{"class":4931},[3765,35000,4479],{"class":3775},[3765,35002,35003,35005,35008],{"class":3767,"line":8017},[3765,35004,29668],{"class":3771},[3765,35006,35007],{"class":4931}," 96",[3765,35009,4479],{"class":3775},[3765,35011,35012],{"class":3767,"line":8022},[3765,35013,4521],{"class":3775},[3765,35015,35016,35019],{"class":3767,"line":8055},[3765,35017,35018],{"class":3771},"  name:",[3765,35020,4487],{"class":3775},[3765,35022,35023,35025,35027],{"class":3767,"line":8064},[3765,35024,8173],{"class":3771},[3765,35026,8143],{"class":4931},[3765,35028,4479],{"class":3775},[3765,35030,35031],{"class":3767,"line":8073},[3765,35032,4521],{"class":3775},[3765,35034,35035,35038],{"class":3767,"line":8078},[3765,35036,35037],{"class":3771},"  city:",[3765,35039,4487],{"class":3775},[3765,35041,35042,35044,35046],{"class":3767,"line":8083},[3765,35043,8217],{"class":3771},[3765,35045,8465],{"class":4931},[3765,35047,4479],{"class":3775},[3765,35049,35050,35052,35054],{"class":3767,"line":8088},[3765,35051,8257],{"class":3771},[3765,35053,7010],{"class":3786},[3765,35055,4479],{"class":3775},[3765,35057,35058],{"class":3767,"line":8107},[3765,35059,4521],{"class":3775},[3765,35061,35062,35065],{"class":3767,"line":8129},[3765,35063,35064],{"class":3771},"  note:",[3765,35066,4487],{"class":3775},[3765,35068,35069,35071,35073],{"class":3767,"line":8137},[3765,35070,8217],{"class":3771},[3765,35072,8220],{"class":4931},[3765,35074,4479],{"class":3775},[3765,35076,35077],{"class":3767,"line":8148},[3765,35078,4521],{"class":3775},[3765,35080,35081],{"class":3767,"line":8159},[3765,35082,4527],{"class":3775},[3756,35084,35087],{"className":6512,"code":35085,"filename":35086,"language":6514,"meta":3761,"style":3761},"\u002F**\n * Семантичні кольори: назва = роль на екрані, не «синій-500».\n * light \u002F dark — дві палітри з однаковими ключами.\n *\u002F\n\nexport const lightColors = {\n  background: '#F8FAFC',\n  surface: '#FFFFFF',\n  text: '#0F172A',\n  textSecondary: '#64748B',\n  primary: '#2563EB',\n  primaryPressed: '#1D4ED8',\n  border: '#E2E8F0',\n  danger: '#DC2626',\n  onPrimary: '#FFFFFF',\n} as const;\n\nexport const darkColors = {\n  background: '#000000',\n  surface: '#1C1C1E',\n  text: '#F5F5F7',\n  textSecondary: '#A1A1AA',\n  primary: '#3B82F6',\n  primaryPressed: '#2563EB',\n  border: '#3A3A3C',\n  danger: '#F87171',\n  onPrimary: '#FFFFFF',\n} as const;\n\nexport type ColorTokens = {\n  [K in keyof typeof lightColors]: string;\n};\n\nexport type ColorSchemeName = 'light' | 'dark';\n\nexport function colorsForScheme(scheme: ColorSchemeName): ColorTokens {\n  return scheme === 'dark' ? { ...darkColors } : { ...lightColors };\n}\n","src\u002Fshared\u002Ftheme\u002Fcolors.ts",[3747,35088,35089,35093,35098,35103,35107,35111,35122,35131,35141,35150,35159,35168,35178,35187,35197,35206,35216,35220,35231,35240,35249,35258,35267,35276,35284,35293,35302,35310,35320,35324,35335,35361,35365,35369,35390,35394,35419,35445],{"__ignoreMap":3761},[3765,35090,35091],{"class":3767,"line":3768},[3765,35092,10899],{"class":4328},[3765,35094,35095],{"class":3767,"line":4332},[3765,35096,35097],{"class":4328}," * Семантичні кольори: назва = роль на екрані, не «синій-500».\n",[3765,35099,35100],{"class":3767,"line":4359},[3765,35101,35102],{"class":4328}," * light \u002F dark — дві палітри з однаковими ключами.\n",[3765,35104,35105],{"class":3767,"line":4366},[3765,35106,10929],{"class":4328},[3765,35108,35109],{"class":3767,"line":4372},[3765,35110,4363],{"emptyLinePlaceholder":4362},[3765,35112,35113,35115,35117,35120],{"class":3767,"line":4504},[3765,35114,4741],{"class":4715},[3765,35116,6589],{"class":3790},[3765,35118,35119],{"class":3828}," lightColors",[3765,35121,6529],{"class":3775},[3765,35123,35124,35127,35129],{"class":3767,"line":4518},[3765,35125,35126],{"class":3771},"  background:",[3765,35128,6977],{"class":3786},[3765,35130,4479],{"class":3775},[3765,35132,35133,35136,35139],{"class":3767,"line":4524},[3765,35134,35135],{"class":3771},"  surface:",[3765,35137,35138],{"class":3786}," '#FFFFFF'",[3765,35140,4479],{"class":3775},[3765,35142,35143,35146,35148],{"class":3767,"line":4530},[3765,35144,35145],{"class":3771},"  text:",[3765,35147,7002],{"class":3786},[3765,35149,4479],{"class":3775},[3765,35151,35152,35155,35157],{"class":3767,"line":4535},[3765,35153,35154],{"class":3771},"  textSecondary:",[3765,35156,8165],{"class":3786},[3765,35158,4479],{"class":3775},[3765,35160,35161,35164,35166],{"class":3767,"line":4541},[3765,35162,35163],{"class":3771},"  primary:",[3765,35165,6987],{"class":3786},[3765,35167,4479],{"class":3775},[3765,35169,35170,35173,35176],{"class":3767,"line":4549},[3765,35171,35172],{"class":3771},"  primaryPressed:",[3765,35174,35175],{"class":3786}," '#1D4ED8'",[3765,35177,4479],{"class":3775},[3765,35179,35180,35183,35185],{"class":3767,"line":4562},[3765,35181,35182],{"class":3771},"  border:",[3765,35184,8337],{"class":3786},[3765,35186,4479],{"class":3775},[3765,35188,35189,35192,35195],{"class":3767,"line":4572},[3765,35190,35191],{"class":3771},"  danger:",[3765,35193,35194],{"class":3786}," '#DC2626'",[3765,35196,4479],{"class":3775},[3765,35198,35199,35202,35204],{"class":3767,"line":4592},[3765,35200,35201],{"class":3771},"  onPrimary:",[3765,35203,35138],{"class":3786},[3765,35205,4479],{"class":3775},[3765,35207,35208,35210,35212,35214],{"class":3767,"line":4601},[3765,35209,12324],{"class":3775},[3765,35211,21932],{"class":4715},[3765,35213,6589],{"class":3790},[3765,35215,4732],{"class":3775},[3765,35217,35218],{"class":3767,"line":4606},[3765,35219,4363],{"emptyLinePlaceholder":4362},[3765,35221,35222,35224,35226,35229],{"class":3767,"line":4612},[3765,35223,4741],{"class":4715},[3765,35225,6589],{"class":3790},[3765,35227,35228],{"class":3828}," darkColors",[3765,35230,6529],{"class":3775},[3765,35232,35233,35235,35238],{"class":3767,"line":6683},[3765,35234,35126],{"class":3771},[3765,35236,35237],{"class":3786}," '#000000'",[3765,35239,4479],{"class":3775},[3765,35241,35242,35244,35247],{"class":3767,"line":6693},[3765,35243,35135],{"class":3771},[3765,35245,35246],{"class":3786}," '#1C1C1E'",[3765,35248,4479],{"class":3775},[3765,35250,35251,35253,35256],{"class":3767,"line":6698},[3765,35252,35145],{"class":3771},[3765,35254,35255],{"class":3786}," '#F5F5F7'",[3765,35257,4479],{"class":3775},[3765,35259,35260,35262,35265],{"class":3767,"line":6703},[3765,35261,35154],{"class":3771},[3765,35263,35264],{"class":3786}," '#A1A1AA'",[3765,35266,4479],{"class":3775},[3765,35268,35269,35271,35274],{"class":3767,"line":6713},[3765,35270,35163],{"class":3771},[3765,35272,35273],{"class":3786}," '#3B82F6'",[3765,35275,4479],{"class":3775},[3765,35277,35278,35280,35282],{"class":3767,"line":6723},[3765,35279,35172],{"class":3771},[3765,35281,6987],{"class":3786},[3765,35283,4479],{"class":3775},[3765,35285,35286,35288,35291],{"class":3767,"line":6733},[3765,35287,35182],{"class":3771},[3765,35289,35290],{"class":3786}," '#3A3A3C'",[3765,35292,4479],{"class":3775},[3765,35294,35295,35297,35300],{"class":3767,"line":6743},[3765,35296,35191],{"class":3771},[3765,35298,35299],{"class":3786}," '#F87171'",[3765,35301,4479],{"class":3775},[3765,35303,35304,35306,35308],{"class":3767,"line":6748},[3765,35305,35201],{"class":3771},[3765,35307,35138],{"class":3786},[3765,35309,4479],{"class":3775},[3765,35311,35312,35314,35316,35318],{"class":3767,"line":6754},[3765,35313,12324],{"class":3775},[3765,35315,21932],{"class":4715},[3765,35317,6589],{"class":3790},[3765,35319,4732],{"class":3775},[3765,35321,35322],{"class":3767,"line":6759},[3765,35323,4363],{"emptyLinePlaceholder":4362},[3765,35325,35326,35328,35330,35333],{"class":3767,"line":6788},[3765,35327,4741],{"class":4715},[3765,35329,6523],{"class":3790},[3765,35331,35332],{"class":3845}," ColorTokens",[3765,35334,6529],{"class":3775},[3765,35336,35337,35340,35343,35346,35349,35352,35354,35357,35359],{"class":3767,"line":6814},[3765,35338,35339],{"class":3775},"  [",[3765,35341,35342],{"class":3845},"K",[3765,35344,35345],{"class":3790}," in",[3765,35347,35348],{"class":3790}," keyof",[3765,35350,35351],{"class":3790}," typeof",[3765,35353,35119],{"class":3771},[3765,35355,35356],{"class":3775},"]: ",[3765,35358,3846],{"class":3845},[3765,35360,4732],{"class":3775},[3765,35362,35363],{"class":3767,"line":6852},[3765,35364,6578],{"class":3775},[3765,35366,35367],{"class":3767,"line":7689},[3765,35368,4363],{"emptyLinePlaceholder":4362},[3765,35370,35371,35373,35375,35378,35380,35383,35385,35388],{"class":3767,"line":7730},[3765,35372,4741],{"class":4715},[3765,35374,6523],{"class":3790},[3765,35376,35377],{"class":3845}," ColorSchemeName",[3765,35379,4908],{"class":3775},[3765,35381,35382],{"class":3786},"'light'",[3765,35384,4884],{"class":3775},[3765,35386,35387],{"class":3786},"'dark'",[3765,35389,4732],{"class":3775},[3765,35391,35392],{"class":3767,"line":7769},[3765,35393,4363],{"emptyLinePlaceholder":4362},[3765,35395,35396,35398,35400,35403,35405,35407,35409,35412,35414,35417],{"class":3767,"line":7810},[3765,35397,4741],{"class":4715},[3765,35399,4747],{"class":3790},[3765,35401,35402],{"class":3779}," colorsForScheme",[3765,35404,3783],{"class":3775},[3765,35406,5544],{"class":3771},[3765,35408,3842],{"class":3775},[3765,35410,35411],{"class":3845},"ColorSchemeName",[3765,35413,6777],{"class":3775},[3765,35415,35416],{"class":3845},"ColorTokens",[3765,35418,4487],{"class":3775},[3765,35420,35421,35423,35426,35428,35430,35433,35436,35439,35442],{"class":3767,"line":7820},[3765,35422,5082],{"class":4715},[3765,35424,35425],{"class":3771}," scheme",[3765,35427,6844],{"class":3775},[3765,35429,35387],{"class":3786},[3765,35431,35432],{"class":3775}," ? { ...",[3765,35434,35435],{"class":3771},"darkColors",[3765,35437,35438],{"class":3775}," } : { ...",[3765,35440,35441],{"class":3771},"lightColors",[3765,35443,35444],{"class":3775}," };\n",[3765,35446,35447],{"class":3767,"line":7830},[3765,35448,4598],{"class":3775},[3756,35450,35453],{"className":6512,"code":35451,"filename":35452,"language":6514,"meta":3761,"style":3761},"\u002F**\n * Токени, що **не** залежать від light\u002Fdark:\n * відступи, радіуси, розміри шрифтів.\n * Кольори — у colors.ts + ThemeProvider.\n *\u002F\n\nexport const space = {\n  xs: 4,\n  sm: 8,\n  md: 16,\n  lg: 24,\n  xl: 32,\n} as const;\n\nexport const radius = {\n  sm: 8,\n  md: 12,\n  lg: 16,\n} as const;\n\nexport const fontSize = {\n  sm: 14,\n  md: 16,\n  lg: 20,\n  xl: 28,\n} as const;\n\n\u002F** @deprecated Використовуйте useTheme() для кольорів; space\u002Fradius\u002FfontSize — нижче. *\u002F\nexport const tokens = {\n  \u002F** Світла палітра (fallback, якщо хтось імпортує tokens.colors без теми). *\u002F\n  colors: {\n    background: '#F8FAFC',\n    surface: '#FFFFFF',\n    text: '#0F172A',\n    textSecondary: '#64748B',\n    primary: '#2563EB',\n    primaryPressed: '#1D4ED8',\n    border: '#E2E8F0',\n    danger: '#DC2626',\n    onPrimary: '#FFFFFF',\n  },\n  spacing: space,\n  radius,\n  fontSize,\n} as const;\n\nexport type Tokens = typeof tokens;\n","src\u002Fshared\u002Ftheme\u002Ftokens.ts",[3747,35454,35455,35459,35464,35469,35474,35478,35482,35493,35502,35511,35520,35529,35538,35548,35552,35562,35570,35578,35586,35596,35600,35611,35619,35627,35635,35643,35653,35657,35668,35679,35684,35691,35700,35709,35718,35727,35736,35745,35754,35763,35772,35776,35785,35792,35799,35809,35813],{"__ignoreMap":3761},[3765,35456,35457],{"class":3767,"line":3768},[3765,35458,10899],{"class":4328},[3765,35460,35461],{"class":3767,"line":4332},[3765,35462,35463],{"class":4328}," * Токени, що **не** залежать від light\u002Fdark:\n",[3765,35465,35466],{"class":3767,"line":4359},[3765,35467,35468],{"class":4328}," * відступи, радіуси, розміри шрифтів.\n",[3765,35470,35471],{"class":3767,"line":4366},[3765,35472,35473],{"class":4328}," * Кольори — у colors.ts + ThemeProvider.\n",[3765,35475,35476],{"class":3767,"line":4372},[3765,35477,10929],{"class":4328},[3765,35479,35480],{"class":3767,"line":4504},[3765,35481,4363],{"emptyLinePlaceholder":4362},[3765,35483,35484,35486,35488,35491],{"class":3767,"line":4518},[3765,35485,4741],{"class":4715},[3765,35487,6589],{"class":3790},[3765,35489,35490],{"class":3828}," space",[3765,35492,6529],{"class":3775},[3765,35494,35495,35498,35500],{"class":3767,"line":4524},[3765,35496,35497],{"class":3771},"  xs:",[3765,35499,8465],{"class":4931},[3765,35501,4479],{"class":3775},[3765,35503,35504,35507,35509],{"class":3767,"line":4530},[3765,35505,35506],{"class":3771},"  sm:",[3765,35508,8154],{"class":4931},[3765,35510,4479],{"class":3775},[3765,35512,35513,35516,35518],{"class":3767,"line":4535},[3765,35514,35515],{"class":3771},"  md:",[3765,35517,8143],{"class":4931},[3765,35519,4479],{"class":3775},[3765,35521,35522,35525,35527],{"class":3767,"line":4541},[3765,35523,35524],{"class":3771},"  lg:",[3765,35526,8287],{"class":4931},[3765,35528,4479],{"class":3775},[3765,35530,35531,35534,35536],{"class":3767,"line":4549},[3765,35532,35533],{"class":3771},"  xl:",[3765,35535,19106],{"class":4931},[3765,35537,4479],{"class":3775},[3765,35539,35540,35542,35544,35546],{"class":3767,"line":4562},[3765,35541,12324],{"class":3775},[3765,35543,21932],{"class":4715},[3765,35545,6589],{"class":3790},[3765,35547,4732],{"class":3775},[3765,35549,35550],{"class":3767,"line":4572},[3765,35551,4363],{"emptyLinePlaceholder":4362},[3765,35553,35554,35556,35558,35560],{"class":3767,"line":4592},[3765,35555,4741],{"class":4715},[3765,35557,6589],{"class":3790},[3765,35559,17595],{"class":3828},[3765,35561,6529],{"class":3775},[3765,35563,35564,35566,35568],{"class":3767,"line":4601},[3765,35565,35506],{"class":3771},[3765,35567,8154],{"class":4931},[3765,35569,4479],{"class":3775},[3765,35571,35572,35574,35576],{"class":3767,"line":4606},[3765,35573,35515],{"class":3771},[3765,35575,8249],{"class":4931},[3765,35577,4479],{"class":3775},[3765,35579,35580,35582,35584],{"class":3767,"line":4612},[3765,35581,35524],{"class":3771},[3765,35583,8143],{"class":4931},[3765,35585,4479],{"class":3775},[3765,35587,35588,35590,35592,35594],{"class":3767,"line":6683},[3765,35589,12324],{"class":3775},[3765,35591,21932],{"class":4715},[3765,35593,6589],{"class":3790},[3765,35595,4732],{"class":3775},[3765,35597,35598],{"class":3767,"line":6693},[3765,35599,4363],{"emptyLinePlaceholder":4362},[3765,35601,35602,35604,35606,35609],{"class":3767,"line":6698},[3765,35603,4741],{"class":4715},[3765,35605,6589],{"class":3790},[3765,35607,35608],{"class":3828}," fontSize",[3765,35610,6529],{"class":3775},[3765,35612,35613,35615,35617],{"class":3767,"line":6703},[3765,35614,35506],{"class":3771},[3765,35616,8348],{"class":4931},[3765,35618,4479],{"class":3775},[3765,35620,35621,35623,35625],{"class":3767,"line":6713},[3765,35622,35515],{"class":3771},[3765,35624,8143],{"class":4931},[3765,35626,4479],{"class":3775},[3765,35628,35629,35631,35633],{"class":3767,"line":6723},[3765,35630,35524],{"class":3771},[3765,35632,8407],{"class":4931},[3765,35634,4479],{"class":3775},[3765,35636,35637,35639,35641],{"class":3767,"line":6733},[3765,35638,35533],{"class":3771},[3765,35640,9671],{"class":4931},[3765,35642,4479],{"class":3775},[3765,35644,35645,35647,35649,35651],{"class":3767,"line":6743},[3765,35646,12324],{"class":3775},[3765,35648,21932],{"class":4715},[3765,35650,6589],{"class":3790},[3765,35652,4732],{"class":3775},[3765,35654,35655],{"class":3767,"line":6748},[3765,35656,4363],{"emptyLinePlaceholder":4362},[3765,35658,35659,35662,35665],{"class":3767,"line":6754},[3765,35660,35661],{"class":4328},"\u002F** ",[3765,35663,35664],{"class":3790},"@deprecated",[3765,35666,35667],{"class":4328}," Використовуйте useTheme() для кольорів; space\u002Fradius\u002FfontSize — нижче. *\u002F\n",[3765,35669,35670,35672,35674,35677],{"class":3767,"line":6759},[3765,35671,4741],{"class":4715},[3765,35673,6589],{"class":3790},[3765,35675,35676],{"class":3828}," tokens",[3765,35678,6529],{"class":3775},[3765,35680,35681],{"class":3767,"line":6788},[3765,35682,35683],{"class":4328},"  \u002F** Світла палітра (fallback, якщо хтось імпортує tokens.colors без теми). *\u002F\n",[3765,35685,35686,35689],{"class":3767,"line":6814},[3765,35687,35688],{"class":3771},"  colors:",[3765,35690,4487],{"class":3775},[3765,35692,35693,35696,35698],{"class":3767,"line":6852},[3765,35694,35695],{"class":3771},"    background:",[3765,35697,6977],{"class":3786},[3765,35699,4479],{"class":3775},[3765,35701,35702,35705,35707],{"class":3767,"line":7689},[3765,35703,35704],{"class":3771},"    surface:",[3765,35706,35138],{"class":3786},[3765,35708,4479],{"class":3775},[3765,35710,35711,35714,35716],{"class":3767,"line":7730},[3765,35712,35713],{"class":3771},"    text:",[3765,35715,7002],{"class":3786},[3765,35717,4479],{"class":3775},[3765,35719,35720,35723,35725],{"class":3767,"line":7769},[3765,35721,35722],{"class":3771},"    textSecondary:",[3765,35724,8165],{"class":3786},[3765,35726,4479],{"class":3775},[3765,35728,35729,35732,35734],{"class":3767,"line":7810},[3765,35730,35731],{"class":3771},"    primary:",[3765,35733,6987],{"class":3786},[3765,35735,4479],{"class":3775},[3765,35737,35738,35741,35743],{"class":3767,"line":7820},[3765,35739,35740],{"class":3771},"    primaryPressed:",[3765,35742,35175],{"class":3786},[3765,35744,4479],{"class":3775},[3765,35746,35747,35750,35752],{"class":3767,"line":7830},[3765,35748,35749],{"class":3771},"    border:",[3765,35751,8337],{"class":3786},[3765,35753,4479],{"class":3775},[3765,35755,35756,35759,35761],{"class":3767,"line":7838},[3765,35757,35758],{"class":3771},"    danger:",[3765,35760,35194],{"class":3786},[3765,35762,4479],{"class":3775},[3765,35764,35765,35768,35770],{"class":3767,"line":7857},[3765,35766,35767],{"class":3771},"    onPrimary:",[3765,35769,35138],{"class":3786},[3765,35771,4479],{"class":3775},[3765,35773,35774],{"class":3767,"line":7885},[3765,35775,4521],{"class":3775},[3765,35777,35778,35781,35783],{"class":3767,"line":7891},[3765,35779,35780],{"class":3771},"  spacing:",[3765,35782,35490],{"class":3771},[3765,35784,4479],{"class":3775},[3765,35786,35787,35790],{"class":3767,"line":7924},[3765,35788,35789],{"class":3771},"  radius",[3765,35791,4479],{"class":3775},[3765,35793,35794,35797],{"class":3767,"line":7933},[3765,35795,35796],{"class":3771},"  fontSize",[3765,35798,4479],{"class":3775},[3765,35800,35801,35803,35805,35807],{"class":3767,"line":7943},[3765,35802,12324],{"class":3775},[3765,35804,21932],{"class":4715},[3765,35806,6589],{"class":3790},[3765,35808,4732],{"class":3775},[3765,35810,35811],{"class":3767,"line":7951},[3765,35812,4363],{"emptyLinePlaceholder":4362},[3765,35814,35815,35817,35819,35822,35824,35826,35828],{"class":3767,"line":7957},[3765,35816,4741],{"class":4715},[3765,35818,6523],{"class":3790},[3765,35820,35821],{"class":3845}," Tokens",[3765,35823,4908],{"class":3775},[3765,35825,21955],{"class":3790},[3765,35827,35676],{"class":3771},[3765,35829,4732],{"class":3775},[3756,35831,35834],{"className":3758,"code":35832,"filename":35833,"language":3760,"meta":3761,"style":3761},"import {\n  createContext,\n  ReactNode,\n  useCallback,\n  useContext,\n  useMemo,\n  useState,\n} from 'react';\nimport { useColorScheme as useSystemColorScheme } from 'react-native';\n\nimport {\n  colorsForScheme,\n  type ColorSchemeName,\n  type ColorTokens,\n} from '.\u002Fcolors';\nimport { fontSize, radius, space } from '.\u002Ftokens';\n\n\u002F** Що обрав користувач: слідувати системі або примусово light\u002Fdark. *\u002F\nexport type ThemePreference = 'system' | ColorSchemeName;\n\ntype ThemeContextValue = {\n  \u002F** Фактична схема, якою малюємо UI. *\u002F\n  scheme: ColorSchemeName;\n  preference: ThemePreference;\n  setPreference: (value: ThemePreference) => void;\n  colors: ColorTokens;\n  spacing: typeof space;\n  radius: typeof radius;\n  fontSize: typeof fontSize;\n};\n\nconst ThemeContext = createContext\u003CThemeContextValue | null>(null);\n\nfunction resolveScheme(\n  preference: ThemePreference,\n  system: string | null | undefined,\n): ColorSchemeName {\n  if (preference === 'light' || preference === 'dark') {\n    return preference;\n  }\n  return system === 'dark' ? 'dark' : 'light';\n}\n\ntype ThemeProviderProps = {\n  children: ReactNode;\n  \u002F** Початкова перевага (за замовчуванням — як у системі). *\u002F\n  initialPreference?: ThemePreference;\n};\n\nexport function ThemeProvider({\n  children,\n  initialPreference = 'system',\n}: ThemeProviderProps) {\n  const systemScheme = useSystemColorScheme();\n  const [preference, setPreferenceState] =\n    useState\u003CThemePreference>(initialPreference);\n\n  const setPreference = useCallback((value: ThemePreference) => {\n    setPreferenceState(value);\n  }, []);\n\n  const scheme = resolveScheme(preference, systemScheme);\n  const colors = useMemo(() => colorsForScheme(scheme), [scheme]);\n\n  const value = useMemo\u003CThemeContextValue>(\n    () => ({\n      scheme,\n      preference,\n      setPreference,\n      colors,\n      spacing: space,\n      radius,\n      fontSize,\n    }),\n    [scheme, preference, setPreference, colors],\n  );\n\n  return (\n    \u003CThemeContext.Provider value={value}>{children}\u003C\u002FThemeContext.Provider>\n  );\n}\n\nexport function useTheme(): ThemeContextValue {\n  const ctx = useContext(ThemeContext);\n  if (!ctx) {\n    throw new Error('useTheme() потрібно викликати всередині \u003CThemeProvider>.');\n  }\n  return ctx;\n}\n","src\u002Fshared\u002Ftheme\u002FThemeProvider.tsx",[3747,35835,35836,35842,35848,35854,35860,35866,35872,35878,35888,35910,35914,35920,35927,35935,35943,35954,35981,35985,35990,36009,36013,36022,36027,36038,36049,36070,36081,36094,36106,36118,36122,36126,36152,36156,36165,36175,36194,36202,36225,36233,36237,36259,36263,36267,36276,36286,36291,36302,36306,36310,36321,36327,36337,36346,36360,36376,36392,36396,36420,36431,36435,36439,36461,36488,36492,36509,36518,36525,36532,36539,36546,36555,36562,36569,36573,36593,36597,36601,36607,36638,36642,36646,36650,36665,36682,36692,36707,36711,36719],{"__ignoreMap":3761},[3765,35837,35838,35840],{"class":3767,"line":3768},[3765,35839,4716],{"class":4715},[3765,35841,4487],{"class":3775},[3765,35843,35844,35846],{"class":3767,"line":4332},[3765,35845,23146],{"class":3771},[3765,35847,4479],{"class":3775},[3765,35849,35850,35852],{"class":3767,"line":4359},[3765,35851,23153],{"class":3771},[3765,35853,4479],{"class":3775},[3765,35855,35856,35858],{"class":3767,"line":4366},[3765,35857,23160],{"class":3771},[3765,35859,4479],{"class":3775},[3765,35861,35862,35864],{"class":3767,"line":4372},[3765,35863,23167],{"class":3771},[3765,35865,4479],{"class":3775},[3765,35867,35868,35870],{"class":3767,"line":4504},[3765,35869,23174],{"class":3771},[3765,35871,4479],{"class":3775},[3765,35873,35874,35876],{"class":3767,"line":4518},[3765,35875,23181],{"class":3771},[3765,35877,4479],{"class":3775},[3765,35879,35880,35882,35884,35886],{"class":3767,"line":4524},[3765,35881,12324],{"class":3775},[3765,35883,4726],{"class":4715},[3765,35885,12276],{"class":3786},[3765,35887,4732],{"class":3775},[3765,35889,35890,35892,35894,35897,35899,35902,35904,35906,35908],{"class":3767,"line":4530},[3765,35891,4716],{"class":4715},[3765,35893,3825],{"class":3775},[3765,35895,35896],{"class":3771},"useColorScheme",[3765,35898,5576],{"class":4715},[3765,35900,35901],{"class":3771}," useSystemColorScheme",[3765,35903,4723],{"class":3775},[3765,35905,4726],{"class":4715},[3765,35907,5603],{"class":3786},[3765,35909,4732],{"class":3775},[3765,35911,35912],{"class":3767,"line":4535},[3765,35913,4363],{"emptyLinePlaceholder":4362},[3765,35915,35916,35918],{"class":3767,"line":4541},[3765,35917,4716],{"class":4715},[3765,35919,4487],{"class":3775},[3765,35921,35922,35925],{"class":3767,"line":4549},[3765,35923,35924],{"class":3771},"  colorsForScheme",[3765,35926,4479],{"class":3775},[3765,35928,35929,35931,35933],{"class":3767,"line":4562},[3765,35930,12407],{"class":4715},[3765,35932,35377],{"class":3771},[3765,35934,4479],{"class":3775},[3765,35936,35937,35939,35941],{"class":3767,"line":4572},[3765,35938,12407],{"class":4715},[3765,35940,35332],{"class":3771},[3765,35942,4479],{"class":3775},[3765,35944,35945,35947,35949,35952],{"class":3767,"line":4592},[3765,35946,12324],{"class":3775},[3765,35948,4726],{"class":4715},[3765,35950,35951],{"class":3786}," '.\u002Fcolors'",[3765,35953,4732],{"class":3775},[3765,35955,35956,35958,35960,35963,35965,35967,35969,35972,35974,35976,35979],{"class":3767,"line":4601},[3765,35957,4716],{"class":4715},[3765,35959,3825],{"class":3775},[3765,35961,35962],{"class":3771},"fontSize",[3765,35964,4032],{"class":3775},[3765,35966,15815],{"class":3771},[3765,35968,4032],{"class":3775},[3765,35970,35971],{"class":3771},"space",[3765,35973,4723],{"class":3775},[3765,35975,4726],{"class":4715},[3765,35977,35978],{"class":3786}," '.\u002Ftokens'",[3765,35980,4732],{"class":3775},[3765,35982,35983],{"class":3767,"line":4606},[3765,35984,4363],{"emptyLinePlaceholder":4362},[3765,35986,35987],{"class":3767,"line":4612},[3765,35988,35989],{"class":4328},"\u002F** Що обрав користувач: слідувати системі або примусово light\u002Fdark. *\u002F\n",[3765,35991,35992,35994,35996,35998,36000,36003,36005,36007],{"class":3767,"line":6683},[3765,35993,4741],{"class":4715},[3765,35995,6523],{"class":3790},[3765,35997,12447],{"class":3845},[3765,35999,4908],{"class":3775},[3765,36001,36002],{"class":3786},"'system'",[3765,36004,4884],{"class":3775},[3765,36006,35411],{"class":3845},[3765,36008,4732],{"class":3775},[3765,36010,36011],{"class":3767,"line":6693},[3765,36012,4363],{"emptyLinePlaceholder":4362},[3765,36014,36015,36017,36020],{"class":3767,"line":6698},[3765,36016,12444],{"class":3790},[3765,36018,36019],{"class":3845}," ThemeContextValue",[3765,36021,6529],{"class":3775},[3765,36023,36024],{"class":3767,"line":6703},[3765,36025,36026],{"class":4328},"  \u002F** Фактична схема, якою малюємо UI. *\u002F\n",[3765,36028,36029,36032,36034,36036],{"class":3767,"line":6713},[3765,36030,36031],{"class":3771},"  scheme",[3765,36033,3842],{"class":3775},[3765,36035,35411],{"class":3845},[3765,36037,4732],{"class":3775},[3765,36039,36040,36043,36045,36047],{"class":3767,"line":6723},[3765,36041,36042],{"class":3771},"  preference",[3765,36044,3842],{"class":3775},[3765,36046,12502],{"class":3845},[3765,36048,4732],{"class":3775},[3765,36050,36051,36054,36056,36058,36060,36062,36064,36066,36068],{"class":3767,"line":6733},[3765,36052,36053],{"class":3779},"  setPreference",[3765,36055,23270],{"class":3775},[3765,36057,23717],{"class":3771},[3765,36059,3842],{"class":3775},[3765,36061,12502],{"class":3845},[3765,36063,6832],{"class":3775},[3765,36065,5222],{"class":3790},[3765,36067,23313],{"class":3845},[3765,36069,4732],{"class":3775},[3765,36071,36072,36075,36077,36079],{"class":3767,"line":6743},[3765,36073,36074],{"class":3771},"  colors",[3765,36076,3842],{"class":3775},[3765,36078,35416],{"class":3845},[3765,36080,4732],{"class":3775},[3765,36082,36083,36086,36088,36090,36092],{"class":3767,"line":6748},[3765,36084,36085],{"class":3771},"  spacing",[3765,36087,3842],{"class":3775},[3765,36089,21955],{"class":3790},[3765,36091,35490],{"class":3771},[3765,36093,4732],{"class":3775},[3765,36095,36096,36098,36100,36102,36104],{"class":3767,"line":6754},[3765,36097,35789],{"class":3771},[3765,36099,3842],{"class":3775},[3765,36101,21955],{"class":3790},[3765,36103,17595],{"class":3771},[3765,36105,4732],{"class":3775},[3765,36107,36108,36110,36112,36114,36116],{"class":3767,"line":6759},[3765,36109,35796],{"class":3771},[3765,36111,3842],{"class":3775},[3765,36113,21955],{"class":3790},[3765,36115,35608],{"class":3771},[3765,36117,4732],{"class":3775},[3765,36119,36120],{"class":3767,"line":6788},[3765,36121,6578],{"class":3775},[3765,36123,36124],{"class":3767,"line":6814},[3765,36125,4363],{"emptyLinePlaceholder":4362},[3765,36127,36128,36130,36133,36135,36137,36139,36142,36144,36146,36148,36150],{"class":3767,"line":6852},[3765,36129,3822],{"class":3790},[3765,36131,36132],{"class":3828}," ThemeContext",[3765,36134,4908],{"class":3775},[3765,36136,23354],{"class":3779},[3765,36138,4376],{"class":3775},[3765,36140,36141],{"class":3845},"ThemeContextValue",[3765,36143,4884],{"class":3775},[3765,36145,23364],{"class":3845},[3765,36147,23367],{"class":3775},[3765,36149,23364],{"class":3790},[3765,36151,3809],{"class":3775},[3765,36153,36154],{"class":3767,"line":7689},[3765,36155,4363],{"emptyLinePlaceholder":4362},[3765,36157,36158,36160,36163],{"class":3767,"line":7730},[3765,36159,10963],{"class":3790},[3765,36161,36162],{"class":3779}," resolveScheme",[3765,36164,12724],{"class":3775},[3765,36166,36167,36169,36171,36173],{"class":3767,"line":7769},[3765,36168,36042],{"class":3771},[3765,36170,3842],{"class":3775},[3765,36172,12502],{"class":3845},[3765,36174,4479],{"class":3775},[3765,36176,36177,36180,36182,36184,36186,36188,36190,36192],{"class":3767,"line":7810},[3765,36178,36179],{"class":3771},"  system",[3765,36181,3842],{"class":3775},[3765,36183,3846],{"class":3845},[3765,36185,4884],{"class":3775},[3765,36187,23364],{"class":3845},[3765,36189,4884],{"class":3775},[3765,36191,4279],{"class":3845},[3765,36193,4479],{"class":3775},[3765,36195,36196,36198,36200],{"class":3767,"line":7820},[3765,36197,6777],{"class":3775},[3765,36199,35411],{"class":3845},[3765,36201,4487],{"class":3775},[3765,36203,36204,36206,36208,36210,36212,36214,36217,36219,36221,36223],{"class":3767,"line":7830},[3765,36205,4953],{"class":4715},[3765,36207,7304],{"class":3775},[3765,36209,12638],{"class":3771},[3765,36211,6844],{"class":3775},[3765,36213,35382],{"class":3786},[3765,36215,36216],{"class":3775}," || ",[3765,36218,12638],{"class":3771},[3765,36220,6844],{"class":3775},[3765,36222,35387],{"class":3786},[3765,36224,4961],{"class":3775},[3765,36226,36227,36229,36231],{"class":3767,"line":7838},[3765,36228,4966],{"class":4715},[3765,36230,14210],{"class":3771},[3765,36232,4732],{"class":3775},[3765,36234,36235],{"class":3767,"line":7857},[3765,36236,4990],{"class":3775},[3765,36238,36239,36241,36244,36246,36248,36250,36252,36255,36257],{"class":3767,"line":7885},[3765,36240,5082],{"class":4715},[3765,36242,36243],{"class":3771}," system",[3765,36245,6844],{"class":3775},[3765,36247,35387],{"class":3786},[3765,36249,8788],{"class":3775},[3765,36251,35387],{"class":3786},[3765,36253,36254],{"class":3775}," : ",[3765,36256,35382],{"class":3786},[3765,36258,4732],{"class":3775},[3765,36260,36261],{"class":3767,"line":7891},[3765,36262,4598],{"class":3775},[3765,36264,36265],{"class":3767,"line":7924},[3765,36266,4363],{"emptyLinePlaceholder":4362},[3765,36268,36269,36271,36274],{"class":3767,"line":7933},[3765,36270,12444],{"class":3790},[3765,36272,36273],{"class":3845}," ThemeProviderProps",[3765,36275,6529],{"class":3775},[3765,36277,36278,36280,36282,36284],{"class":3767,"line":7943},[3765,36279,23389],{"class":3771},[3765,36281,3842],{"class":3775},[3765,36283,23394],{"class":3845},[3765,36285,4732],{"class":3775},[3765,36287,36288],{"class":3767,"line":7951},[3765,36289,36290],{"class":4328},"  \u002F** Початкова перевага (за замовчуванням — як у системі). *\u002F\n",[3765,36292,36293,36296,36298,36300],{"class":3767,"line":7957},[3765,36294,36295],{"class":3771},"  initialPreference",[3765,36297,4786],{"class":3775},[3765,36299,12502],{"class":3845},[3765,36301,4732],{"class":3775},[3765,36303,36304],{"class":3767,"line":7962},[3765,36305,6578],{"class":3775},[3765,36307,36308],{"class":3767,"line":7969},[3765,36309,4363],{"emptyLinePlaceholder":4362},[3765,36311,36312,36314,36316,36319],{"class":3767,"line":7988},[3765,36313,4741],{"class":4715},[3765,36315,4747],{"class":3790},[3765,36317,36318],{"class":3779}," ThemeProvider",[3765,36320,4468],{"class":3775},[3765,36322,36323,36325],{"class":3767,"line":8017},[3765,36324,23389],{"class":3771},[3765,36326,4479],{"class":3775},[3765,36328,36329,36331,36333,36335],{"class":3767,"line":8022},[3765,36330,36295],{"class":3771},[3765,36332,4908],{"class":3775},[3765,36334,36002],{"class":3786},[3765,36336,4479],{"class":3775},[3765,36338,36339,36341,36344],{"class":3767,"line":8055},[3765,36340,25913],{"class":3775},[3765,36342,36343],{"class":3845},"ThemeProviderProps",[3765,36345,4961],{"class":3775},[3765,36347,36348,36350,36353,36355,36358],{"class":3767,"line":8064},[3765,36349,4758],{"class":3790},[3765,36351,36352],{"class":3828}," systemScheme",[3765,36354,4908],{"class":3775},[3765,36356,36357],{"class":3779},"useSystemColorScheme",[3765,36359,6811],{"class":3775},[3765,36361,36362,36364,36366,36368,36370,36373],{"class":3767,"line":8073},[3765,36363,4758],{"class":3790},[3765,36365,12660],{"class":3775},[3765,36367,12638],{"class":3828},[3765,36369,4032],{"class":3775},[3765,36371,36372],{"class":3828},"setPreferenceState",[3765,36374,36375],{"class":3775},"] =\n",[3765,36377,36378,36381,36383,36385,36387,36390],{"class":3767,"line":8078},[3765,36379,36380],{"class":3779},"    useState",[3765,36382,4376],{"class":3775},[3765,36384,12502],{"class":3845},[3765,36386,23367],{"class":3775},[3765,36388,36389],{"class":3771},"initialPreference",[3765,36391,3809],{"class":3775},[3765,36393,36394],{"class":3767,"line":8083},[3765,36395,4363],{"emptyLinePlaceholder":4362},[3765,36397,36398,36400,36402,36404,36406,36408,36410,36412,36414,36416,36418],{"class":3767,"line":8088},[3765,36399,4758],{"class":3790},[3765,36401,14271],{"class":3828},[3765,36403,4908],{"class":3775},[3765,36405,12264],{"class":3779},[3765,36407,6826],{"class":3775},[3765,36409,23717],{"class":3771},[3765,36411,3842],{"class":3775},[3765,36413,12502],{"class":3845},[3765,36415,6832],{"class":3775},[3765,36417,5222],{"class":3790},[3765,36419,4487],{"class":3775},[3765,36421,36422,36425,36427,36429],{"class":3767,"line":8107},[3765,36423,36424],{"class":3779},"    setPreferenceState",[3765,36426,3783],{"class":3775},[3765,36428,23717],{"class":3771},[3765,36430,3809],{"class":3775},[3765,36432,36433],{"class":3767,"line":8129},[3765,36434,23590],{"class":3775},[3765,36436,36437],{"class":3767,"line":8137},[3765,36438,4363],{"emptyLinePlaceholder":4362},[3765,36440,36441,36443,36445,36447,36450,36452,36454,36456,36459],{"class":3767,"line":8148},[3765,36442,4758],{"class":3790},[3765,36444,35425],{"class":3828},[3765,36446,4908],{"class":3775},[3765,36448,36449],{"class":3779},"resolveScheme",[3765,36451,3783],{"class":3775},[3765,36453,12638],{"class":3771},[3765,36455,4032],{"class":3775},[3765,36457,36458],{"class":3771},"systemScheme",[3765,36460,3809],{"class":3775},[3765,36462,36463,36465,36467,36469,36471,36473,36475,36477,36479,36481,36484,36486],{"class":3767,"line":8159},[3765,36464,4758],{"class":3790},[3765,36466,11062],{"class":3828},[3765,36468,4908],{"class":3775},[3765,36470,15439],{"class":3779},[3765,36472,12886],{"class":3775},[3765,36474,5222],{"class":3790},[3765,36476,35402],{"class":3779},[3765,36478,3783],{"class":3775},[3765,36480,5544],{"class":3771},[3765,36482,36483],{"class":3775},"), [",[3765,36485,5544],{"class":3771},[3765,36487,12955],{"class":3775},[3765,36489,36490],{"class":3767,"line":8170},[3765,36491,4363],{"emptyLinePlaceholder":4362},[3765,36493,36494,36496,36498,36500,36502,36504,36506],{"class":3767,"line":8181},[3765,36495,4758],{"class":3790},[3765,36497,23637],{"class":3828},[3765,36499,4908],{"class":3775},[3765,36501,15439],{"class":3779},[3765,36503,4376],{"class":3775},[3765,36505,36141],{"class":3845},[3765,36507,36508],{"class":3775},">(\n",[3765,36510,36511,36513,36515],{"class":3767,"line":8192},[3765,36512,15768],{"class":3775},[3765,36514,5222],{"class":3790},[3765,36516,36517],{"class":3775}," ({\n",[3765,36519,36520,36523],{"class":3767,"line":8197},[3765,36521,36522],{"class":3771},"      scheme",[3765,36524,4479],{"class":3775},[3765,36526,36527,36530],{"class":3767,"line":8205},[3765,36528,36529],{"class":3771},"      preference",[3765,36531,4479],{"class":3775},[3765,36533,36534,36537],{"class":3767,"line":8214},[3765,36535,36536],{"class":3771},"      setPreference",[3765,36538,4479],{"class":3775},[3765,36540,36541,36544],{"class":3767,"line":8225},[3765,36542,36543],{"class":3771},"      colors",[3765,36545,4479],{"class":3775},[3765,36547,36548,36551,36553],{"class":3767,"line":8235},[3765,36549,36550],{"class":3771},"      spacing:",[3765,36552,35490],{"class":3771},[3765,36554,4479],{"class":3775},[3765,36556,36557,36560],{"class":3767,"line":8244},[3765,36558,36559],{"class":3771},"      radius",[3765,36561,4479],{"class":3775},[3765,36563,36564,36567],{"class":3767,"line":8254},[3765,36565,36566],{"class":3771},"      fontSize",[3765,36568,4479],{"class":3775},[3765,36570,36571],{"class":3767,"line":8264},[3765,36572,18105],{"class":3775},[3765,36574,36575,36577,36579,36581,36583,36585,36587,36589,36591],{"class":3767,"line":8269},[3765,36576,12778],{"class":3775},[3765,36578,5544],{"class":3771},[3765,36580,4032],{"class":3775},[3765,36582,12638],{"class":3771},[3765,36584,4032],{"class":3775},[3765,36586,12643],{"class":3771},[3765,36588,4032],{"class":3775},[3765,36590,5162],{"class":3771},[3765,36592,12783],{"class":3775},[3765,36594,36595],{"class":3767,"line":8292},[3765,36596,5252],{"class":3775},[3765,36598,36599],{"class":3767,"line":8300},[3765,36600,4363],{"emptyLinePlaceholder":4362},[3765,36602,36603,36605],{"class":3767,"line":8311},[3765,36604,5082],{"class":4715},[3765,36606,5085],{"class":3775},[3765,36608,36609,36611,36614,36616,36618,36620,36622,36624,36626,36628,36630,36632,36634,36636],{"class":3767,"line":8321},[3765,36610,5090],{"class":4375},[3765,36612,36613],{"class":3845},"ThemeContext.Provider",[3765,36615,23637],{"class":4381},[3765,36617,4385],{"class":3775},[3765,36619,4388],{"class":3790},[3765,36621,23717],{"class":3771},[3765,36623,3803],{"class":3790},[3765,36625,4408],{"class":4375},[3765,36627,4388],{"class":3790},[3765,36629,23418],{"class":3771},[3765,36631,3803],{"class":3790},[3765,36633,4414],{"class":4375},[3765,36635,36613],{"class":3845},[3765,36637,4419],{"class":4375},[3765,36639,36640],{"class":3767,"line":8331},[3765,36641,5252],{"class":3775},[3765,36643,36644],{"class":3767,"line":8342},[3765,36645,4598],{"class":3775},[3765,36647,36648],{"class":3767,"line":8353},[3765,36649,4363],{"emptyLinePlaceholder":4362},[3765,36651,36652,36654,36656,36659,36661,36663],{"class":3767,"line":8363},[3765,36653,4741],{"class":4715},[3765,36655,4747],{"class":3790},[3765,36657,36658],{"class":3779}," useTheme",[3765,36660,23757],{"class":3775},[3765,36662,36141],{"class":3845},[3765,36664,4487],{"class":3775},[3765,36666,36667,36669,36671,36673,36675,36677,36680],{"class":3767,"line":8368},[3765,36668,4758],{"class":3790},[3765,36670,23768],{"class":3828},[3765,36672,4908],{"class":3775},[3765,36674,23773],{"class":3779},[3765,36676,3783],{"class":3775},[3765,36678,36679],{"class":3771},"ThemeContext",[3765,36681,3809],{"class":3775},[3765,36683,36684,36686,36688,36690],{"class":3767,"line":8397},[3765,36685,4953],{"class":4715},[3765,36687,4956],{"class":3775},[3765,36689,23789],{"class":3771},[3765,36691,4961],{"class":3775},[3765,36693,36694,36696,36698,36700,36702,36705],{"class":3767,"line":8432},[3765,36695,23796],{"class":4715},[3765,36697,23799],{"class":3790},[3765,36699,23802],{"class":3779},[3765,36701,3783],{"class":3775},[3765,36703,36704],{"class":3786},"'useTheme() потрібно викликати всередині \u003CThemeProvider>.'",[3765,36706,3809],{"class":3775},[3765,36708,36709],{"class":3767,"line":8452},[3765,36710,4990],{"class":3775},[3765,36712,36713,36715,36717],{"class":3767,"line":8460},[3765,36714,5082],{"class":4715},[3765,36716,23768],{"class":3771},[3765,36718,4732],{"class":3775},[3765,36720,36721],{"class":3767,"line":8470},[3765,36722,4598],{"class":3775},[3756,36724,36727],{"className":6512,"code":36725,"filename":36726,"language":6514,"meta":3761,"style":3761},"export { lightColors, darkColors, colorsForScheme } from '.\u002Fcolors';\nexport type { ColorTokens, ColorSchemeName } from '.\u002Fcolors';\nexport { tokens, space, radius, fontSize } from '.\u002Ftokens';\nexport type { Tokens } from '.\u002Ftokens';\nexport { ThemeProvider, useTheme } from '.\u002FThemeProvider';\nexport type { ThemePreference } from '.\u002FThemeProvider';\n","src\u002Fshared\u002Ftheme\u002Findex.ts",[3747,36728,36729,36754,36776,36805,36824,36845],{"__ignoreMap":3761},[3765,36730,36731,36733,36735,36737,36739,36741,36743,36746,36748,36750,36752],{"class":3767,"line":3768},[3765,36732,4741],{"class":4715},[3765,36734,3825],{"class":3775},[3765,36736,35441],{"class":3771},[3765,36738,4032],{"class":3775},[3765,36740,35435],{"class":3771},[3765,36742,4032],{"class":3775},[3765,36744,36745],{"class":3771},"colorsForScheme",[3765,36747,4723],{"class":3775},[3765,36749,4726],{"class":4715},[3765,36751,35951],{"class":3786},[3765,36753,4732],{"class":3775},[3765,36755,36756,36758,36760,36762,36764,36766,36768,36770,36772,36774],{"class":3767,"line":4332},[3765,36757,4741],{"class":4715},[3765,36759,6523],{"class":4715},[3765,36761,3825],{"class":3775},[3765,36763,35416],{"class":3771},[3765,36765,4032],{"class":3775},[3765,36767,35411],{"class":3771},[3765,36769,4723],{"class":3775},[3765,36771,4726],{"class":4715},[3765,36773,35951],{"class":3786},[3765,36775,4732],{"class":3775},[3765,36777,36778,36780,36782,36785,36787,36789,36791,36793,36795,36797,36799,36801,36803],{"class":3767,"line":4359},[3765,36779,4741],{"class":4715},[3765,36781,3825],{"class":3775},[3765,36783,36784],{"class":3771},"tokens",[3765,36786,4032],{"class":3775},[3765,36788,35971],{"class":3771},[3765,36790,4032],{"class":3775},[3765,36792,15815],{"class":3771},[3765,36794,4032],{"class":3775},[3765,36796,35962],{"class":3771},[3765,36798,4723],{"class":3775},[3765,36800,4726],{"class":4715},[3765,36802,35978],{"class":3786},[3765,36804,4732],{"class":3775},[3765,36806,36807,36809,36811,36813,36816,36818,36820,36822],{"class":3767,"line":4366},[3765,36808,4741],{"class":4715},[3765,36810,6523],{"class":4715},[3765,36812,3825],{"class":3775},[3765,36814,36815],{"class":3771},"Tokens",[3765,36817,4723],{"class":3775},[3765,36819,4726],{"class":4715},[3765,36821,35978],{"class":3786},[3765,36823,4732],{"class":3775},[3765,36825,36826,36828,36830,36832,36834,36836,36838,36840,36843],{"class":3767,"line":4372},[3765,36827,4741],{"class":4715},[3765,36829,3825],{"class":3775},[3765,36831,10876],{"class":3771},[3765,36833,4032],{"class":3775},[3765,36835,10881],{"class":3771},[3765,36837,4723],{"class":3775},[3765,36839,4726],{"class":4715},[3765,36841,36842],{"class":3786}," '.\u002FThemeProvider'",[3765,36844,4732],{"class":3775},[3765,36846,36847,36849,36851,36853,36855,36857,36859,36861],{"class":3767,"line":4504},[3765,36848,4741],{"class":4715},[3765,36850,6523],{"class":4715},[3765,36852,3825],{"class":3775},[3765,36854,12502],{"class":3771},[3765,36856,4723],{"class":3775},[3765,36858,4726],{"class":4715},[3765,36860,36842],{"class":3786},[3765,36862,4732],{"class":3775},[3756,36864,36867],{"className":3758,"code":36865,"filename":36866,"language":3760,"meta":3761,"style":3761},"import { ReactNode } from 'react';\nimport { StyleSheet, Text, TextProps, TextStyle } from 'react-native';\n\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\n\ntype AppTextVariant = 'body' | 'title' | 'subtitle' | 'caption';\n\ntype AppTextProps = TextProps & {\n  children: ReactNode;\n  variant?: AppTextVariant;\n  \u002F** Якщо не передано — body\u002Ftitle\u002Fsubtitle → text, caption → textSecondary. *\u002F\n  color?: string;\n  style?: TextStyle | TextStyle[];\n};\n\nexport function AppText({\n  children,\n  variant = 'body',\n  color,\n  style,\n  ...rest\n}: AppTextProps) {\n  const { colors, fontSize } = useTheme();\n  const resolvedColor =\n    color ??\n    (variant === 'caption' ? colors.textSecondary : colors.text);\n\n  return (\n    \u003CText\n      style={[\n        styles.base,\n        variant === 'body' && { fontSize: fontSize.md, lineHeight: 24 },\n        variant === 'title' && {\n          fontSize: fontSize.xl,\n          fontWeight: '700',\n          lineHeight: 34,\n        },\n        variant === 'subtitle' && {\n          fontSize: fontSize.lg,\n          fontWeight: '600',\n          lineHeight: 28,\n        },\n        variant === 'caption' && {\n          fontSize: fontSize.sm,\n          lineHeight: 20,\n        },\n        { color: resolvedColor },\n        style,\n      ]}\n      {...rest}\n    >\n      {children}\n    \u003C\u002FText>\n  );\n}\n\nconst styles = StyleSheet.create({\n  base: {},\n});\n","src\u002Fshared\u002Fui\u002FAppText.tsx",[3747,36868,36869,36885,36915,36919,36935,36939,36968,36972,36986,36996,37008,37013,37024,37039,37043,37047,37058,37064,37074,37080,37086,37094,37103,37121,37131,37139,37168,37172,37178,37185,37195,37205,37234,37247,37259,37267,37277,37281,37294,37306,37314,37322,37326,37339,37351,37359,37363,37374,37380,37386,37398,37402,37410,37418,37422,37426,37430,37446,37453],{"__ignoreMap":3761},[3765,36870,36871,36873,36875,36877,36879,36881,36883],{"class":3767,"line":3768},[3765,36872,4716],{"class":4715},[3765,36874,3825],{"class":3775},[3765,36876,23394],{"class":3771},[3765,36878,4723],{"class":3775},[3765,36880,4726],{"class":4715},[3765,36882,12276],{"class":3786},[3765,36884,4732],{"class":3775},[3765,36886,36887,36889,36891,36893,36895,36897,36899,36902,36904,36907,36909,36911,36913],{"class":3767,"line":4332},[3765,36888,4716],{"class":4715},[3765,36890,3825],{"class":3775},[3765,36892,7163],{"class":3771},[3765,36894,4032],{"class":3775},[3765,36896,7168],{"class":3771},[3765,36898,4032],{"class":3775},[3765,36900,36901],{"class":3771},"TextProps",[3765,36903,4032],{"class":3775},[3765,36905,36906],{"class":3771},"TextStyle",[3765,36908,4723],{"class":3775},[3765,36910,4726],{"class":4715},[3765,36912,5603],{"class":3786},[3765,36914,4732],{"class":3775},[3765,36916,36917],{"class":3767,"line":4359},[3765,36918,4363],{"emptyLinePlaceholder":4362},[3765,36920,36921,36923,36925,36927,36929,36931,36933],{"class":3767,"line":4366},[3765,36922,4716],{"class":4715},[3765,36924,3825],{"class":3775},[3765,36926,10881],{"class":3771},[3765,36928,4723],{"class":3775},[3765,36930,4726],{"class":4715},[3765,36932,10888],{"class":3786},[3765,36934,4732],{"class":3775},[3765,36936,36937],{"class":3767,"line":4372},[3765,36938,4363],{"emptyLinePlaceholder":4362},[3765,36940,36941,36943,36946,36948,36951,36953,36956,36958,36961,36963,36966],{"class":3767,"line":4504},[3765,36942,12444],{"class":3790},[3765,36944,36945],{"class":3845}," AppTextVariant",[3765,36947,4908],{"class":3775},[3765,36949,36950],{"class":3786},"'body'",[3765,36952,4884],{"class":3775},[3765,36954,36955],{"class":3786},"'title'",[3765,36957,4884],{"class":3775},[3765,36959,36960],{"class":3786},"'subtitle'",[3765,36962,4884],{"class":3775},[3765,36964,36965],{"class":3786},"'caption'",[3765,36967,4732],{"class":3775},[3765,36969,36970],{"class":3767,"line":4518},[3765,36971,4363],{"emptyLinePlaceholder":4362},[3765,36973,36974,36976,36979,36981,36983],{"class":3767,"line":4524},[3765,36975,12444],{"class":3790},[3765,36977,36978],{"class":3845}," AppTextProps",[3765,36980,4908],{"class":3775},[3765,36982,36901],{"class":3845},[3765,36984,36985],{"class":3775}," & {\n",[3765,36987,36988,36990,36992,36994],{"class":3767,"line":4530},[3765,36989,23389],{"class":3771},[3765,36991,3842],{"class":3775},[3765,36993,23394],{"class":3845},[3765,36995,4732],{"class":3775},[3765,36997,36998,37001,37003,37006],{"class":3767,"line":4535},[3765,36999,37000],{"class":3771},"  variant",[3765,37002,4786],{"class":3775},[3765,37004,37005],{"class":3845},"AppTextVariant",[3765,37007,4732],{"class":3775},[3765,37009,37010],{"class":3767,"line":4541},[3765,37011,37012],{"class":4328},"  \u002F** Якщо не передано — body\u002Ftitle\u002Fsubtitle → text, caption → textSecondary. *\u002F\n",[3765,37014,37015,37018,37020,37022],{"class":3767,"line":4549},[3765,37016,37017],{"class":3771},"  color",[3765,37019,4786],{"class":3775},[3765,37021,3846],{"class":3845},[3765,37023,4732],{"class":3775},[3765,37025,37026,37029,37031,37033,37035,37037],{"class":3767,"line":4562},[3765,37027,37028],{"class":3771},"  style",[3765,37030,4786],{"class":3775},[3765,37032,36906],{"class":3845},[3765,37034,4884],{"class":3775},[3765,37036,36906],{"class":3845},[3765,37038,23257],{"class":3775},[3765,37040,37041],{"class":3767,"line":4572},[3765,37042,6578],{"class":3775},[3765,37044,37045],{"class":3767,"line":4592},[3765,37046,4363],{"emptyLinePlaceholder":4362},[3765,37048,37049,37051,37053,37056],{"class":3767,"line":4601},[3765,37050,4741],{"class":4715},[3765,37052,4747],{"class":3790},[3765,37054,37055],{"class":3779}," AppText",[3765,37057,4468],{"class":3775},[3765,37059,37060,37062],{"class":3767,"line":4606},[3765,37061,23389],{"class":3771},[3765,37063,4479],{"class":3775},[3765,37065,37066,37068,37070,37072],{"class":3767,"line":4612},[3765,37067,37000],{"class":3771},[3765,37069,4908],{"class":3775},[3765,37071,36950],{"class":3786},[3765,37073,4479],{"class":3775},[3765,37075,37076,37078],{"class":3767,"line":6683},[3765,37077,37017],{"class":3771},[3765,37079,4479],{"class":3775},[3765,37081,37082,37084],{"class":3767,"line":6693},[3765,37083,37028],{"class":3771},[3765,37085,4479],{"class":3775},[3765,37087,37088,37091],{"class":3767,"line":6698},[3765,37089,37090],{"class":3775},"  ...",[3765,37092,37093],{"class":3771},"rest\n",[3765,37095,37096,37098,37101],{"class":3767,"line":6703},[3765,37097,25913],{"class":3775},[3765,37099,37100],{"class":3845},"AppTextProps",[3765,37102,4961],{"class":3775},[3765,37104,37105,37107,37109,37111,37113,37115,37117,37119],{"class":3767,"line":6713},[3765,37106,4758],{"class":3790},[3765,37108,3825],{"class":3775},[3765,37110,5162],{"class":3828},[3765,37112,4032],{"class":3775},[3765,37114,35962],{"class":3828},[3765,37116,3831],{"class":3775},[3765,37118,10881],{"class":3779},[3765,37120,6811],{"class":3775},[3765,37122,37123,37125,37128],{"class":3767,"line":6723},[3765,37124,4758],{"class":3790},[3765,37126,37127],{"class":3828}," resolvedColor",[3765,37129,37130],{"class":3775}," =\n",[3765,37132,37133,37136],{"class":3767,"line":6733},[3765,37134,37135],{"class":3771},"    color",[3765,37137,37138],{"class":3775}," ??\n",[3765,37140,37141,37143,37146,37148,37150,37152,37154,37156,37158,37160,37162,37164,37166],{"class":3767,"line":6743},[3765,37142,12729],{"class":3775},[3765,37144,37145],{"class":3771},"variant",[3765,37147,6844],{"class":3775},[3765,37149,36965],{"class":3786},[3765,37151,8788],{"class":3775},[3765,37153,5162],{"class":3771},[3765,37155,3776],{"class":3775},[3765,37157,5167],{"class":3771},[3765,37159,36254],{"class":3775},[3765,37161,5162],{"class":3771},[3765,37163,3776],{"class":3775},[3765,37165,4045],{"class":3771},[3765,37167,3809],{"class":3775},[3765,37169,37170],{"class":3767,"line":6748},[3765,37171,4363],{"emptyLinePlaceholder":4362},[3765,37173,37174,37176],{"class":3767,"line":6754},[3765,37175,5082],{"class":4715},[3765,37177,5085],{"class":3775},[3765,37179,37180,37182],{"class":3767,"line":6759},[3765,37181,5090],{"class":4375},[3765,37183,37184],{"class":3845},"Text\n",[3765,37186,37187,37189,37191,37193],{"class":3767,"line":6788},[3765,37188,13490],{"class":4381},[3765,37190,4385],{"class":3775},[3765,37192,4388],{"class":3790},[3765,37194,13497],{"class":3797},[3765,37196,37197,37199,37201,37203],{"class":3767,"line":6814},[3765,37198,13502],{"class":3771},[3765,37200,3776],{"class":3797},[3765,37202,25790],{"class":3771},[3765,37204,4479],{"class":3797},[3765,37206,37207,37209,37211,37214,37216,37218,37220,37222,37224,37226,37228,37230,37232],{"class":3767,"line":6852},[3765,37208,13632],{"class":3771},[3765,37210,11017],{"class":3775},[3765,37212,37213],{"class":3786}," 'body'",[3765,37215,30832],{"class":3775},[3765,37217,3825],{"class":3797},[3765,37219,8376],{"class":3771},[3765,37221,35608],{"class":3771},[3765,37223,3776],{"class":3797},[3765,37225,13114],{"class":3771},[3765,37227,4032],{"class":3797},[3765,37229,9719],{"class":3771},[3765,37231,8287],{"class":4931},[3765,37233,4589],{"class":3797},[3765,37235,37236,37238,37240,37243,37245],{"class":3767,"line":7689},[3765,37237,13632],{"class":3771},[3765,37239,11017],{"class":3775},[3765,37241,37242],{"class":3786}," 'title'",[3765,37244,30832],{"class":3775},[3765,37246,4487],{"class":3797},[3765,37248,37249,37251,37253,37255,37257],{"class":3767,"line":7730},[3765,37250,11566],{"class":3771},[3765,37252,35608],{"class":3771},[3765,37254,3776],{"class":3797},[3765,37256,13539],{"class":3771},[3765,37258,4479],{"class":3797},[3765,37260,37261,37263,37265],{"class":3767,"line":7769},[3765,37262,11575],{"class":3771},[3765,37264,8386],{"class":3786},[3765,37266,4479],{"class":3797},[3765,37268,37269,37272,37275],{"class":3767,"line":7810},[3765,37270,37271],{"class":3771},"          lineHeight:",[3765,37273,37274],{"class":4931}," 34",[3765,37276,4479],{"class":3797},[3765,37278,37279],{"class":3767,"line":7820},[3765,37280,11554],{"class":3797},[3765,37282,37283,37285,37287,37290,37292],{"class":3767,"line":7830},[3765,37284,13632],{"class":3771},[3765,37286,11017],{"class":3775},[3765,37288,37289],{"class":3786}," 'subtitle'",[3765,37291,30832],{"class":3775},[3765,37293,4487],{"class":3797},[3765,37295,37296,37298,37300,37302,37304],{"class":3767,"line":7838},[3765,37297,11566],{"class":3771},[3765,37299,35608],{"class":3771},[3765,37301,3776],{"class":3797},[3765,37303,16107],{"class":3771},[3765,37305,4479],{"class":3797},[3765,37307,37308,37310,37312],{"class":3767,"line":7857},[3765,37309,11575],{"class":3771},[3765,37311,7010],{"class":3786},[3765,37313,4479],{"class":3797},[3765,37315,37316,37318,37320],{"class":3767,"line":7885},[3765,37317,37271],{"class":3771},[3765,37319,9671],{"class":4931},[3765,37321,4479],{"class":3797},[3765,37323,37324],{"class":3767,"line":7891},[3765,37325,11554],{"class":3797},[3765,37327,37328,37330,37332,37335,37337],{"class":3767,"line":7924},[3765,37329,13632],{"class":3771},[3765,37331,11017],{"class":3775},[3765,37333,37334],{"class":3786}," 'caption'",[3765,37336,30832],{"class":3775},[3765,37338,4487],{"class":3797},[3765,37340,37341,37343,37345,37347,37349],{"class":3767,"line":7933},[3765,37342,11566],{"class":3771},[3765,37344,35608],{"class":3771},[3765,37346,3776],{"class":3797},[3765,37348,13176],{"class":3771},[3765,37350,4479],{"class":3797},[3765,37352,37353,37355,37357],{"class":3767,"line":7943},[3765,37354,37271],{"class":3771},[3765,37356,8407],{"class":4931},[3765,37358,4479],{"class":3797},[3765,37360,37361],{"class":3767,"line":7951},[3765,37362,11554],{"class":3797},[3765,37364,37365,37368,37370,37372],{"class":3767,"line":7957},[3765,37366,37367],{"class":3797},"        { ",[3765,37369,6999],{"class":3771},[3765,37371,37127],{"class":3771},[3765,37373,4589],{"class":3797},[3765,37375,37376,37378],{"class":3767,"line":7962},[3765,37377,7972],{"class":3771},[3765,37379,4479],{"class":3797},[3765,37381,37382,37384],{"class":3767,"line":7969},[3765,37383,13566],{"class":3797},[3765,37385,4598],{"class":3790},[3765,37387,37388,37390,37393,37396],{"class":3767,"line":7988},[3765,37389,13136],{"class":3790},[3765,37391,37392],{"class":3775},"...",[3765,37394,37395],{"class":3771},"rest",[3765,37397,4598],{"class":3790},[3765,37399,37400],{"class":3767,"line":8017},[3765,37401,11595],{"class":4375},[3765,37403,37404,37406,37408],{"class":3767,"line":8022},[3765,37405,13136],{"class":3790},[3765,37407,23418],{"class":3771},[3765,37409,4598],{"class":3790},[3765,37411,37412,37414,37416],{"class":3767,"line":8055},[3765,37413,5243],{"class":4375},[3765,37415,7168],{"class":3845},[3765,37417,4419],{"class":4375},[3765,37419,37420],{"class":3767,"line":8064},[3765,37421,5252],{"class":3775},[3765,37423,37424],{"class":3767,"line":8073},[3765,37425,4598],{"class":3775},[3765,37427,37428],{"class":3767,"line":8078},[3765,37429,4363],{"emptyLinePlaceholder":4362},[3765,37431,37432,37434,37436,37438,37440,37442,37444],{"class":3767,"line":8083},[3765,37433,3822],{"class":3790},[3765,37435,8093],{"class":3828},[3765,37437,4908],{"class":3775},[3765,37439,7163],{"class":3771},[3765,37441,3776],{"class":3775},[3765,37443,8102],{"class":3779},[3765,37445,4468],{"class":3775},[3765,37447,37448,37451],{"class":3767,"line":8088},[3765,37449,37450],{"class":3771},"  base:",[3765,37452,18100],{"class":3775},[3765,37454,37455],{"class":3767,"line":8107},[3765,37456,4527],{"class":3775},[3756,37458,37461],{"className":3758,"code":37459,"filename":37460,"language":3760,"meta":3761,"style":3761},"import { Pressable, StyleSheet, Text, ViewStyle } from 'react-native';\n\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\n\ntype ButtonVariant = 'primary' | 'secondary';\n\ntype ButtonProps = {\n  label: string;\n  onPress: () => void;\n  disabled?: boolean;\n  style?: ViewStyle;\n  variant?: ButtonVariant;\n};\n\nexport function Button({\n  label,\n  onPress,\n  disabled = false,\n  style,\n  variant = 'primary',\n}: ButtonProps) {\n  const { colors, spacing, radius, fontSize } = useTheme();\n  const isPrimary = variant === 'primary';\n\n  return (\n    \u003CPressable\n      accessibilityRole=\"button\"\n      disabled={disabled}\n      onPress={onPress}\n      style={({ pressed }) => [\n        styles.base,\n        {\n          paddingVertical: spacing.sm + 4,\n          paddingHorizontal: spacing.md,\n          borderRadius: radius.md,\n          backgroundColor: isPrimary ? colors.primary : colors.surface,\n          borderWidth: isPrimary ? 0 : 1,\n          borderColor: colors.border,\n        },\n        pressed && !disabled\n          ? isPrimary\n            ? { backgroundColor: colors.primaryPressed }\n            : { opacity: 0.85 }\n          : null,\n        disabled ? styles.disabled : null,\n        style,\n      ]}\n    >\n      \u003CText\n        style={[\n          styles.label,\n          {\n            color: isPrimary ? colors.onPrimary : colors.text,\n            fontSize: fontSize.md,\n          },\n        ]}\n      >\n        {label}\n      \u003C\u002FText>\n    \u003C\u002FPressable>\n  );\n}\n\nconst styles = StyleSheet.create({\n  base: {\n    alignItems: 'center',\n  },\n  disabled: {\n    opacity: 0.5,\n  },\n  label: {\n    fontWeight: '600',\n  },\n});\n","src\u002Fshared\u002Fui\u002FButton.tsx",[3747,37462,37463,37492,37496,37512,37516,37535,37539,37548,37558,37570,37581,37591,37602,37606,37610,37621,37627,37633,37643,37649,37659,37668,37694,37711,37715,37721,37727,37735,37749,37761,37779,37789,37793,37809,37821,37833,37857,37874,37886,37890,37902,37910,37928,37942,37952,37971,37977,37983,37987,37993,38003,38013,38017,38041,38054,38058,38064,38068,38076,38084,38092,38096,38100,38104,38120,38126,38134,38138,38145,38154,38158,38164,38172,38176],{"__ignoreMap":3761},[3765,37464,37465,37467,37469,37471,37473,37475,37477,37479,37481,37484,37486,37488,37490],{"class":3767,"line":3768},[3765,37466,4716],{"class":4715},[3765,37468,3825],{"class":3775},[3765,37470,7158],{"class":3771},[3765,37472,4032],{"class":3775},[3765,37474,7163],{"class":3771},[3765,37476,4032],{"class":3775},[3765,37478,7168],{"class":3771},[3765,37480,4032],{"class":3775},[3765,37482,37483],{"class":3771},"ViewStyle",[3765,37485,4723],{"class":3775},[3765,37487,4726],{"class":4715},[3765,37489,5603],{"class":3786},[3765,37491,4732],{"class":3775},[3765,37493,37494],{"class":3767,"line":4332},[3765,37495,4363],{"emptyLinePlaceholder":4362},[3765,37497,37498,37500,37502,37504,37506,37508,37510],{"class":3767,"line":4359},[3765,37499,4716],{"class":4715},[3765,37501,3825],{"class":3775},[3765,37503,10881],{"class":3771},[3765,37505,4723],{"class":3775},[3765,37507,4726],{"class":4715},[3765,37509,10888],{"class":3786},[3765,37511,4732],{"class":3775},[3765,37513,37514],{"class":3767,"line":4366},[3765,37515,4363],{"emptyLinePlaceholder":4362},[3765,37517,37518,37520,37523,37525,37528,37530,37533],{"class":3767,"line":4372},[3765,37519,12444],{"class":3790},[3765,37521,37522],{"class":3845}," ButtonVariant",[3765,37524,4908],{"class":3775},[3765,37526,37527],{"class":3786},"'primary'",[3765,37529,4884],{"class":3775},[3765,37531,37532],{"class":3786},"'secondary'",[3765,37534,4732],{"class":3775},[3765,37536,37537],{"class":3767,"line":4504},[3765,37538,4363],{"emptyLinePlaceholder":4362},[3765,37540,37541,37543,37546],{"class":3767,"line":4518},[3765,37542,12444],{"class":3790},[3765,37544,37545],{"class":3845}," ButtonProps",[3765,37547,6529],{"class":3775},[3765,37549,37550,37552,37554,37556],{"class":3767,"line":4524},[3765,37551,29872],{"class":3771},[3765,37553,3842],{"class":3775},[3765,37555,3846],{"class":3845},[3765,37557,4732],{"class":3775},[3765,37559,37560,37562,37564,37566,37568],{"class":3767,"line":4530},[3765,37561,32885],{"class":3779},[3765,37563,23328],{"class":3775},[3765,37565,5222],{"class":3790},[3765,37567,23313],{"class":3845},[3765,37569,4732],{"class":3775},[3765,37571,37572,37575,37577,37579],{"class":3767,"line":4535},[3765,37573,37574],{"class":3771},"  disabled",[3765,37576,4786],{"class":3775},[3765,37578,21750],{"class":3845},[3765,37580,4732],{"class":3775},[3765,37582,37583,37585,37587,37589],{"class":3767,"line":4541},[3765,37584,37028],{"class":3771},[3765,37586,4786],{"class":3775},[3765,37588,37483],{"class":3845},[3765,37590,4732],{"class":3775},[3765,37592,37593,37595,37597,37600],{"class":3767,"line":4549},[3765,37594,37000],{"class":3771},[3765,37596,4786],{"class":3775},[3765,37598,37599],{"class":3845},"ButtonVariant",[3765,37601,4732],{"class":3775},[3765,37603,37604],{"class":3767,"line":4562},[3765,37605,6578],{"class":3775},[3765,37607,37608],{"class":3767,"line":4572},[3765,37609,4363],{"emptyLinePlaceholder":4362},[3765,37611,37612,37614,37616,37619],{"class":3767,"line":4592},[3765,37613,4741],{"class":4715},[3765,37615,4747],{"class":3790},[3765,37617,37618],{"class":3779}," Button",[3765,37620,4468],{"class":3775},[3765,37622,37623,37625],{"class":3767,"line":4601},[3765,37624,29872],{"class":3771},[3765,37626,4479],{"class":3775},[3765,37628,37629,37631],{"class":3767,"line":4606},[3765,37630,32885],{"class":3771},[3765,37632,4479],{"class":3775},[3765,37634,37635,37637,37639,37641],{"class":3767,"line":4612},[3765,37636,37574],{"class":3771},[3765,37638,4908],{"class":3775},[3765,37640,12704],{"class":3790},[3765,37642,4479],{"class":3775},[3765,37644,37645,37647],{"class":3767,"line":6683},[3765,37646,37028],{"class":3771},[3765,37648,4479],{"class":3775},[3765,37650,37651,37653,37655,37657],{"class":3767,"line":6693},[3765,37652,37000],{"class":3771},[3765,37654,4908],{"class":3775},[3765,37656,37527],{"class":3786},[3765,37658,4479],{"class":3775},[3765,37660,37661,37663,37666],{"class":3767,"line":6698},[3765,37662,25913],{"class":3775},[3765,37664,37665],{"class":3845},"ButtonProps",[3765,37667,4961],{"class":3775},[3765,37669,37670,37672,37674,37676,37678,37680,37682,37684,37686,37688,37690,37692],{"class":3767,"line":6703},[3765,37671,4758],{"class":3790},[3765,37673,3825],{"class":3775},[3765,37675,5162],{"class":3828},[3765,37677,4032],{"class":3775},[3765,37679,12633],{"class":3828},[3765,37681,4032],{"class":3775},[3765,37683,15815],{"class":3828},[3765,37685,4032],{"class":3775},[3765,37687,35962],{"class":3828},[3765,37689,3831],{"class":3775},[3765,37691,10881],{"class":3779},[3765,37693,6811],{"class":3775},[3765,37695,37696,37698,37701,37703,37705,37707,37709],{"class":3767,"line":6713},[3765,37697,4758],{"class":3790},[3765,37699,37700],{"class":3828}," isPrimary",[3765,37702,4908],{"class":3775},[3765,37704,37145],{"class":3771},[3765,37706,6844],{"class":3775},[3765,37708,37527],{"class":3786},[3765,37710,4732],{"class":3775},[3765,37712,37713],{"class":3767,"line":6723},[3765,37714,4363],{"emptyLinePlaceholder":4362},[3765,37716,37717,37719],{"class":3767,"line":6733},[3765,37718,5082],{"class":4715},[3765,37720,5085],{"class":3775},[3765,37722,37723,37725],{"class":3767,"line":6743},[3765,37724,5090],{"class":4375},[3765,37726,7835],{"class":3845},[3765,37728,37729,37731,37733],{"class":3767,"line":6748},[3765,37730,32976],{"class":4381},[3765,37732,4385],{"class":3775},[3765,37734,14380],{"class":3786},[3765,37736,37737,37740,37742,37744,37747],{"class":3767,"line":6754},[3765,37738,37739],{"class":4381},"      disabled",[3765,37741,4385],{"class":3775},[3765,37743,4388],{"class":3790},[3765,37745,37746],{"class":3771},"disabled",[3765,37748,4598],{"class":3790},[3765,37750,37751,37753,37755,37757,37759],{"class":3767,"line":6759},[3765,37752,33011],{"class":4381},[3765,37754,4385],{"class":3775},[3765,37756,4388],{"class":3790},[3765,37758,32926],{"class":3771},[3765,37760,4598],{"class":3790},[3765,37762,37763,37765,37767,37769,37771,37773,37775,37777],{"class":3767,"line":6788},[3765,37764,13490],{"class":4381},[3765,37766,4385],{"class":3775},[3765,37768,4388],{"class":3790},[3765,37770,5621],{"class":3797},[3765,37772,33043],{"class":3771},[3765,37774,7615],{"class":3797},[3765,37776,5222],{"class":3790},[3765,37778,33050],{"class":3797},[3765,37780,37781,37783,37785,37787],{"class":3767,"line":6814},[3765,37782,13502],{"class":3771},[3765,37784,3776],{"class":3797},[3765,37786,25790],{"class":3771},[3765,37788,4479],{"class":3797},[3765,37790,37791],{"class":3767,"line":6852},[3765,37792,13514],{"class":3797},[3765,37794,37795,37797,37799,37801,37803,37805,37807],{"class":3767,"line":7689},[3765,37796,13532],{"class":3771},[3765,37798,13109],{"class":3771},[3765,37800,3776],{"class":3797},[3765,37802,13176],{"class":3771},[3765,37804,20446],{"class":3775},[3765,37806,8465],{"class":4931},[3765,37808,4479],{"class":3797},[3765,37810,37811,37813,37815,37817,37819],{"class":3767,"line":7730},[3765,37812,13519],{"class":3771},[3765,37814,13109],{"class":3771},[3765,37816,3776],{"class":3797},[3765,37818,13114],{"class":3771},[3765,37820,4479],{"class":3797},[3765,37822,37823,37825,37827,37829,37831],{"class":3767,"line":7769},[3765,37824,17592],{"class":3771},[3765,37826,17595],{"class":3771},[3765,37828,3776],{"class":3797},[3765,37830,13114],{"class":3771},[3765,37832,4479],{"class":3797},[3765,37834,37835,37837,37839,37841,37843,37845,37847,37849,37851,37853,37855],{"class":3767,"line":7810},[3765,37836,11527],{"class":3771},[3765,37838,37700],{"class":3771},[3765,37840,11023],{"class":3775},[3765,37842,11062],{"class":3771},[3765,37844,3776],{"class":3797},[3765,37846,11096],{"class":3771},[3765,37848,11029],{"class":3775},[3765,37850,11062],{"class":3771},[3765,37852,3776],{"class":3797},[3765,37854,14339],{"class":3771},[3765,37856,4479],{"class":3797},[3765,37858,37859,37862,37864,37866,37868,37870,37872],{"class":3767,"line":7820},[3765,37860,37861],{"class":3771},"          borderWidth:",[3765,37863,37700],{"class":3771},[3765,37865,11023],{"class":3775},[3765,37867,13149],{"class":4931},[3765,37869,11029],{"class":3775},[3765,37871,8118],{"class":4931},[3765,37873,4479],{"class":3797},[3765,37875,37876,37878,37880,37882,37884],{"class":3767,"line":7830},[3765,37877,17579],{"class":3771},[3765,37879,11062],{"class":3771},[3765,37881,3776],{"class":3797},[3765,37883,11547],{"class":3771},[3765,37885,4479],{"class":3797},[3765,37887,37888],{"class":3767,"line":7838},[3765,37889,11554],{"class":3797},[3765,37891,37892,37894,37896,37899],{"class":3767,"line":7857},[3765,37893,33109],{"class":3771},[3765,37895,30832],{"class":3775},[3765,37897,37898],{"class":3775}," !",[3765,37900,37901],{"class":3771},"disabled\n",[3765,37903,37904,37907],{"class":3767,"line":7885},[3765,37905,37906],{"class":3775},"          ?",[3765,37908,37909],{"class":3771}," isPrimary\n",[3765,37911,37912,37914,37916,37918,37920,37922,37925],{"class":3767,"line":7891},[3765,37913,14068],{"class":3775},[3765,37915,3825],{"class":3797},[3765,37917,6974],{"class":3771},[3765,37919,11062],{"class":3771},[3765,37921,3776],{"class":3797},[3765,37923,37924],{"class":3771},"primaryPressed",[3765,37926,37927],{"class":3797}," }\n",[3765,37929,37930,37932,37934,37937,37940],{"class":3767,"line":7924},[3765,37931,14103],{"class":3775},[3765,37933,3825],{"class":3797},[3765,37935,37936],{"class":3771},"opacity:",[3765,37938,37939],{"class":4931}," 0.85",[3765,37941,37927],{"class":3797},[3765,37943,37944,37947,37950],{"class":3767,"line":7933},[3765,37945,37946],{"class":3775},"          :",[3765,37948,37949],{"class":3790}," null",[3765,37951,4479],{"class":3797},[3765,37953,37954,37957,37959,37961,37963,37965,37967,37969],{"class":3767,"line":7943},[3765,37955,37956],{"class":3771},"        disabled",[3765,37958,11023],{"class":3775},[3765,37960,8093],{"class":3771},[3765,37962,3776],{"class":3797},[3765,37964,37746],{"class":3771},[3765,37966,11029],{"class":3775},[3765,37968,37949],{"class":3790},[3765,37970,4479],{"class":3797},[3765,37972,37973,37975],{"class":3767,"line":7951},[3765,37974,7972],{"class":3771},[3765,37976,4479],{"class":3797},[3765,37978,37979,37981],{"class":3767,"line":7957},[3765,37980,13566],{"class":3797},[3765,37982,4598],{"class":3790},[3765,37984,37985],{"class":3767,"line":7962},[3765,37986,11595],{"class":4375},[3765,37988,37989,37991],{"class":3767,"line":7969},[3765,37990,5117],{"class":4375},[3765,37992,37184],{"class":3845},[3765,37994,37995,37997,37999,38001],{"class":3767,"line":7988},[3765,37996,7972],{"class":4381},[3765,37998,4385],{"class":3775},[3765,38000,4388],{"class":3790},[3765,38002,13497],{"class":3797},[3765,38004,38005,38007,38009,38011],{"class":3767,"line":8017},[3765,38006,13767],{"class":3771},[3765,38008,3776],{"class":3797},[3765,38010,12507],{"class":3771},[3765,38012,4479],{"class":3797},[3765,38014,38015],{"class":3767,"line":8022},[3765,38016,13780],{"class":3797},[3765,38018,38019,38021,38023,38025,38027,38029,38031,38033,38035,38037,38039],{"class":3767,"line":8055},[3765,38020,14014],{"class":3771},[3765,38022,37700],{"class":3771},[3765,38024,11023],{"class":3775},[3765,38026,11062],{"class":3771},[3765,38028,3776],{"class":3797},[3765,38030,14473],{"class":3771},[3765,38032,11029],{"class":3775},[3765,38034,11062],{"class":3771},[3765,38036,3776],{"class":3797},[3765,38038,4045],{"class":3771},[3765,38040,4479],{"class":3797},[3765,38042,38043,38046,38048,38050,38052],{"class":3767,"line":8064},[3765,38044,38045],{"class":3771},"            fontSize:",[3765,38047,35608],{"class":3771},[3765,38049,3776],{"class":3797},[3765,38051,13114],{"class":3771},[3765,38053,4479],{"class":3797},[3765,38055,38056],{"class":3767,"line":8073},[3765,38057,13857],{"class":3797},[3765,38059,38060,38062],{"class":3767,"line":8078},[3765,38061,13863],{"class":3797},[3765,38063,4598],{"class":3790},[3765,38065,38066],{"class":3767,"line":8083},[3765,38067,7037],{"class":4375},[3765,38069,38070,38072,38074],{"class":3767,"line":8088},[3765,38071,17702],{"class":3790},[3765,38073,12507],{"class":3771},[3765,38075,4598],{"class":3790},[3765,38077,38078,38080,38082],{"class":3767,"line":8107},[3765,38079,5190],{"class":4375},[3765,38081,7168],{"class":3845},[3765,38083,4419],{"class":4375},[3765,38085,38086,38088,38090],{"class":3767,"line":8129},[3765,38087,5243],{"class":4375},[3765,38089,7158],{"class":3845},[3765,38091,4419],{"class":4375},[3765,38093,38094],{"class":3767,"line":8137},[3765,38095,5252],{"class":3775},[3765,38097,38098],{"class":3767,"line":8148},[3765,38099,4598],{"class":3775},[3765,38101,38102],{"class":3767,"line":8159},[3765,38103,4363],{"emptyLinePlaceholder":4362},[3765,38105,38106,38108,38110,38112,38114,38116,38118],{"class":3767,"line":8170},[3765,38107,3822],{"class":3790},[3765,38109,8093],{"class":3828},[3765,38111,4908],{"class":3775},[3765,38113,7163],{"class":3771},[3765,38115,3776],{"class":3775},[3765,38117,8102],{"class":3779},[3765,38119,4468],{"class":3775},[3765,38121,38122,38124],{"class":3767,"line":8181},[3765,38123,37450],{"class":3771},[3765,38125,4487],{"class":3775},[3765,38127,38128,38130,38132],{"class":3767,"line":8192},[3765,38129,8510],{"class":3771},[3765,38131,8513],{"class":3786},[3765,38133,4479],{"class":3775},[3765,38135,38136],{"class":3767,"line":8197},[3765,38137,4521],{"class":3775},[3765,38139,38140,38143],{"class":3767,"line":8205},[3765,38141,38142],{"class":3771},"  disabled:",[3765,38144,4487],{"class":3775},[3765,38146,38147,38149,38152],{"class":3767,"line":8214},[3765,38148,34148],{"class":3771},[3765,38150,38151],{"class":4931}," 0.5",[3765,38153,4479],{"class":3775},[3765,38155,38156],{"class":3767,"line":8225},[3765,38157,4521],{"class":3775},[3765,38159,38160,38162],{"class":3767,"line":8235},[3765,38161,31713],{"class":3771},[3765,38163,4487],{"class":3775},[3765,38165,38166,38168,38170],{"class":3767,"line":8244},[3765,38167,8257],{"class":3771},[3765,38169,7010],{"class":3786},[3765,38171,4479],{"class":3775},[3765,38173,38174],{"class":3767,"line":8254},[3765,38175,4521],{"class":3775},[3765,38177,38178],{"class":3767,"line":8264},[3765,38179,4527],{"class":3775},[3756,38181,38184],{"className":3758,"code":38182,"filename":38183,"language":3760,"meta":3761,"style":3761},"import { ReactNode } from 'react';\nimport { StyleSheet, ViewStyle } from 'react-native';\nimport { SafeAreaView } from 'react-native-safe-area-context';\n\nimport { space, useTheme } from '@\u002Fshared\u002Ftheme';\n\ntype ScreenProps = {\n  children: ReactNode;\n  style?: ViewStyle;\n};\n\nexport function Screen({ children, style }: ScreenProps) {\n  const { colors } = useTheme();\n\n  return (\n    \u003CSafeAreaView\n      style={[styles.root, { backgroundColor: colors.background }, style]}\n    >\n      {children}\n    \u003C\u002FSafeAreaView>\n  );\n}\n\nconst styles = StyleSheet.create({\n  root: {\n    flex: 1,\n    paddingHorizontal: space.md,\n  },\n});\n","src\u002Fshared\u002Fui\u002FScreen.tsx",[3747,38185,38186,38202,38222,38238,38242,38262,38266,38275,38285,38295,38299,38303,38328,38342,38346,38352,38359,38395,38399,38407,38415,38419,38423,38427,38443,38450,38458,38470,38474],{"__ignoreMap":3761},[3765,38187,38188,38190,38192,38194,38196,38198,38200],{"class":3767,"line":3768},[3765,38189,4716],{"class":4715},[3765,38191,3825],{"class":3775},[3765,38193,23394],{"class":3771},[3765,38195,4723],{"class":3775},[3765,38197,4726],{"class":4715},[3765,38199,12276],{"class":3786},[3765,38201,4732],{"class":3775},[3765,38203,38204,38206,38208,38210,38212,38214,38216,38218,38220],{"class":3767,"line":4332},[3765,38205,4716],{"class":4715},[3765,38207,3825],{"class":3775},[3765,38209,7163],{"class":3771},[3765,38211,4032],{"class":3775},[3765,38213,37483],{"class":3771},[3765,38215,4723],{"class":3775},[3765,38217,4726],{"class":4715},[3765,38219,5603],{"class":3786},[3765,38221,4732],{"class":3775},[3765,38223,38224,38226,38228,38230,38232,38234,38236],{"class":3767,"line":4359},[3765,38225,4716],{"class":4715},[3765,38227,3825],{"class":3775},[3765,38229,7226],{"class":3771},[3765,38231,4723],{"class":3775},[3765,38233,4726],{"class":4715},[3765,38235,7233],{"class":3786},[3765,38237,4732],{"class":3775},[3765,38239,38240],{"class":3767,"line":4366},[3765,38241,4363],{"emptyLinePlaceholder":4362},[3765,38243,38244,38246,38248,38250,38252,38254,38256,38258,38260],{"class":3767,"line":4372},[3765,38245,4716],{"class":4715},[3765,38247,3825],{"class":3775},[3765,38249,35971],{"class":3771},[3765,38251,4032],{"class":3775},[3765,38253,10881],{"class":3771},[3765,38255,4723],{"class":3775},[3765,38257,4726],{"class":4715},[3765,38259,10888],{"class":3786},[3765,38261,4732],{"class":3775},[3765,38263,38264],{"class":3767,"line":4504},[3765,38265,4363],{"emptyLinePlaceholder":4362},[3765,38267,38268,38270,38273],{"class":3767,"line":4518},[3765,38269,12444],{"class":3790},[3765,38271,38272],{"class":3845}," ScreenProps",[3765,38274,6529],{"class":3775},[3765,38276,38277,38279,38281,38283],{"class":3767,"line":4524},[3765,38278,23389],{"class":3771},[3765,38280,3842],{"class":3775},[3765,38282,23394],{"class":3845},[3765,38284,4732],{"class":3775},[3765,38286,38287,38289,38291,38293],{"class":3767,"line":4530},[3765,38288,37028],{"class":3771},[3765,38290,4786],{"class":3775},[3765,38292,37483],{"class":3845},[3765,38294,4732],{"class":3775},[3765,38296,38297],{"class":3767,"line":4535},[3765,38298,6578],{"class":3775},[3765,38300,38301],{"class":3767,"line":4541},[3765,38302,4363],{"emptyLinePlaceholder":4362},[3765,38304,38305,38307,38309,38312,38314,38316,38318,38321,38323,38326],{"class":3767,"line":4549},[3765,38306,4741],{"class":4715},[3765,38308,4747],{"class":3790},[3765,38310,38311],{"class":3779}," Screen",[3765,38313,5621],{"class":3775},[3765,38315,23418],{"class":3771},[3765,38317,4032],{"class":3775},[3765,38319,38320],{"class":3771},"style",[3765,38322,23421],{"class":3775},[3765,38324,38325],{"class":3845},"ScreenProps",[3765,38327,4961],{"class":3775},[3765,38329,38330,38332,38334,38336,38338,38340],{"class":3767,"line":4562},[3765,38331,4758],{"class":3790},[3765,38333,3825],{"class":3775},[3765,38335,5162],{"class":3828},[3765,38337,3831],{"class":3775},[3765,38339,10881],{"class":3779},[3765,38341,6811],{"class":3775},[3765,38343,38344],{"class":3767,"line":4572},[3765,38345,4363],{"emptyLinePlaceholder":4362},[3765,38347,38348,38350],{"class":3767,"line":4592},[3765,38349,5082],{"class":4715},[3765,38351,5085],{"class":3775},[3765,38353,38354,38356],{"class":3767,"line":4601},[3765,38355,5090],{"class":4375},[3765,38357,38358],{"class":3845},"SafeAreaView\n",[3765,38360,38361,38363,38365,38367,38369,38371,38373,38376,38378,38380,38382,38384,38386,38389,38391,38393],{"class":3767,"line":4606},[3765,38362,13490],{"class":4381},[3765,38364,4385],{"class":3775},[3765,38366,4388],{"class":3790},[3765,38368,4928],{"class":3797},[3765,38370,5103],{"class":3771},[3765,38372,3776],{"class":3797},[3765,38374,38375],{"class":3771},"root",[3765,38377,14147],{"class":3797},[3765,38379,6974],{"class":3771},[3765,38381,11062],{"class":3771},[3765,38383,3776],{"class":3797},[3765,38385,11067],{"class":3771},[3765,38387,38388],{"class":3797}," }, ",[3765,38390,38320],{"class":3771},[3765,38392,7414],{"class":3797},[3765,38394,4598],{"class":3790},[3765,38396,38397],{"class":3767,"line":4612},[3765,38398,11595],{"class":4375},[3765,38400,38401,38403,38405],{"class":3767,"line":6683},[3765,38402,13136],{"class":3790},[3765,38404,23418],{"class":3771},[3765,38406,4598],{"class":3790},[3765,38408,38409,38411,38413],{"class":3767,"line":6693},[3765,38410,5243],{"class":4375},[3765,38412,7226],{"class":3845},[3765,38414,4419],{"class":4375},[3765,38416,38417],{"class":3767,"line":6698},[3765,38418,5252],{"class":3775},[3765,38420,38421],{"class":3767,"line":6703},[3765,38422,4598],{"class":3775},[3765,38424,38425],{"class":3767,"line":6713},[3765,38426,4363],{"emptyLinePlaceholder":4362},[3765,38428,38429,38431,38433,38435,38437,38439,38441],{"class":3767,"line":6723},[3765,38430,3822],{"class":3790},[3765,38432,8093],{"class":3828},[3765,38434,4908],{"class":3775},[3765,38436,7163],{"class":3771},[3765,38438,3776],{"class":3775},[3765,38440,8102],{"class":3779},[3765,38442,4468],{"class":3775},[3765,38444,38445,38448],{"class":3767,"line":6733},[3765,38446,38447],{"class":3771},"  root:",[3765,38449,4487],{"class":3775},[3765,38451,38452,38454,38456],{"class":3767,"line":6743},[3765,38453,9556],{"class":3771},[3765,38455,8118],{"class":4931},[3765,38457,4479],{"class":3775},[3765,38459,38460,38462,38464,38466,38468],{"class":3767,"line":6748},[3765,38461,8140],{"class":3771},[3765,38463,35490],{"class":3771},[3765,38465,3776],{"class":3775},[3765,38467,13114],{"class":3771},[3765,38469,4479],{"class":3775},[3765,38471,38472],{"class":3767,"line":6754},[3765,38473,4521],{"class":3775},[3765,38475,38476],{"class":3767,"line":6759},[3765,38477,4527],{"class":3775},[3756,38479,38482],{"className":3758,"code":38480,"filename":38481,"language":3760,"meta":3761,"style":3761},"import { ReactNode } from 'react';\nimport {\n  StyleSheet,\n  TextInput,\n  TextInputProps,\n  View,\n  ViewStyle,\n} from 'react-native';\n\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\nimport { AppText } from '.\u002FAppText';\n\ntype TextFieldProps = TextInputProps & {\n  label: string;\n  error?: string;\n  \u002F** Допоміжний текст під полем (коли немає error). *\u002F\n  hint?: string;\n  containerStyle?: ViewStyle;\n  \u002F** Опційний правий слот (іконка, кнопка дати). *\u002F\n  rightSlot?: ReactNode;\n};\n\n\u002F**\n * Поле форми: label + TextInput + помилка\u002Fпідказка.\n * Контрольоване ззовні (value \u002F onChangeText) — зручно з RHF Controller.\n *\u002F\nexport function TextField({\n  label,\n  error,\n  hint,\n  containerStyle,\n  rightSlot,\n  style,\n  ...inputProps\n}: TextFieldProps) {\n  const { colors, spacing, radius, fontSize } = useTheme();\n  const hasError = Boolean(error);\n\n  return (\n    \u003CView style={[styles.wrap, { gap: spacing.xs }, containerStyle]}>\n      \u003CAppText variant=\"caption\" style={styles.label}>\n        {label}\n      \u003C\u002FAppText>\n      \u003CView\n        style={[\n          styles.row,\n          {\n            borderColor: hasError ? colors.danger : colors.border,\n            backgroundColor: colors.surface,\n            borderRadius: radius.md,\n          },\n        ]}\n      >\n        \u003CTextInput\n          placeholderTextColor={colors.textSecondary}\n          style={[\n            styles.input,\n            {\n              color: colors.text,\n              fontSize: fontSize.md,\n              paddingVertical: spacing.sm + 4,\n              paddingHorizontal: spacing.md,\n            },\n            style,\n          ]}\n          {...inputProps}\n        \u002F>\n        {rightSlot}\n      \u003C\u002FView>\n      {hasError ? (\n        \u003CAppText variant=\"caption\" color={colors.danger}>\n          {error}\n        \u003C\u002FAppText>\n      ) : hint ? (\n        \u003CAppText variant=\"caption\" color={colors.textSecondary}>\n          {hint}\n        \u003C\u002FAppText>\n      ) : null}\n    \u003C\u002FView>\n  );\n}\n\nconst styles = StyleSheet.create({\n  wrap: {\n    width: '100%',\n  },\n  label: {\n    fontWeight: '600',\n  },\n  row: {\n    flexDirection: 'row',\n    alignItems: 'center',\n    borderWidth: 1,\n    overflow: 'hidden',\n  },\n  input: {\n    flex: 1,\n    minHeight: 48,\n  },\n});\n","src\u002Fshared\u002Fui\u002FTextField.tsx",[3747,38483,38484,38500,38506,38512,38519,38526,38532,38539,38549,38553,38569,38586,38590,38604,38614,38624,38629,38640,38651,38656,38667,38671,38675,38679,38684,38689,38693,38704,38710,38716,38722,38728,38734,38740,38747,38756,38782,38798,38802,38808,38849,38877,38885,38893,38899,38909,38919,38923,38947,38959,38971,38975,38981,38985,38992,39009,39019,39029,39033,39046,39059,39076,39089,39093,39099,39105,39116,39120,39129,39137,39147,39175,39183,39191,39204,39232,39241,39249,39257,39265,39269,39273,39277,39293,39299,39307,39311,39317,39325,39329,39335,39343,39351,39359,39367,39371,39378,39386,39394,39398],{"__ignoreMap":3761},[3765,38485,38486,38488,38490,38492,38494,38496,38498],{"class":3767,"line":3768},[3765,38487,4716],{"class":4715},[3765,38489,3825],{"class":3775},[3765,38491,23394],{"class":3771},[3765,38493,4723],{"class":3775},[3765,38495,4726],{"class":4715},[3765,38497,12276],{"class":3786},[3765,38499,4732],{"class":3775},[3765,38501,38502,38504],{"class":3767,"line":4332},[3765,38503,4716],{"class":4715},[3765,38505,4487],{"class":3775},[3765,38507,38508,38510],{"class":3767,"line":4359},[3765,38509,12310],{"class":3771},[3765,38511,4479],{"class":3775},[3765,38513,38514,38517],{"class":3767,"line":4366},[3765,38515,38516],{"class":3771},"  TextInput",[3765,38518,4479],{"class":3775},[3765,38520,38521,38524],{"class":3767,"line":4372},[3765,38522,38523],{"class":3771},"  TextInputProps",[3765,38525,4479],{"class":3775},[3765,38527,38528,38530],{"class":3767,"line":4504},[3765,38529,12317],{"class":3771},[3765,38531,4479],{"class":3775},[3765,38533,38534,38537],{"class":3767,"line":4518},[3765,38535,38536],{"class":3771},"  ViewStyle",[3765,38538,4479],{"class":3775},[3765,38540,38541,38543,38545,38547],{"class":3767,"line":4524},[3765,38542,12324],{"class":3775},[3765,38544,4726],{"class":4715},[3765,38546,5603],{"class":3786},[3765,38548,4732],{"class":3775},[3765,38550,38551],{"class":3767,"line":4530},[3765,38552,4363],{"emptyLinePlaceholder":4362},[3765,38554,38555,38557,38559,38561,38563,38565,38567],{"class":3767,"line":4535},[3765,38556,4716],{"class":4715},[3765,38558,3825],{"class":3775},[3765,38560,10881],{"class":3771},[3765,38562,4723],{"class":3775},[3765,38564,4726],{"class":4715},[3765,38566,10888],{"class":3786},[3765,38568,4732],{"class":3775},[3765,38570,38571,38573,38575,38577,38579,38581,38584],{"class":3767,"line":4541},[3765,38572,4716],{"class":4715},[3765,38574,3825],{"class":3775},[3765,38576,5120],{"class":3771},[3765,38578,4723],{"class":3775},[3765,38580,4726],{"class":4715},[3765,38582,38583],{"class":3786}," '.\u002FAppText'",[3765,38585,4732],{"class":3775},[3765,38587,38588],{"class":3767,"line":4549},[3765,38589,4363],{"emptyLinePlaceholder":4362},[3765,38591,38592,38594,38597,38599,38602],{"class":3767,"line":4562},[3765,38593,12444],{"class":3790},[3765,38595,38596],{"class":3845}," TextFieldProps",[3765,38598,4908],{"class":3775},[3765,38600,38601],{"class":3845},"TextInputProps",[3765,38603,36985],{"class":3775},[3765,38605,38606,38608,38610,38612],{"class":3767,"line":4572},[3765,38607,29872],{"class":3771},[3765,38609,3842],{"class":3775},[3765,38611,3846],{"class":3845},[3765,38613,4732],{"class":3775},[3765,38615,38616,38618,38620,38622],{"class":3767,"line":4592},[3765,38617,29928],{"class":3771},[3765,38619,4786],{"class":3775},[3765,38621,3846],{"class":3845},[3765,38623,4732],{"class":3775},[3765,38625,38626],{"class":3767,"line":4601},[3765,38627,38628],{"class":4328},"  \u002F** Допоміжний текст під полем (коли немає error). *\u002F\n",[3765,38630,38631,38634,38636,38638],{"class":3767,"line":4606},[3765,38632,38633],{"class":3771},"  hint",[3765,38635,4786],{"class":3775},[3765,38637,3846],{"class":3845},[3765,38639,4732],{"class":3775},[3765,38641,38642,38645,38647,38649],{"class":3767,"line":4612},[3765,38643,38644],{"class":3771},"  containerStyle",[3765,38646,4786],{"class":3775},[3765,38648,37483],{"class":3845},[3765,38650,4732],{"class":3775},[3765,38652,38653],{"class":3767,"line":6683},[3765,38654,38655],{"class":4328},"  \u002F** Опційний правий слот (іконка, кнопка дати). *\u002F\n",[3765,38657,38658,38661,38663,38665],{"class":3767,"line":6693},[3765,38659,38660],{"class":3771},"  rightSlot",[3765,38662,4786],{"class":3775},[3765,38664,23394],{"class":3845},[3765,38666,4732],{"class":3775},[3765,38668,38669],{"class":3767,"line":6698},[3765,38670,6578],{"class":3775},[3765,38672,38673],{"class":3767,"line":6703},[3765,38674,4363],{"emptyLinePlaceholder":4362},[3765,38676,38677],{"class":3767,"line":6713},[3765,38678,10899],{"class":4328},[3765,38680,38681],{"class":3767,"line":6723},[3765,38682,38683],{"class":4328}," * Поле форми: label + TextInput + помилка\u002Fпідказка.\n",[3765,38685,38686],{"class":3767,"line":6733},[3765,38687,38688],{"class":4328}," * Контрольоване ззовні (value \u002F onChangeText) — зручно з RHF Controller.\n",[3765,38690,38691],{"class":3767,"line":6743},[3765,38692,10929],{"class":4328},[3765,38694,38695,38697,38699,38702],{"class":3767,"line":6748},[3765,38696,4741],{"class":4715},[3765,38698,4747],{"class":3790},[3765,38700,38701],{"class":3779}," TextField",[3765,38703,4468],{"class":3775},[3765,38705,38706,38708],{"class":3767,"line":6754},[3765,38707,29872],{"class":3771},[3765,38709,4479],{"class":3775},[3765,38711,38712,38714],{"class":3767,"line":6759},[3765,38713,29928],{"class":3771},[3765,38715,4479],{"class":3775},[3765,38717,38718,38720],{"class":3767,"line":6788},[3765,38719,38633],{"class":3771},[3765,38721,4479],{"class":3775},[3765,38723,38724,38726],{"class":3767,"line":6814},[3765,38725,38644],{"class":3771},[3765,38727,4479],{"class":3775},[3765,38729,38730,38732],{"class":3767,"line":6852},[3765,38731,38660],{"class":3771},[3765,38733,4479],{"class":3775},[3765,38735,38736,38738],{"class":3767,"line":7689},[3765,38737,37028],{"class":3771},[3765,38739,4479],{"class":3775},[3765,38741,38742,38744],{"class":3767,"line":7730},[3765,38743,37090],{"class":3775},[3765,38745,38746],{"class":3771},"inputProps\n",[3765,38748,38749,38751,38754],{"class":3767,"line":7769},[3765,38750,25913],{"class":3775},[3765,38752,38753],{"class":3845},"TextFieldProps",[3765,38755,4961],{"class":3775},[3765,38757,38758,38760,38762,38764,38766,38768,38770,38772,38774,38776,38778,38780],{"class":3767,"line":7810},[3765,38759,4758],{"class":3790},[3765,38761,3825],{"class":3775},[3765,38763,5162],{"class":3828},[3765,38765,4032],{"class":3775},[3765,38767,12633],{"class":3828},[3765,38769,4032],{"class":3775},[3765,38771,15815],{"class":3828},[3765,38773,4032],{"class":3775},[3765,38775,35962],{"class":3828},[3765,38777,3831],{"class":3775},[3765,38779,10881],{"class":3779},[3765,38781,6811],{"class":3775},[3765,38783,38784,38786,38788,38790,38792,38794,38796],{"class":3767,"line":7820},[3765,38785,4758],{"class":3790},[3765,38787,30135],{"class":3828},[3765,38789,4908],{"class":3775},[3765,38791,29014],{"class":3779},[3765,38793,3783],{"class":3775},[3765,38795,30144],{"class":3771},[3765,38797,3809],{"class":3775},[3765,38799,38800],{"class":3767,"line":7830},[3765,38801,4363],{"emptyLinePlaceholder":4362},[3765,38803,38804,38806],{"class":3767,"line":7838},[3765,38805,5082],{"class":4715},[3765,38807,5085],{"class":3775},[3765,38809,38810,38812,38814,38816,38818,38820,38822,38824,38826,38828,38830,38832,38834,38836,38838,38840,38843,38845,38847],{"class":3767,"line":7857},[3765,38811,5090],{"class":4375},[3765,38813,5093],{"class":3845},[3765,38815,5096],{"class":4381},[3765,38817,4385],{"class":3775},[3765,38819,4388],{"class":3790},[3765,38821,4928],{"class":3797},[3765,38823,5103],{"class":3771},[3765,38825,3776],{"class":3797},[3765,38827,32184],{"class":3771},[3765,38829,14147],{"class":3797},[3765,38831,9540],{"class":3771},[3765,38833,13109],{"class":3771},[3765,38835,3776],{"class":3797},[3765,38837,13835],{"class":3771},[3765,38839,38388],{"class":3797},[3765,38841,38842],{"class":3771},"containerStyle",[3765,38844,7414],{"class":3797},[3765,38846,3803],{"class":3790},[3765,38848,4419],{"class":4375},[3765,38850,38851,38853,38855,38857,38859,38861,38863,38865,38867,38869,38871,38873,38875],{"class":3767,"line":7885},[3765,38852,5117],{"class":4375},[3765,38854,5120],{"class":3845},[3765,38856,5123],{"class":4381},[3765,38858,4385],{"class":3775},[3765,38860,5152],{"class":3786},[3765,38862,5096],{"class":4381},[3765,38864,4385],{"class":3775},[3765,38866,4388],{"class":3790},[3765,38868,5103],{"class":3771},[3765,38870,3776],{"class":3797},[3765,38872,12507],{"class":3771},[3765,38874,3803],{"class":3790},[3765,38876,4419],{"class":4375},[3765,38878,38879,38881,38883],{"class":3767,"line":7891},[3765,38880,17702],{"class":3790},[3765,38882,12507],{"class":3771},[3765,38884,4598],{"class":3790},[3765,38886,38887,38889,38891],{"class":3767,"line":7924},[3765,38888,5190],{"class":4375},[3765,38890,5120],{"class":3845},[3765,38892,4419],{"class":4375},[3765,38894,38895,38897],{"class":3767,"line":7933},[3765,38896,5117],{"class":4375},[3765,38898,13485],{"class":3845},[3765,38900,38901,38903,38905,38907],{"class":3767,"line":7943},[3765,38902,7972],{"class":4381},[3765,38904,4385],{"class":3775},[3765,38906,4388],{"class":3790},[3765,38908,13497],{"class":3797},[3765,38910,38911,38913,38915,38917],{"class":3767,"line":7951},[3765,38912,13767],{"class":3771},[3765,38914,3776],{"class":3797},[3765,38916,32239],{"class":3771},[3765,38918,4479],{"class":3797},[3765,38920,38921],{"class":3767,"line":7957},[3765,38922,13780],{"class":3797},[3765,38924,38925,38927,38929,38931,38933,38935,38937,38939,38941,38943,38945],{"class":3767,"line":7962},[3765,38926,30621],{"class":3771},[3765,38928,30135],{"class":3771},[3765,38930,11023],{"class":3775},[3765,38932,11062],{"class":3771},[3765,38934,3776],{"class":3797},[3765,38936,30632],{"class":3771},[3765,38938,11029],{"class":3775},[3765,38940,11062],{"class":3771},[3765,38942,3776],{"class":3797},[3765,38944,11547],{"class":3771},[3765,38946,4479],{"class":3797},[3765,38948,38949,38951,38953,38955,38957],{"class":3767,"line":7969},[3765,38950,15005],{"class":3771},[3765,38952,11062],{"class":3771},[3765,38954,3776],{"class":3797},[3765,38956,14339],{"class":3771},[3765,38958,4479],{"class":3797},[3765,38960,38961,38963,38965,38967,38969],{"class":3767,"line":7988},[3765,38962,30659],{"class":3771},[3765,38964,17595],{"class":3771},[3765,38966,3776],{"class":3797},[3765,38968,13114],{"class":3771},[3765,38970,4479],{"class":3797},[3765,38972,38973],{"class":3767,"line":8017},[3765,38974,13857],{"class":3797},[3765,38976,38977,38979],{"class":3767,"line":8022},[3765,38978,13863],{"class":3797},[3765,38980,4598],{"class":3790},[3765,38982,38983],{"class":3767,"line":8055},[3765,38984,7037],{"class":4375},[3765,38986,38987,38989],{"class":3767,"line":8064},[3765,38988,7042],{"class":4375},[3765,38990,38991],{"class":3845},"TextInput\n",[3765,38993,38994,38997,38999,39001,39003,39005,39007],{"class":3767,"line":8073},[3765,38995,38996],{"class":4381},"          placeholderTextColor",[3765,38998,4385],{"class":3775},[3765,39000,4388],{"class":3790},[3765,39002,5162],{"class":3771},[3765,39004,3776],{"class":3797},[3765,39006,5167],{"class":3771},[3765,39008,4598],{"class":3790},[3765,39010,39011,39013,39015,39017],{"class":3767,"line":8078},[3765,39012,13988],{"class":4381},[3765,39014,4385],{"class":3775},[3765,39016,4388],{"class":3790},[3765,39018,13497],{"class":3797},[3765,39020,39021,39023,39025,39027],{"class":3767,"line":8083},[3765,39022,19626],{"class":3771},[3765,39024,3776],{"class":3797},[3765,39026,9913],{"class":3771},[3765,39028,4479],{"class":3797},[3765,39030,39031],{"class":3767,"line":8088},[3765,39032,19637],{"class":3797},[3765,39034,39035,39038,39040,39042,39044],{"class":3767,"line":8107},[3765,39036,39037],{"class":3771},"              color:",[3765,39039,11062],{"class":3771},[3765,39041,3776],{"class":3797},[3765,39043,4045],{"class":3771},[3765,39045,4479],{"class":3797},[3765,39047,39048,39051,39053,39055,39057],{"class":3767,"line":8129},[3765,39049,39050],{"class":3771},"              fontSize:",[3765,39052,35608],{"class":3771},[3765,39054,3776],{"class":3797},[3765,39056,13114],{"class":3771},[3765,39058,4479],{"class":3797},[3765,39060,39061,39064,39066,39068,39070,39072,39074],{"class":3767,"line":8137},[3765,39062,39063],{"class":3771},"              paddingVertical:",[3765,39065,13109],{"class":3771},[3765,39067,3776],{"class":3797},[3765,39069,13176],{"class":3771},[3765,39071,20446],{"class":3775},[3765,39073,8465],{"class":4931},[3765,39075,4479],{"class":3797},[3765,39077,39078,39081,39083,39085,39087],{"class":3767,"line":8148},[3765,39079,39080],{"class":3771},"              paddingHorizontal:",[3765,39082,13109],{"class":3771},[3765,39084,3776],{"class":3797},[3765,39086,13114],{"class":3771},[3765,39088,4479],{"class":3797},[3765,39090,39091],{"class":3767,"line":8159},[3765,39092,19694],{"class":3797},[3765,39094,39095,39097],{"class":3767,"line":8170},[3765,39096,16172],{"class":3771},[3765,39098,4479],{"class":3797},[3765,39100,39101,39103],{"class":3767,"line":8181},[3765,39102,19699],{"class":3797},[3765,39104,4598],{"class":3790},[3765,39106,39107,39109,39111,39114],{"class":3767,"line":8192},[3765,39108,14051],{"class":3790},[3765,39110,37392],{"class":3775},[3765,39112,39113],{"class":3771},"inputProps",[3765,39115,4598],{"class":3790},[3765,39117,39118],{"class":3767,"line":8197},[3765,39119,11252],{"class":4375},[3765,39121,39122,39124,39127],{"class":3767,"line":8205},[3765,39123,17702],{"class":3790},[3765,39125,39126],{"class":3771},"rightSlot",[3765,39128,4598],{"class":3790},[3765,39130,39131,39133,39135],{"class":3767,"line":8214},[3765,39132,5190],{"class":4375},[3765,39134,5093],{"class":3845},[3765,39136,4419],{"class":4375},[3765,39138,39139,39141,39143,39145],{"class":3767,"line":8225},[3765,39140,13136],{"class":3790},[3765,39142,30745],{"class":3771},[3765,39144,11023],{"class":3775},[3765,39146,5085],{"class":3797},[3765,39148,39149,39151,39153,39155,39157,39159,39161,39163,39165,39167,39169,39171,39173],{"class":3767,"line":8235},[3765,39150,7042],{"class":4375},[3765,39152,5120],{"class":3845},[3765,39154,5123],{"class":4381},[3765,39156,4385],{"class":3775},[3765,39158,5152],{"class":3786},[3765,39160,5155],{"class":4381},[3765,39162,4385],{"class":3775},[3765,39164,4388],{"class":3790},[3765,39166,5162],{"class":3771},[3765,39168,3776],{"class":3797},[3765,39170,30632],{"class":3771},[3765,39172,3803],{"class":3790},[3765,39174,4419],{"class":4375},[3765,39176,39177,39179,39181],{"class":3767,"line":8244},[3765,39178,14051],{"class":3790},[3765,39180,30144],{"class":3771},[3765,39182,4598],{"class":3790},[3765,39184,39185,39187,39189],{"class":3767,"line":8254},[3765,39186,9099],{"class":4375},[3765,39188,5120],{"class":3845},[3765,39190,4419],{"class":4375},[3765,39192,39193,39195,39197,39200,39202],{"class":3767,"line":8264},[3765,39194,13411],{"class":3797},[3765,39196,4229],{"class":3775},[3765,39198,39199],{"class":3771}," hint",[3765,39201,11023],{"class":3775},[3765,39203,5085],{"class":3797},[3765,39205,39206,39208,39210,39212,39214,39216,39218,39220,39222,39224,39226,39228,39230],{"class":3767,"line":8269},[3765,39207,7042],{"class":4375},[3765,39209,5120],{"class":3845},[3765,39211,5123],{"class":4381},[3765,39213,4385],{"class":3775},[3765,39215,5152],{"class":3786},[3765,39217,5155],{"class":4381},[3765,39219,4385],{"class":3775},[3765,39221,4388],{"class":3790},[3765,39223,5162],{"class":3771},[3765,39225,3776],{"class":3797},[3765,39227,5167],{"class":3771},[3765,39229,3803],{"class":3790},[3765,39231,4419],{"class":4375},[3765,39233,39234,39236,39239],{"class":3767,"line":8292},[3765,39235,14051],{"class":3790},[3765,39237,39238],{"class":3771},"hint",[3765,39240,4598],{"class":3790},[3765,39242,39243,39245,39247],{"class":3767,"line":8300},[3765,39244,9099],{"class":4375},[3765,39246,5120],{"class":3845},[3765,39248,4419],{"class":4375},[3765,39250,39251,39253,39255],{"class":3767,"line":8311},[3765,39252,13411],{"class":3797},[3765,39254,4229],{"class":3775},[3765,39256,13416],{"class":3790},[3765,39258,39259,39261,39263],{"class":3767,"line":8321},[3765,39260,5243],{"class":4375},[3765,39262,5093],{"class":3845},[3765,39264,4419],{"class":4375},[3765,39266,39267],{"class":3767,"line":8331},[3765,39268,5252],{"class":3775},[3765,39270,39271],{"class":3767,"line":8342},[3765,39272,4598],{"class":3775},[3765,39274,39275],{"class":3767,"line":8353},[3765,39276,4363],{"emptyLinePlaceholder":4362},[3765,39278,39279,39281,39283,39285,39287,39289,39291],{"class":3767,"line":8363},[3765,39280,3822],{"class":3790},[3765,39282,8093],{"class":3828},[3765,39284,4908],{"class":3775},[3765,39286,7163],{"class":3771},[3765,39288,3776],{"class":3775},[3765,39290,8102],{"class":3779},[3765,39292,4468],{"class":3775},[3765,39294,39295,39297],{"class":3767,"line":8368},[3765,39296,32572],{"class":3771},[3765,39298,4487],{"class":3775},[3765,39300,39301,39303,39305],{"class":3767,"line":8397},[3765,39302,17867],{"class":3771},[3765,39304,17870],{"class":3786},[3765,39306,4479],{"class":3775},[3765,39308,39309],{"class":3767,"line":8432},[3765,39310,4521],{"class":3775},[3765,39312,39313,39315],{"class":3767,"line":8452},[3765,39314,31713],{"class":3771},[3765,39316,4487],{"class":3775},[3765,39318,39319,39321,39323],{"class":3767,"line":8460},[3765,39320,8257],{"class":3771},[3765,39322,7010],{"class":3786},[3765,39324,4479],{"class":3775},[3765,39326,39327],{"class":3767,"line":8470},[3765,39328,4521],{"class":3775},[3765,39330,39331,39333],{"class":3767,"line":8480},[3765,39332,32591],{"class":3771},[3765,39334,4487],{"class":3775},[3765,39336,39337,39339,39341],{"class":3767,"line":8489},[3765,39338,15203],{"class":3771},[3765,39340,15206],{"class":3786},[3765,39342,4479],{"class":3775},[3765,39344,39345,39347,39349],{"class":3767,"line":8498},[3765,39346,8510],{"class":3771},[3765,39348,8513],{"class":3786},[3765,39350,4479],{"class":3775},[3765,39352,39353,39355,39357],{"class":3767,"line":8507},[3765,39354,8324],{"class":3771},[3765,39356,8118],{"class":4931},[3765,39358,4479],{"class":3775},[3765,39360,39361,39363,39365],{"class":3767,"line":8518},[3765,39362,29701],{"class":3771},[3765,39364,29704],{"class":3786},[3765,39366,4479],{"class":3775},[3765,39368,39369],{"class":3767,"line":8523},[3765,39370,4521],{"class":3775},[3765,39372,39373,39376],{"class":3767,"line":8543},[3765,39374,39375],{"class":3771},"  input:",[3765,39377,4487],{"class":3775},[3765,39379,39380,39382,39384],{"class":3767,"line":8564},[3765,39381,9556],{"class":3771},[3765,39383,8118],{"class":4931},[3765,39385,4479],{"class":3775},[3765,39387,39388,39390,39392],{"class":3767,"line":8585},[3765,39389,29668],{"class":3771},[3765,39391,31749],{"class":4931},[3765,39393,4479],{"class":3775},[3765,39395,39396],{"class":3767,"line":13544},[3765,39397,4521],{"class":3775},[3765,39399,39400],{"class":3767,"line":13558},[3765,39401,4527],{"class":3775},[3756,39403,39406],{"className":6512,"code":39404,"filename":39405,"language":6514,"meta":3761,"style":3761},"export { AppText } from '.\u002FAppText';\nexport { Button } from '.\u002FButton';\nexport { Screen } from '.\u002FScreen';\nexport { TextField } from '.\u002FTextField';\n","src\u002Fshared\u002Fui\u002Findex.ts",[3747,39407,39408,39424,39441,39458],{"__ignoreMap":3761},[3765,39409,39410,39412,39414,39416,39418,39420,39422],{"class":3767,"line":3768},[3765,39411,4741],{"class":4715},[3765,39413,3825],{"class":3775},[3765,39415,5120],{"class":3771},[3765,39417,4723],{"class":3775},[3765,39419,4726],{"class":4715},[3765,39421,38583],{"class":3786},[3765,39423,4732],{"class":3775},[3765,39425,39426,39428,39430,39432,39434,39436,39439],{"class":3767,"line":4332},[3765,39427,4741],{"class":4715},[3765,39429,3825],{"class":3775},[3765,39431,5201],{"class":3771},[3765,39433,4723],{"class":3775},[3765,39435,4726],{"class":4715},[3765,39437,39438],{"class":3786}," '.\u002FButton'",[3765,39440,4732],{"class":3775},[3765,39442,39443,39445,39447,39449,39451,39453,39456],{"class":3767,"line":4359},[3765,39444,4741],{"class":4715},[3765,39446,3825],{"class":3775},[3765,39448,12472],{"class":3771},[3765,39450,4723],{"class":3775},[3765,39452,4726],{"class":4715},[3765,39454,39455],{"class":3786}," '.\u002FScreen'",[3765,39457,4732],{"class":3775},[3765,39459,39460,39462,39464,39466,39468,39470,39473],{"class":3767,"line":4366},[3765,39461,4741],{"class":4715},[3765,39463,3825],{"class":3775},[3765,39465,25639],{"class":3771},[3765,39467,4723],{"class":3775},[3765,39469,4726],{"class":4715},[3765,39471,39472],{"class":3786}," '.\u002FTextField'",[3765,39474,4732],{"class":3775},[3878,39476,39478],{"id":39477},"як-перевірити","Як перевірити",[5033,39480,39481,39487,39490,39501,39507],{},[3886,39482,39483,39484,39486],{},"Відкрийте поїздку id ",[3747,39485,22336],{}," зі списку — блок Deep link показує URL.",[3886,39488,39489],{},"«Відкрити це посилання» — Router знову веде на деталі.",[3886,39491,39492,39493,39495,39498,39500],{},"На preview\u002Fdev build:",[9890,39494],{},[3747,39496,39497],{},"xcrun simctl openurl booted \"nomad:\u002F\u002Ftrips\u002F1\"",[9890,39499],{},"\nабо adb з тим самим URI.",[3886,39502,39503,39506],{},[3747,39504,39505],{},"nomad:\u002F\u002Ftrips\u002Fnope"," → «Поїздку не знайдено».",[3886,39508,39509],{},"Вкладка «Ще» — текст scheme і createURL.",[3878,39511,39513],{"id":39512},"коміт","Коміт",[3756,39515,39517],{"className":5830,"code":39516,"language":5832,"meta":3761,"style":3761},"cd \u002Fpath\u002Fto\u002Fnomad\ngit add -A\ngit commit -m \"$(cat \u003C\u003C'EOF'\nfeat: typed routes and deep link to trip\n\nMaterial: content\u002F15.react-native\u002F13.deep-linking-and-params.md\nEOF\n)\"\ngit push\n",[3747,39518,39519,39526,39537,39559,39564,39568,39573,39578,39583],{"__ignoreMap":3761},[3765,39520,39521,39523],{"class":3767,"line":3768},[3765,39522,6373],{"class":3779},[3765,39524,39525],{"class":3786}," \u002Fpath\u002Fto\u002Fnomad\n",[3765,39527,39528,39531,39534],{"class":3767,"line":4332},[3765,39529,39530],{"class":3779},"git",[3765,39532,39533],{"class":3786}," add",[3765,39535,39536],{"class":3790}," -A\n",[3765,39538,39539,39541,39544,39547,39550,39553,39556],{"class":3767,"line":4359},[3765,39540,39530],{"class":3779},[3765,39542,39543],{"class":3786}," commit",[3765,39545,39546],{"class":3790}," -m",[3765,39548,39549],{"class":3786}," \"$(",[3765,39551,39552],{"class":3779},"cat",[3765,39554,39555],{"class":3775}," \u003C\u003C",[3765,39557,39558],{"class":3786},"'EOF'\n",[3765,39560,39561],{"class":3767,"line":4366},[3765,39562,39563],{"class":3786},"feat: typed routes and deep link to trip\n",[3765,39565,39566],{"class":3767,"line":4372},[3765,39567,4363],{"emptyLinePlaceholder":4362},[3765,39569,39570],{"class":3767,"line":4504},[3765,39571,39572],{"class":3786},"Material: content\u002F15.react-native\u002F13.deep-linking-and-params.md\n",[3765,39574,39575],{"class":3767,"line":4518},[3765,39576,39577],{"class":3786},"EOF\n",[3765,39579,39580],{"class":3767,"line":4524},[3765,39581,39582],{"class":3786},")\"\n",[3765,39584,39585,39587],{"class":3767,"line":4530},[3765,39586,39530],{"class":3779},[3765,39588,39589],{"class":3786}," push\n",[3995,39591],{},[3738,39593,39595],{"id":39594},"практичні-завдання","Практичні завдання",[3878,39597,39599],{"id":39598},"базовий-рівень","Базовий рівень",[5033,39601,39602,39605,39615],{},[3886,39603,39604],{},"Своїми словами: path param vs query.",[3886,39606,39607,39608,39610,39611,39614],{},"Чим ",[3747,39609,6005],{}," відрізняється від ",[3747,39612,39613],{},"https:\u002F\u002F…\u002Ftrips\u002F3"," для користувача без app.",[3886,39616,39617,39618,3776],{},"Навіщо ",[3747,39619,39620],{},"Array.isArray(id) ? id[0] : id",[3878,39622,39624],{"id":39623},"середній-рівень","Середній рівень",[5033,39626,39627,39630,39640],{},[3886,39628,39629],{},"Міні-проєкт «Купон» повністю.",[3886,39631,39632,39633,39636,39637,39639],{},"У Nomad додати query ",[3747,39634,39635],{},"?from=share"," у createURL і показати ",[3747,39638,4726],{}," на деталях.",[3886,39641,39642],{},"Порівняти рядок createURL у Expo Go і (якщо є) у standalone.",[3878,39644,39646],{"id":39645},"професійний-рівень","Професійний рівень",[5033,39648,39649,39659,39662],{},[3886,39650,39651,39652,39655,39656,39658],{},"Чернетка ",[3747,39653,39654],{},"associatedDomains"," + AASA paths для ",[3747,39657,6089],{}," (без обов’язкового деплою).",[3886,39660,39661],{},"Описати cold start: що буде з trips, якщо прибрати mock seed (гіпотетично).",[3886,39663,39664],{},"Список ризиків: відкритий id у URL, enumeration, застарілі посилання.",[3995,39666],{},[3738,39668,39670],{"id":39669},"часті-запитання","Часті запитання",[39672,39673,39674,39684,39694,39702,39706],"accordion",{},[39675,39676,39679,39680,39683],"accordion-item",{"icon":39677,"label":39678},"i-lucide-circle-help","Чому nomad:\u002F\u002F не відкривається в Expo Go?","Go використовує власні exp:\u002F\u002F URL. Для custom scheme надійніше dev\u002Fpreview\u002Fstore build. Params ",[3866,39681,39682],{},"всередині"," app перевіряйте через push і createURL+openURL.",[39675,39685,39687,39688,39691,39692,3776],{"icon":39677,"label":39686},"createURL дає дивний рядок","У dev це нормально (хост Go \u002F tunnel). Path усередині має містити ",[3747,39689,39690],{},"\u002Ftrips\u002F…",". Залогдайте ",[3747,39693,5539],{},[39675,39695,39697,39698,39701],{"icon":39677,"label":39696},"Universal Links не працюють після config","Потрібні файл на ",[3866,39699,39700],{},"реальному"," HTTPS-домені, правильний Team ID \u002F SHA-256, нова нативна збірка, час на CDN\u002Fкеш AASA. Config у app.json сам по собі недостатній.",[39675,39703,39705],{"icon":39677,"label":39704},"id є, trip undefined","Дані не в store (cold start, інший mock, видалили). Deep link успішний; бракує шару даних — не «Router зламаний».",[39675,39707,39709,39710,39712,39713,4272,39715,39717],{"icon":39677,"label":39708},"typedRoutes свариться на href","Шлях не збігається з деревом ",[3747,39711,5305],{},". Перевірте ",[3747,39714,4228],{},[3747,39716,3794],{},", перезапуск TS.",[3995,39719],{},[3738,39721,39723],{"id":39722},"що-далі","Що далі",[3743,39725,39726,39727,3842,39730,39733],{},"Модуль навігації закрито: params, scheme, уявлення про universal links, cold\u002Fwarm start. Далі — ",[3866,39728,39729],{},"мережа й життєвий цикл застосунку",[3747,39731,39732],{},"fetch",", стани помилок, AppState, офлайн-банер — щоб deep link на поїздку міг підвантажити дані не лише з mock.",[3743,39735,39736,16638,39743,16638,39748,16638,39752,16638,39757],{},[39737,39738,39742],"a",{"href":39739,"rel":39740},"https:\u002F\u002Fdocs.expo.dev\u002Flinking\u002Finto-your-app\u002F",[39741],"nofollow","Expo linking",[39737,39744,39747],{"href":39745,"rel":39746},"https:\u002F\u002Fdocs.expo.dev\u002Flinking\u002Fios-universal-links\u002F",[39741],"iOS Universal Links",[39737,39749,3968],{"href":39750,"rel":39751},"https:\u002F\u002Fdocs.expo.dev\u002Flinking\u002Fandroid-app-links\u002F",[39741],[39737,39753,39756],{"href":39754,"rel":39755},"https:\u002F\u002Fdocs.expo.dev\u002Frouter\u002Freference\u002Furl-parameters\u002F",[39741],"URL parameters",[39737,39758,3974],{"href":39759,"rel":39760},"https:\u002F\u002Fgithub.com\u002Farakviel\u002Fnomad",[39741],[38320,39762,39763],{},"html pre.shiki code .siwwj, html code.shiki .siwwj{--shiki-light:#001080;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}html pre.shiki code .sHH4Y, html code.shiki .sHH4Y{--shiki-light:#000000;--shiki-default:#D4D4D4;--shiki-dark:#D4D4D4}html pre.shiki code .s8Opu, html code.shiki .s8Opu{--shiki-light:#795E26;--shiki-default:#DCDCAA;--shiki-dark:#DCDCAA}html pre.shiki code .sbdoH, html code.shiki .sbdoH{--shiki-light:#A31515;--shiki-default:#CE9178;--shiki-dark:#CE9178}html pre.shiki code .su1O8, html code.shiki .su1O8{--shiki-light:#0000FF;--shiki-default:#569CD6;--shiki-dark:#569CD6}html pre.shiki code .sD7JJ, html code.shiki .sD7JJ{--shiki-light:#000000FF;--shiki-default:#D4D4D4;--shiki-dark:#D4D4D4}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s-QsJ, html code.shiki .s-QsJ{--shiki-light:#0070C1;--shiki-default:#4FC1FF;--shiki-dark:#4FC1FF}html pre.shiki code .sN1BT, html code.shiki .sN1BT{--shiki-light:#267F99;--shiki-default:#4EC9B0;--shiki-dark:#4EC9B0}html pre.shiki code .spJ8K, html code.shiki .spJ8K{--shiki-light:#008000;--shiki-default:#6A9955;--shiki-dark:#6A9955}html pre.shiki code .s0P7L, html code.shiki .s0P7L{--shiki-light:#800000;--shiki-default:#808080;--shiki-dark:#808080}html pre.shiki code .sa4r_, html code.shiki .sa4r_{--shiki-light:#E50000;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}html pre.shiki code .s8xlr, html code.shiki .s8xlr{--shiki-light:#AF00DB;--shiki-default:#C586C0;--shiki-dark:#C586C0}html pre.shiki code .sJj4R, html code.shiki .sJj4R{--shiki-light:#098658;--shiki-default:#B5CEA8;--shiki-dark:#B5CEA8}html pre.shiki code .sLwNe, html code.shiki .sLwNe{--shiki-light:#0451A5;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}",{"title":3761,"searchDepth":4332,"depth":4332,"links":39765},[39766,39769,39774,39778,39784,39794,39797,39803,39808,39814,39815,39819,39828,39847,39854,39859,39860],{"id":3740,"depth":4332,"text":3741,"children":39767},[39768],{"id":3880,"depth":4359,"text":3881},{"id":3999,"depth":4332,"text":4000,"children":39770},[39771,39772,39773],{"id":4015,"depth":4359,"text":4016},{"id":4053,"depth":4359,"text":4054},{"id":4080,"depth":4359,"text":4081},{"id":4206,"depth":4332,"text":39775,"children":39776},"Декларація динамічних маршрутів: Файлова конвенція [id].tsx",[39777],{"id":4283,"depth":4359,"text":4284},{"id":4307,"depth":4332,"text":4308,"children":39779},[39780,39781,39783],{"id":4314,"depth":4359,"text":4315},{"id":4440,"depth":4359,"text":39782},"Спосіб Б. Структурований конфігураційний об'єкт { pathname, params }",{"id":4653,"depth":4359,"text":4654},{"id":4685,"depth":4332,"text":39785,"children":39786},"Десеріалізація та валідація параметрів: Хуки useLocalSearchParams та useGlobalSearchParams",[39787,39789,39791,39793],{"id":4696,"depth":4359,"text":39788},"1. useLocalSearchParams",{"id":4802,"depth":4359,"text":39790},"2. useGlobalSearchParams",{"id":4815,"depth":4359,"text":39792},"Проблема типізації string | string[] та техніка нормалізації",{"id":5027,"depth":4359,"text":5028},{"id":5261,"depth":4332,"text":5262,"children":39795},[39796],{"id":5284,"depth":4359,"text":5285},{"id":5323,"depth":4332,"text":39798,"children":39799},"Реєстрація кастомних схем: Custom URL Scheme (nomad:\u002F\u002F)",[39800,39802],{"id":5345,"depth":4359,"text":39801},"Конфігурація схеми у файлі app.json:",{"id":5453,"depth":4359,"text":5454},{"id":5479,"depth":4332,"text":39804,"children":39805},"Підсистема expo-linking: Генерація та обробка платформових посилань",[39806],{"id":5493,"depth":4359,"text":39807},"Основні методи API expo-linking:",{"id":5816,"depth":4332,"text":5817,"children":39809},[39810,39812],{"id":5823,"depth":4359,"text":39811},"1. Тестування на iOS Simulator через simctl",{"id":5859,"depth":4359,"text":39813},"2. Тестування на Android Emulator через adb",{"id":5902,"depth":4332,"text":5903},{"id":5934,"depth":4332,"text":5935,"children":39816},[39817,39818],{"id":5970,"depth":4359,"text":5971},{"id":6059,"depth":4359,"text":6060},{"id":6137,"depth":4332,"text":6138,"children":39820},[39821,39822,39824,39825,39827],{"id":6141,"depth":4359,"text":6142},{"id":6165,"depth":4359,"text":39823},"2. Відсутність нормалізації типів string | string[]",{"id":6193,"depth":4359,"text":6194},{"id":6219,"depth":4359,"text":39826},"4. Хардкодинг Custom Schemes замість використання Linking.createURL",{"id":6244,"depth":4359,"text":6245},{"id":6272,"depth":4332,"text":6273,"children":39829},[39830,39831,39832,39833,39834,39835,39836,39837,39838,39839,39841,39843,39845,39846],{"id":6276,"depth":4359,"text":6277},{"id":6294,"depth":4359,"text":6295},{"id":6328,"depth":4359,"text":6329},{"id":6338,"depth":4359,"text":6339},{"id":6345,"depth":4359,"text":6346},{"id":6379,"depth":4359,"text":6380},{"id":6437,"depth":4359,"text":6438},{"id":6480,"depth":4359,"text":6481},{"id":6498,"depth":4359,"text":6499},{"id":6857,"depth":4359,"text":39840},"Крок 3. app\u002F_layout.tsx",{"id":7132,"depth":4359,"text":39842},"Крок 4. Головна — app\u002Findex.tsx",{"id":8590,"depth":4359,"text":39844},"Крок 5. Екран купона — app\u002Fcoupon\u002F[code].tsx",{"id":9873,"depth":4359,"text":9874},{"id":9902,"depth":4359,"text":9903},{"id":9953,"depth":4332,"text":9954,"children":39848},[39849,39850,39851,39852,39853],{"id":9957,"depth":4359,"text":9958},{"id":9972,"depth":4359,"text":9973},{"id":10011,"depth":4359,"text":10012},{"id":39477,"depth":4359,"text":39478},{"id":39512,"depth":4359,"text":39513},{"id":39594,"depth":4332,"text":39595,"children":39855},[39856,39857,39858],{"id":39598,"depth":4359,"text":39599},{"id":39623,"depth":4359,"text":39624},{"id":39645,"depth":4359,"text":39646},{"id":39669,"depth":4332,"text":39670},{"id":39722,"depth":4332,"text":39723},"Архітектура параметризації маршрутів у Expo Router — динамічні сегменти [id], query-параметри, хуки useLocalSearchParams та useGlobalSearchParams, реєстрація Custom URL Scheme, робота з модулем expo-linking, холодний та теплий старт (Cold\u002FWarm Start), Universal Links і Android App Links, міні-проєкт «Купон за лінком» та навігація за посиланням у Nomad",null,{},{"title":3440,"description":39861},"2l-_WqpOuBjL9PWseeG32qEM8MPTBOW9Xlvrj-X1opY",[39867,39869],{"title":3436,"path":3437,"stem":3438,"description":39868,"children":-1},"Архітектура ієрархічних навігаційних дерев у Expo Router — вкладені стеки у вкладках (Nested Stack in Tabs), модальні представлення (presentation modal), сегрегація маршрутів через групи (auth), перехоплення переходів через usePreventRemove, міні-проєкт «Нотатки» та екран деталей поїздки в Nomad",{"title":3444,"path":3445,"stem":3446,"description":39870,"children":-1},"Глибокий практичний розбір мережевого стека React Native (fetch, axios, нативні стеки NSURLSession та OkHttpClient), нормалізація серверного стану, класифікація та обробка помилок, експоненційний backoff з jitter, черги оновлення токенів, моніторинг з'єднання через NetInfo та керування життєвим циклом застосунку через AppState.",1788069962567]