Evidence ledger 29 sources Checked 30 Aug 2026

Evidence ledger

One row per claim in When owning hardware wins, and when it owns you: who published it, what grade it carries, when it was written, when the link was last checked, and the quote or figure it rests on. Nothing in the guide is cited from memory, so anything not in this table is not in the guide.

Topic: the documented economics and architecture of leaving the cloud, staying, and coming back. One row per claim. Tiers per references/evidence.md: postmortem, source, adr, casestudy, blog, paper, talk, vendor.

Verification method note (read this first). This session ran inside an egress-restricted environment: direct HTTPS fetches were permitted only to github.com (plus package registries). Every GitHub URL below was fetched directly on the check date. Every other URL was verified in-session through search-engine retrieval on the check date: the URL was returned live by the engine and the supporting content was returned with it, in several cases by a second exact-phrase query to confirm wording. Quotes marked (E) were confirmed as exact strings; figures and quotes marked (R) are as reported in the retrieved coverage of the source. Nothing below is cited from memory.

# Org Title Tier Published Checked URL Claim I take from it Supporting quote or figure
1 37signals Why we're leaving the cloud (DHH) blog 2022-10-19 2026-08-30 https://world.hey.com/dhh/why-we-re-leaving-the-cloud-654b47e0 The exit case rests on steady, predictable load, not cloud hostility (E) "Renting computers is (mostly) a bad deal for medium-sized companies like ours with stable growth." (E) "The savings promised in reduced complexity never materialized."
2 37signals We stand to save $7m over five years from our cloud exit (DHH) blog 2023-02 2026-08-30 https://world.hey.com/dhh/we-stand-to-save-7m-over-five-years-from-our-cloud-exit-53996caa The original TCO model: 2022 cloud bill \(3.2M/yr; ~\)700K of Dell hardware bought for the exit (R) 2022 cloud spend \(3.2M; ~\)700K spent on Dell servers in 2023; projected ~$7M savings over five years
3 37signals We have left the cloud (DHH) blog 2023-06 2026-08-30 https://world.hey.com/dhh/we-have-left-the-cloud-251760fb Seven apps moved out in about six months; Kubernetes deliberately rejected for the landing zone (E) "dodge the complexity of Kubernetes, and avoid any sort of enterprisey service contract entanglements"
4 37signals Our cloud-exit savings will now top ten million over five years (DHH) blog 2024-10 2026-08-30 https://world.hey.com/dhh/our-cloud-exit-savings-will-now-top-ten-million-over-five-years-c7d9b5bd Measured first-full-year result and the storage endgame (R) bill fell \(3.2M/yr → \)1.3M/yr (all remaining spend = S3 under a 4-year contract to summer 2025); ~\(2M saved in 2024; 18PB of Pure Storage flash across two DCs, ~\)1.5M hardware + <\(1M support/warranty over five years; projected savings raised past \)10M/5yr
5 37signals Leaving the Cloud hub page blog 2024 (ongoing) 2026-08-30 https://basecamp.com/cloud-exit The company's own framing of the exit as a playbook (E) title framing: "Leaving the Cloud — Cloud Computing Isn't For Everyone"
6 Datacenter Dynamics 37signals claims it saved almost $2m last year from cloud repatriation blog 2025 2026-08-30 https://www.datacenterdynamics.com/en/news/37signals-claims-it-saved-almost-2m-last-year-from-cloud-repatriation/ Independent corroboration of the 2024 savings figure (R) ~\(2M saved in 2024; bill \)3.2M → $1.3M
7 The Register 37signals is completing its on-prem move, deleting its AWS account blog 2025-05-09 2026-08-30 https://www.theregister.com/2025/05/09/37signals_cloud_repatriation_storage_savings The S3 exit mechanics and its deadline discipline (R) S3 contract expired 2025-06-30; ~10PB to move; "It's five grand a day to miss our S3 exit" (DHH, quoted)
8 AWSInsider (Converge360) Cloud Data Egress Fee Tussle Plays Out with $250k AWS Comp blog 2025-05-09 2026-08-30 https://awsinsider.net/articles/2025/05/09/cloud-data-egress-fee-tussle-plays-out-with-$250k-aws-comp.aspx AWS waived the final-exit egress under its 2024 policy (R) AWS granted a free 60-day egress window, waiving roughly $250,000 in transfer fees for 37signals' S3 exit
9 Dropbox / SEC Form S-1 (registration statement) casestudy 2018-02-23 2026-08-30 https://www.sec.gov/Archives/edgar/data/0001467623/000119312518055809/d451946ds1.htm The only SEC-audited exit economics on record (E) "Our Infrastructure Optimization reduced unit costs and helped limit capital expenditures and associated depreciation." (R) \(39.5M cost-of-revenue reduction 2015→2016 (−\)92.5M third-party datacenter spend, +\(53M own datacenters), further \)35.1M in 2017
10 GeekWire Dropbox saved almost $75 million over two years by building its own tech infrastructure blog 2018-02-23 2026-08-30 https://www.geekwire.com/2018/dropbox-saved-almost-75-million-two-years-building-tech-infrastructure/ The headline two-year total, computed from the S-1 (R) $74.6M total operating-cost reduction over two years attributed to Magic Pocket ("Infrastructure Optimization")
11 Dropbox Inside the Magic Pocket blog 2016-05-06 2026-08-30 https://dropbox.tech/infrastructure/inside-the-magic-pocket What the exit actually required: a custom multi-exabyte blob store (R) multi-exabyte storage system; replication + Reed-Solomon-style erasure coding variant similar to Local Reconstruction Codes; James Cowling led design
12 Dropbox How we optimized Magic Pocket for cold storage blog 2019 2026-08-30 https://dropbox.tech/infrastructure/how-we-optimized-magic-pocket-for-cold-storage The exit kept paying because storage engineering continued (SMR, cold tier) (R) Dropbox was the first major tech company to adopt SMR drives; cold-storage tier further cut cost
13 Dropbox / ARCHITECHT Dropbox's AWS migration was as much about control as it was about the cloud blog 2017 2026-08-30 https://medium.com/architecht/dropboxs-aws-migration-was-as-much-about-control-as-it-was-about-the-cloud-3baf5c471f88 Even the flagship exit kept a cloud remainder (R) Dropbox runs no European datacenters and serves some European customers from AWS; AWS remained <10% of its storage
14 GEICO / InfoQ Evaluating and Deploying State-of-the-Art Hardware to Meet the Challenges of Modern Workloads (Rebecca Weekly, QCon SF 2024) talk 2024-11 (recorded), published 2025 2026-08-30 https://www.infoq.com/presentations/platform-cloud-infrastructure An enterprise's measured verdict on ten years of cloud-first; 44:39 recording with transcript (R) ten years in, GEICO had not finished migrating, bills rose 2.5×, reliability challenges grew; the firm was "at the cumulative mercy of our clouds" with "no consistent data strategy, no consistent hybrid stack"
15 The Stack $300 million hyperscaler bill triggered cloud repatriation blog 2024 2026-08-30 https://www.thestack.technology/300-million-cloud-bill-triggered-a-rethink-at-this-firm-and-a-shopping-spree-on-modular-hardware/ The scale of GEICO's cloud spend and the OCP rebuild (R) by 2021 GEICO spent over $300M/yr on cloud providers and services; rebuilding on Open Compute Project modular hardware
16 The Stack Warren Buffett's GEICO repatriates work from the cloud blog 2024 2026-08-30 https://www.thestack.technology/warren-buffetts-geico-repatriates-work-from-the-cloud-continues-ambitious-infrastructure-overhaul/ The failure mode was lift-and-shift, not the cloud itself (E) "at the cumulative mercy of our clouds" (Weekly, quoted); (R) migration begun to exit expensive on-prem DCs reduced availability
17 Stack Overflow Moving the public Stack Overflow sites to the cloud: Part 1 blog 2025-08-28 2026-08-30 https://stackoverflow.blog/2025/08/28/moving-the-public-stack-overflow-sites-to-the-cloud-part-1/ The counterflow's stated reasons: physical ops burden on a small SRE team; a forced deadline (R) 16 years in a New Jersey datacenter; SRE team handled "physical servers, cabling, racking, replacing failed disks, and everything else in between"; datacenter vendor shut the site — out by 2025-07-31, no renewal option; public sites to Google Cloud ("Project Ascension")
18 Stack Overflow The Great Unracking: Saying goodbye to the servers at our physical datacenter blog 2025-12-24 2026-08-30 https://stackoverflow.blog/2025/12/24/the-great-unracking-saying-goodbye-to-the-servers-at-our-physical-datacenter/ The completion record of the exit-to-cloud (R) ~50 servers decommissioned in NJ; Colorado DR site decommissioned that June; company now fully cloud and fully remote
19 Stack Overflow Journey to the cloud part I: Migrating Stack Overflow Teams to Azure blog 2023-08-30 2026-08-30 https://stackoverflow.blog/2023/08/30/journey-to-the-cloud-part-i-migrating-stack-overflow-teams-to-azure/ The rehearsal-first migration shape (smaller product moved first) (R) Stack Overflow for Teams moved to Azure in 2023, before the public sites
20 Stack Overflow Are clouds having their on-prem moment? blog 2023-02-20 2026-08-30 https://stackoverflow.blog/2023/02/20/are-companies-shifting-away-from-public-clouds/ The on-prem poster child was publicly weighing the debate 2.5 years before exiting to the cloud (R) editorial survey of the repatriation debate, from the company then still famous for ~9 on-prem web servers
21 GitLab Why we are not leaving the cloud blog 2017-03-02 2026-08-30 https://about.gitlab.com/blog/2017/03/02/why-we-are-not-leaving-the-cloud/ A proposed exit reversed in public after community review (R) late 2016: GitLab proposed moving GitLab.com to bare metal with its own hardware proposal; after hundreds of comments and emails "filled with advice and warnings," the team decided in December 2016 to stay in the cloud
22 The Register GitLab to dump cloud for its own bare metal Ceph boxen blog 2016-11-14 2026-08-30 https://www.theregister.com/2016/11/14/gitlab_to_dump_cloud_for_its_own_bare_metal_ceph_boxen/ The original 2016 proposal and its storage-centric rationale (R) plan centered on running Ceph on owned bare metal for performance
23 GitLab blog-posts issue #289: "Why We're Choosing Bare Metal & How We Knew it was Time to Leave the Cloud" source 2016 2026-08-30 https://gitlab.com/gitlab-com/blog-posts/-/issues/289 The announcement post that was drafted and never shipped — the decision reversed in the open issue tracker (E) issue title: "Why We're Choosing Bare Metal & How We Knew it was Time to Leave the Cloud"
24 Netflix Completing the Netflix Cloud Migration blog 2016-02-11 2026-08-30 https://about.netflix.com/en/news/completing-the-netflix-cloud-migration The canonical all-in migration took seven-plus years, triggered by an owned-infrastructure failure (R) August 2008 database corruption stopped DVD shipping for three days; January 2016: last datacenter shut, billing 100% cloud
25 X (Twitter) / DCD X/Twitter claims $100m in annual savings after exiting Sacramento data center blog 2023-10 2026-08-30 https://www.datacenterdynamics.com/en/news/xtwitter-claims-100m-in-annual-savings-after-exiting-sacramento-data-center/ Self-reported optimization-plus-repatriation figures, no methodology published (R) X engineering claims: monthly cloud cost −60%; cloud storage −60%; data processing cost −75%; Sacramento DC exit moved 5,200 racks / 148,000 servers, freeing 48MW, claimed $100M/yr saved
26 Ahrefs How Ahrefs Saved US$400M in 3 Years by NOT Going to the Cloud (Efim Mirochnik) casestudy 2023-03 2026-08-30 https://tech.ahrefs.com/how-ahrefs-saved-us-400m-in-3-years-by-not-going-to-the-cloud-8939dd930af8 The never-cloud position, argued with its own unit economics (R) 850 colo servers at \(1,550/server/month all-in vs \)17,557/month for an AWS-equivalent configuration; \(39.5M vs \)447.7M over 30 months
27 The Register Software vendor says own hardware $400m cheaper than cloud blog 2023-03-13 2026-08-30 https://www.theregister.com/2023/03/13/ahrefs_on_prem_savings/ Independent restatement of Ahrefs' math, with the hardware-shape caveat (R) per-server cost includes acquisition, colo space, electricity, IP transit, dark fiber, network hardware; Ahrefs servers average high-core CPUs, 2TB RAM, 2×100Gbps, 16×15TB drives — a configuration clouds do not sell as one instance
28 Fastmail Why we use our own hardware at Fastmail (Rob Mueller) blog 2024-12-22 2026-08-30 https://www.fastmail.com/blog/why-we-use-our-own-hardware/ A 25-year stayer's current hardware economics (R) 2U servers with 24× 61TB NVMe; ~\(190K per server; datacenter space, power and cooling ~\)3K/yr per 2U
29 Zerodha / CNCF Zerodha case study casestudy 2023 2026-08-30 https://www.cncf.io/case-studies/zerodha/ The third position: self-host software, rent hardware — FOSS on cloud VMs (R) India's largest broker runs self-hosted FOSS (PostgreSQL, ClickHouse, etc.) on AWS EC2; ~5% dependency on external vendors; CTO Kailash Nadh estimates ≥$3M/yr saved vs proprietary subscriptions
30 OneUptime How moving from AWS to Bare-Metal saved us $230,000/yr blog 2023-10-30 2026-08-30 https://oneuptime.com/blog/post/2023-10-30-moving-from-aws-to-bare-metal/view A small-company exit with its bill itemized (R) 28-node managed Kubernetes setup on AWS cost >\(38K/month (>\)456K/yr); bare metal + colo cut ~$230K/yr
31 OneUptime AWS to Bare Metal Two Years Later blog 2025-10-29 2026-08-30 https://oneuptime.com/blog/post/2025-10-29-aws-to-bare-metal-two-years-later/view The rare two-years-later retrospective; savings compounded (R) reported savings grew from \(230K/yr to >\)1.2M/yr as the fleet grew
32 Milkie Way We Burnt $72K testing Firebase + Cloud Run and almost went Bankrupt [Part 1] postmortem 2020-12 2026-08-30 https://blog.tomilkieway.com/72k-1/ Elastic billing is a failure domain: a test deployment ran away in hours (R) Cloud Run instances recursively scaled (~1,000 instances, 16,022 hours consumed in 24h); Firestore reads peaked ~1B requests/minute; 116B reads + 33M writes total; $72K bill in a few hours in March 2020
33 Troy Hunt How I Got Pwned by My Cloud Costs postmortem 2022-01 2026-08-30 https://www.troyhunt.com/how-i-got-pwned-by-my-cloud-costs/ One cache-size config turned into an egress bill; detection came from the invoice (R) December 2021 Azure bill ~$11K over normal; Cloudflare plan's max cacheable file size (15GB) silently excluded new larger Pwned Passwords files, so every download hit Azure origin egress
34 InfoQ Vercel's Serverless Infrastructure Scale Expenses: the Cara case postmortem 2024-06 2026-08-30 https://www.infoq.com/news/2024/06/vercel-serverless-scale-expenses A viral spike on per-invocation pricing produced a five-figure month for a small app (R) Cara grew 40K → 650K users in a week; peak 56M function invocations/day (June 3); ~\(96K–\)98K monthly Vercel bill, dominated by serverless functions
35 Snap / Recode (Vox) This is what Snap is paying Google $2 billion for casestudy 2017-03-01 2026-08-30 https://www.recode.net/2017/3/1/14661126/snap-snapchat-ipo-spending-2-billion-google-cloud Renting has its own lock-in: committed spend with shortfall clauses, disclosed as an IPO risk factor (E) "If we fail to meet the minimum purchase commitment during any year, we are required to pay the difference." (R) \(2B/5yr Google Cloud + \)1B/5yr AWS committed in the S-1
36 SiliconANGLE AWS follows Google Cloud in canceling egress fees blog 2024-03-05 2026-08-30 https://siliconangle.com/2024/03/05/aws-follows-google-cloud-canceling-egress-fees-allowing-customers-leave-cloud-platform-free/ The exit tax fell in 2024, under regulatory pressure, and globally (R) Google eliminated exit-egress fees January 2024; AWS followed March 2024 (>100GB via support credits, all regions); driver: EU Data Act
37 Kemp IT Law The End of Switching Charges: Commercial Impact and Compliance Priorities blog 2024-2025 2026-08-30 https://kempitlaw.com/insights/the-end-of-switching-charges-commercial-impact-and-compliance-priorities/ The legal timeline: reduced charges now, zero from January 2027 (R) EU Data Act (Reg. 2023/2854) applicable 2025-09-12; during transition, only cost-based switching charges allowed; from 2027-01-12 switching charges (including data egress for switching) are abolished
38 a16z The Cost of Cloud, a Trillion Dollar Paradox (Sarah Wang, Martin Casado) vendor 2021-05-27 2026-08-30 https://a16z.com/the-cost-of-cloud-a-trillion-dollar-paradox/ The maximalist repatriation thesis and its famous framing (E) "You're crazy if you don't start in the cloud; you're crazy if you stay on it." (R) across 50 top public software companies, cloud ≈50% of COGS; estimated $100B of market value suppressed
39 Duckbill Group Cloud Repatriation Isn't a Thing (Corey Quinn) blog 2021 2026-08-30 https://www.lastweekinaws.com/blog/cloud-repatriation-isnt-a-thing/ The skeptic position, from the consultancy that lives in AWS bills (R) Dropbox is the example always cited; "when people try to name a second example, no one can ever name one" (paraphrase of Quinn's argument as retrieved)
40 Duckbill Group Cloud Repatriation is Getting Complicated (Corey Quinn) blog 2024-2025 2026-08-30 https://www.lastweekinaws.com/blog/cloud-repatriation-is-getting-complicated/ The skeptic's own update: the story has changed somewhat (R) Quinn largely stands by the original but concedes the situation is more nuanced now
41 Channelnomics Breaking Down the 83% Public Cloud Repatriation Number blog 2024 2026-08-30 https://channelnomics.com/breaking-down-the-83-public-cloud-repatriation-number/ The most-quoted statistic measures companies moving ≥1 workload, not workloads or full exits (R) 83% (Barclays CIO survey) = share of enterprises moving at least one workload back; a company moving one database and a company exiting entirely land in the same bucket
42 The Stack Gartner forecast dampens cloud repatriation outlook blog 2024-11-20 2026-08-30 https://www.thestack.technology/gartner-cloud-repatriation/ Full repatriation is the 8–9% tail; cloud spend keeps compounding (R) IDC Server and Storage Workloads Survey: only 8–9% of companies plan full workload repatriation; Gartner: worldwide public cloud end-user spending \(723.4B in 2025, from \)595.7B in 2024
43 Flexera 2026 State of the Cloud Report vendor 2026-03-18 2026-08-30 https://info.flexera.com/CM-REPORT-State-of-the-Cloud The stay-side inefficiency baseline, from the largest annual practitioner survey (R) estimated wasted cloud spend rose to 29% (first increase in five years, attributed to AI workloads); 17% of organizations exceeded cloud budgets; fewer than half use any one commitment discount per provider
44 ETR VMware Customers Face A Cost Reckoning vendor 2025-12 2026-08-30 https://research.etr.ai/etr-data-drop/vmware-customers-face-a-cost-reckoning The counterflow's push force: post-acquisition licensing shock (R) 71% of surveyed customers say prices rose substantially more than the broader software market since Broadcom's acquisition (up from 63% in Oct 2024); 42% plan to migrate part of their VMware footprint to Microsoft within 12 months
45 everyWAN Two years of Broadcom: the mass VMware exodus that never happened blog 2026 2026-08-30 https://everywan.com/en/blog/vmware-broadcom-two-years-later-the-exodus-that-wasnt Where VMware refugees actually go: mostly to public cloud (R) close to 75% of those migrating off VMware are going to public cloud, not to another hypervisor
46 Basecamp (GitHub) basecamp/kamal repository source 2023– (checked at HEAD) 2026-08-30 https://github.com/basecamp/kamal The exit's portability layer is ~ordinary containers + SSH, deliberately not an orchestrator (E) README tagline: "Deploy web apps anywhere." (R) "from bare metal to cloud VMs", zero-downtime via kamal-proxy, SSHKit
47 Basecamp (GitHub) kamal PR #969: custom SSL certificate support — closed unmerged source closed 2025-06-19 2026-08-30 https://github.com/basecamp/kamal/pull/969 A rejected implementation with the design argument recorded, then superseded (E) djmb (2024-10-23): "I think we should read these directly from the Kamal secrets"; closed 2025-06-19 in favor of the secrets-based PR #1531 (merged)
48 Basecamp (GitHub) kamal PR #1810 + issue #1809: standby containers for failover — closed unmerged source closed 2026-06-16 2026-08-30 https://github.com/basecamp/kamal/pull/1810 Orchestrator-shaped features keep arriving at the deliberately-not-an-orchestrator tool, and keep being declined (E) proposal: containers "in a Created (stopped) state, to be activated later with kamal app start" for "near-instant failover"; closed unmerged 2026-06-16 with no public design rationale in the thread
49 AWS (GitHub) karpenter-provider-aws designs/consolidation.md adr 2022 (merged RFC) 2026-08-30 https://github.com/aws/karpenter-provider-aws/blob/main/designs/consolidation.md The stay-side counterpart to exit math: delete or replace underutilized nodes against their price (E) "The complication to node replacement is that we need some concept of what the node we are considering replacing costs." (E) "The simplest form of consolidation is to look at the pods on the node and if they all can be evicted, determine if all of the pods can run on other nodes already in the cluster."
50 FinOps Foundation (GitHub) FOCUS specification repository adr 2023– (active) 2026-08-30 https://github.com/FinOps-Open-Cost-and-Usage-Spec/FOCUS_Spec The measurement problem is real enough to need a cross-vendor schema — explicitly including datacenters (E) "a community-driven, open specification that defines a common schema for technology cost and usage data across cloud, SaaS, data center, and other technology categories"
51 Google Large-scale cluster management at Google with Borg (EuroSys 2015) paper 2015-04 2026-08-30 https://research.google/pubs/large-scale-cluster-management-at-google-with-borg/ Utilization is engineered, not assumed — the mechanism behind owning hardware cheaply (E) Borg "achieves high utilization by combining admission control, efficient task-packing, over-commitment, and machine sharing" across clusters "each with up to tens of thousands of machines" (PDF: https://research.google.com/pubs/archive/43438.pdf)
52 Facebook f4: Facebook's Warm BLOB Storage System (OSDI 2014) paper 2014-10 2026-08-30 https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-muralidhar.pdf Owned-storage economics at the limit: replication factor engineered from 3.6× down to 2.1× (R) RS(10,4) gives 1.4× expansion; two-datacenter XOR scheme yields 2.1× effective replication (vs 2.8× for two full copies); at publication f4 held 65PB logical and saved 53PB of raw storage
53 Lex Fridman Podcast #474 — DHH (transcript) talk 2025-06 2026-08-30 https://lexfridman.com/dhh-david-heinemeier-hansson-transcript The exit's own author narrating the decision, on the record, timestamped (R) cloud-exit segment begins at 3:24:04; DHH: 37signals was "in the cloud before it was cool" (AWS user since 2006)
54 GeekWire→context check Techmeme snapshot of Dropbox S-1 coverage blog 2018-02-23 2026-08-30 https://www.techmeme.com/180223/p16 Date-stamp corroboration for the S-1 savings reporting (E) headline: "Dropbox has saved almost $75M since 2015 by moving from AWS to custom-designed infrastructure and software"
55 Hacker News GitLab bare-metal reversal discussion source 2017-03 2026-08-30 https://news.ycombinator.com/item?id=13774929 The community review that reversed an exit is itself on the record (R) discussion thread on "Why we are not leaving the cloud"

Coverage notes

  • Postmortem/incident tier: rows 32, 33, 34 (three incidents, all cloud-billing-shaped) plus rows 21–23 (a decision failure recorded in public). No published postmortem attributes a production incident to any of the documented exits' cutovers or to their post-exit hardware operations — recorded as an Open state in the guide, mirrored by the absence of any full-exit follow-up account other than row 31.
  • Source tier: rows 23, 46, 47, 48, 55 — including two closed-unmerged PRs (47, 48).
  • ADR tier: rows 49, 50.
  • Papers: rows 51, 52. Talks: rows 14, 53 (row 53 timestamped; row 14's transcript is unpaginated — claims from it are corroborated by rows 15–16 press coverage).
  • Vendor-graded share: rows 38, 43, 44 (+29 CNCF) ≈ 4/55 rows — under the one-third cap.
  • Organisations with production accounts: 37signals, Dropbox, GEICO, Stack Overflow, GitLab, Netflix, X, Ahrefs, Fastmail, Zerodha, OneUptime, Milkie Way, HIBP (Troy Hunt), Cara, Snap, Google, Facebook, Basecamp/Kamal, AWS/Karpenter — 19 organisations.