[{"data":1,"prerenderedAt":931},["ShallowReactive",2],{"learn-doc-\u002Flearn\u002Fen\u002Fcourses\u002Fpods\u002Fthe-pod":3,"learn-doc-topic-\u002Flearn\u002Fen\u002Fcourses\u002Fpods":332,"lessons-\u002Flearn\u002Fen\u002Fcourses\u002Fpods":364,"sidebar-course-\u002Flearn\u002Fen\u002Fcourses\u002Fpods":879,"i-lucide:chevron-down":891,"i-lucide:search":895,"i-lucide:sun":897,"i-lucide:moon":899,"i-lucide:menu":901,"i-lucide:panel-left":903,"i-lucide:chevron-right":905,"i-lucide:arrow-right":907,"i-lucide:corner-down-right":909,"i-lucide:mail":911,"i-simple-icons:x":913,"i-simple-icons:linkedin":915,"i-simple-icons:dribbble":917,"i-simple-icons:github":919,"sidebar-quiz-\u002Flearn\u002Fen\u002Fcourses\u002Fpods":352,"i-lucide:blocks":921,"i-lucide:printer":923,"i-lucide:graduation-cap":925,"i-lucide:book-marked":927,"i-lucide:notebook-pen":929},{"id":4,"title":5,"access":6,"body":7,"description":322,"extension":323,"lang":324,"meta":325,"navigation":326,"order":47,"partial":327,"path":328,"seo":329,"stem":330,"__hash__":331},"lessons\u002Flearn\u002Fen\u002Fcourses\u002Fpods\u002F01.the-pod.md","The pod","free",{"type":8,"value":9,"toc":317},"minimark",[10,14,18,21,26,34,196,203,209,213,216,279,282,286,306,313],[11,12,5],"h1",{"id":13},"the-pod",[15,16,17],"p",{},"Kubernetes does not schedule containers. It schedules pods.",[15,19,20],{},"A pod is a group of containers that share a network namespace, share IPC, and can\nshare volumes. They are always placed on the same node, always started together,\nand always terminated together.",[22,23,25],"h2",{"id":24},"what-sharing-a-network-namespace-means","What sharing a network namespace means",[15,27,28,29,33],{},"Every container in a pod sees the same IP address and the same port space. They\nreach each other over ",[30,31,32],"code",{},"localhost",", and they cannot both bind the same port.",[35,36,41],"pre",{"className":37,"code":38,"language":39,"meta":40,"style":40},"language-yaml shiki shiki-themes github-dark-dimmed github-dark-dimmed","apiVersion: v1\nkind: Pod\nmetadata:\n  name: web\nspec:\n  containers:\n    - name: app\n      image: myapp:1.4\n      ports:\n        - containerPort: 8080\n    - name: metrics-proxy\n      image: proxy:2.0\n      ports:\n        - containerPort: 9090\n","yaml","",[30,42,43,60,71,80,91,99,107,121,132,140,155,167,177,184],{"__ignoreMap":40},[44,45,48,52,56],"span",{"class":46,"line":47},"line",1,[44,49,51],{"class":50},"sza-u","apiVersion",[44,53,55],{"class":54},"sM9_K",": ",[44,57,59],{"class":58},"szYpP","v1\n",[44,61,63,66,68],{"class":46,"line":62},2,[44,64,65],{"class":50},"kind",[44,67,55],{"class":54},[44,69,70],{"class":58},"Pod\n",[44,72,74,77],{"class":46,"line":73},3,[44,75,76],{"class":50},"metadata",[44,78,79],{"class":54},":\n",[44,81,83,86,88],{"class":46,"line":82},4,[44,84,85],{"class":50},"  name",[44,87,55],{"class":54},[44,89,90],{"class":58},"web\n",[44,92,94,97],{"class":46,"line":93},5,[44,95,96],{"class":50},"spec",[44,98,79],{"class":54},[44,100,102,105],{"class":46,"line":101},6,[44,103,104],{"class":50},"  containers",[44,106,79],{"class":54},[44,108,110,113,116,118],{"class":46,"line":109},7,[44,111,112],{"class":54},"    - ",[44,114,115],{"class":50},"name",[44,117,55],{"class":54},[44,119,120],{"class":58},"app\n",[44,122,124,127,129],{"class":46,"line":123},8,[44,125,126],{"class":50},"      image",[44,128,55],{"class":54},[44,130,131],{"class":58},"myapp:1.4\n",[44,133,135,138],{"class":46,"line":134},9,[44,136,137],{"class":50},"      ports",[44,139,79],{"class":54},[44,141,143,146,149,151],{"class":46,"line":142},10,[44,144,145],{"class":54},"        - ",[44,147,148],{"class":50},"containerPort",[44,150,55],{"class":54},[44,152,154],{"class":153},"sQdni","8080\n",[44,156,158,160,162,164],{"class":46,"line":157},11,[44,159,112],{"class":54},[44,161,115],{"class":50},[44,163,55],{"class":54},[44,165,166],{"class":58},"metrics-proxy\n",[44,168,170,172,174],{"class":46,"line":169},12,[44,171,126],{"class":50},[44,173,55],{"class":54},[44,175,176],{"class":58},"proxy:2.0\n",[44,178,180,182],{"class":46,"line":179},13,[44,181,137],{"class":50},[44,183,79],{"class":54},[44,185,187,189,191,193],{"class":46,"line":186},14,[44,188,145],{"class":54},[44,190,148],{"class":50},[44,192,55],{"class":54},[44,194,195],{"class":153},"9090\n",[15,197,198,199,202],{},"The proxy scrapes ",[30,200,201],{},"http:\u002F\u002Flocalhost:8080"," — no service discovery, no DNS, no\nnetwork hop. This is the sidecar pattern, and the shared namespace is the whole\nreason it works.",[204,205,206],"note",{},[15,207,208],{},"Two containers in one pod is a design decision, not a packaging convenience. The\nright question is whether they must scale together and die together. If either\nanswer is no, they belong in separate pods.",[22,210,212],{"id":211},"init-containers","Init containers",[15,214,215],{},"Init containers run to completion, in order, before any app container starts. If\none fails, the pod restarts according to its policy and the sequence begins again.",[35,217,219],{"className":37,"code":218,"language":39,"meta":40,"style":40},"spec:\n  initContainers:\n    - name: wait-for-db\n      image: busybox:1.36\n      command: ['sh', '-c', 'until nc -z db 5432; do sleep 1; done']\n",[30,220,221,227,234,245,254],{"__ignoreMap":40},[44,222,223,225],{"class":46,"line":47},[44,224,96],{"class":50},[44,226,79],{"class":54},[44,228,229,232],{"class":46,"line":62},[44,230,231],{"class":50},"  initContainers",[44,233,79],{"class":54},[44,235,236,238,240,242],{"class":46,"line":73},[44,237,112],{"class":54},[44,239,115],{"class":50},[44,241,55],{"class":54},[44,243,244],{"class":58},"wait-for-db\n",[44,246,247,249,251],{"class":46,"line":82},[44,248,126],{"class":50},[44,250,55],{"class":54},[44,252,253],{"class":58},"busybox:1.36\n",[44,255,256,259,262,265,268,271,273,276],{"class":46,"line":93},[44,257,258],{"class":50},"      command",[44,260,261],{"class":54},": [",[44,263,264],{"class":58},"'sh'",[44,266,267],{"class":54},", ",[44,269,270],{"class":58},"'-c'",[44,272,267],{"class":54},[44,274,275],{"class":58},"'until nc -z db 5432; do sleep 1; done'",[44,277,278],{"class":54},"]\n",[15,280,281],{},"They are the correct place for migrations, waiting on a dependency, or fetching\nconfiguration — anything that must be finished before the app process begins.",[22,283,285],{"id":284},"restart-policy-is-per-pod-not-per-container","Restart policy is per pod, not per container",[15,287,288,291,292,267,295,298,299,302,303,305],{},[30,289,290],{},"restartPolicy"," applies to the pod as a whole: ",[30,293,294],{},"Always",[30,296,297],{},"OnFailure"," or ",[30,300,301],{},"Never",".\nDeployments require ",[30,304,294],{},". Jobs require one of the other two.",[15,307,308,309,312],{},"A crashing container is restarted in place by the kubelet, with exponential backoff\nup to five minutes. That backoff is what ",[30,310,311],{},"CrashLoopBackOff"," means — the pod is not\nbroken beyond repair, the kubelet is simply waiting before its next attempt.",[314,315,316],"style",{},"html pre.shiki code .sza-u, html code.shiki .sza-u{--shiki-default:#8DDB8C;--shiki-dark:#8DDB8C}html pre.shiki code .sM9_K, html code.shiki .sM9_K{--shiki-default:#ADBAC7;--shiki-dark:#ADBAC7}html pre.shiki code .szYpP, html code.shiki .szYpP{--shiki-default:#96D0FF;--shiki-dark:#96D0FF}html pre.shiki code .sQdni, html code.shiki .sQdni{--shiki-default:#6CB6FF;--shiki-dark:#6CB6FF}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);}",{"title":40,"searchDepth":73,"depth":73,"links":318},[319,320,321],{"id":24,"depth":62,"text":25},{"id":211,"depth":62,"text":212},{"id":284,"depth":62,"text":285},"Shared network and storage namespaces, and why the unit is not the container.","md","en",{},true,false,"\u002Flearn\u002Fen\u002Fcourses\u002Fpods\u002Fthe-pod",{"title":5,"description":322},"learn\u002Fen\u002Fcourses\u002Fpods\u002F01.the-pod","MxEnNnEovq7oJ35S9_DH8RQtcRph-8E1rjzvVskgg5U",{"id":333,"title":334,"access":6,"body":335,"description":339,"draft":327,"estimatedMinutes":340,"extension":323,"featured":327,"icon":341,"lang":324,"level":342,"meta":343,"navigation":326,"order":47,"path":344,"prerequisites":345,"resources":346,"seo":351,"sku":352,"stem":353,"subjects":354,"summary":356,"tags":357,"updated":362,"__hash__":363},"courses\u002Flearn\u002Fen\u002Fcourses\u002Fpods\u002Findex.md","Pods and workloads",{"type":8,"value":336,"toc":337},[],{"title":40,"searchDepth":73,"depth":73,"links":338},[],"The smallest deployable unit, and the controllers that manage sets of them.",25,"lucide:blocks","beginner",{},"\u002Flearn\u002Fen\u002Fcourses\u002Fpods",[],[347],{"label":348,"file":349,"access":6,"size":350},"Workload controller decision tree","k8s-workload-controllers.pdf","120 KB",{"title":334,"description":339},null,"learn\u002Fen\u002Fcourses\u002Fpods\u002Findex",[355],"kubernetes","A pod is one or more containers sharing a network namespace and a lifecycle.\nYou rarely create one directly — Deployments, StatefulSets, DaemonSets and Jobs\neach manage pods with different guarantees about identity, ordering and\nreplacement. Choosing the wrong controller is the root of a surprising number\nof production problems, because the guarantee you assumed was never offered.\n",[358,359,360,361],"pods","deployments","statefulsets","workloads","2026-08-04","m76OXiUC-jLIAp9S_k3i7kuptZfYW5jrdGa40vEITF8",[365,587],{"id":4,"title":5,"access":6,"body":366,"description":322,"extension":323,"lang":324,"meta":585,"navigation":326,"order":47,"partial":327,"path":328,"seo":586,"stem":330,"__hash__":331},{"type":8,"value":367,"toc":580},[368,370,372,374,376,380,494,498,502,504,506,558,560,562,574,578],[11,369,5],{"id":13},[15,371,17],{},[15,373,20],{},[22,375,25],{"id":24},[15,377,28,378,33],{},[30,379,32],{},[35,381,382],{"className":37,"code":38,"language":39,"meta":40,"style":40},[30,383,384,392,400,406,414,420,426,436,444,450,460,470,478,484],{"__ignoreMap":40},[44,385,386,388,390],{"class":46,"line":47},[44,387,51],{"class":50},[44,389,55],{"class":54},[44,391,59],{"class":58},[44,393,394,396,398],{"class":46,"line":62},[44,395,65],{"class":50},[44,397,55],{"class":54},[44,399,70],{"class":58},[44,401,402,404],{"class":46,"line":73},[44,403,76],{"class":50},[44,405,79],{"class":54},[44,407,408,410,412],{"class":46,"line":82},[44,409,85],{"class":50},[44,411,55],{"class":54},[44,413,90],{"class":58},[44,415,416,418],{"class":46,"line":93},[44,417,96],{"class":50},[44,419,79],{"class":54},[44,421,422,424],{"class":46,"line":101},[44,423,104],{"class":50},[44,425,79],{"class":54},[44,427,428,430,432,434],{"class":46,"line":109},[44,429,112],{"class":54},[44,431,115],{"class":50},[44,433,55],{"class":54},[44,435,120],{"class":58},[44,437,438,440,442],{"class":46,"line":123},[44,439,126],{"class":50},[44,441,55],{"class":54},[44,443,131],{"class":58},[44,445,446,448],{"class":46,"line":134},[44,447,137],{"class":50},[44,449,79],{"class":54},[44,451,452,454,456,458],{"class":46,"line":142},[44,453,145],{"class":54},[44,455,148],{"class":50},[44,457,55],{"class":54},[44,459,154],{"class":153},[44,461,462,464,466,468],{"class":46,"line":157},[44,463,112],{"class":54},[44,465,115],{"class":50},[44,467,55],{"class":54},[44,469,166],{"class":58},[44,471,472,474,476],{"class":46,"line":169},[44,473,126],{"class":50},[44,475,55],{"class":54},[44,477,176],{"class":58},[44,479,480,482],{"class":46,"line":179},[44,481,137],{"class":50},[44,483,79],{"class":54},[44,485,486,488,490,492],{"class":46,"line":186},[44,487,145],{"class":54},[44,489,148],{"class":50},[44,491,55],{"class":54},[44,493,195],{"class":153},[15,495,198,496,202],{},[30,497,201],{},[204,499,500],{},[15,501,208],{},[22,503,212],{"id":211},[15,505,215],{},[35,507,508],{"className":37,"code":218,"language":39,"meta":40,"style":40},[30,509,510,516,522,532,540],{"__ignoreMap":40},[44,511,512,514],{"class":46,"line":47},[44,513,96],{"class":50},[44,515,79],{"class":54},[44,517,518,520],{"class":46,"line":62},[44,519,231],{"class":50},[44,521,79],{"class":54},[44,523,524,526,528,530],{"class":46,"line":73},[44,525,112],{"class":54},[44,527,115],{"class":50},[44,529,55],{"class":54},[44,531,244],{"class":58},[44,533,534,536,538],{"class":46,"line":82},[44,535,126],{"class":50},[44,537,55],{"class":54},[44,539,253],{"class":58},[44,541,542,544,546,548,550,552,554,556],{"class":46,"line":93},[44,543,258],{"class":50},[44,545,261],{"class":54},[44,547,264],{"class":58},[44,549,267],{"class":54},[44,551,270],{"class":58},[44,553,267],{"class":54},[44,555,275],{"class":58},[44,557,278],{"class":54},[15,559,281],{},[22,561,285],{"id":284},[15,563,564,291,566,267,568,298,570,302,572,305],{},[30,565,290],{},[30,567,294],{},[30,569,297],{},[30,571,301],{},[30,573,294],{},[15,575,308,576,312],{},[30,577,311],{},[314,579,316],{},{"title":40,"searchDepth":73,"depth":73,"links":581},[582,583,584],{"id":24,"depth":62,"text":25},{"id":211,"depth":62,"text":212},{"id":284,"depth":62,"text":285},{},{"title":5,"description":322},{"id":588,"title":589,"access":6,"body":590,"description":873,"extension":323,"lang":324,"meta":874,"navigation":326,"order":62,"partial":327,"path":875,"seo":876,"stem":877,"__hash__":878},"lessons\u002Flearn\u002Fen\u002Fcourses\u002Fpods\u002F02.controllers.md","Choosing a controller",{"type":8,"value":591,"toc":868},[592,595,598,686,690,693,696,700,710,713,719,723,839,852,866],[11,593,589],{"id":594},"choosing-a-controller",[15,596,597],{},"Each workload controller manages pods. They differ in what they promise about\nidentity, ordering and placement.",[599,600,601,617],"table",{},[602,603,604],"thead",{},[605,606,607,611,614],"tr",{},[608,609,610],"th",{},"Controller",[608,612,613],{},"Use when",[608,615,616],{},"Guarantee",[618,619,620,634,647,660,673],"tbody",{},[605,621,622,628,631],{},[623,624,625],"td",{},[30,626,627],{},"Deployment",[623,629,630],{},"Stateless replicas",[623,632,633],{},"Interchangeable pods, rolling updates",[605,635,636,641,644],{},[623,637,638],{},[30,639,640],{},"StatefulSet",[623,642,643],{},"Stateful members",[623,645,646],{},"Stable name, stable storage, ordered rollout",[605,648,649,654,657],{},[623,650,651],{},[30,652,653],{},"DaemonSet",[623,655,656],{},"Node-level agents",[623,658,659],{},"One pod per matching node",[605,661,662,667,670],{},[623,663,664],{},[30,665,666],{},"Job",[623,668,669],{},"Run to completion",[623,671,672],{},"Retries until the success count is met",[605,674,675,680,683],{},[623,676,677],{},[30,678,679],{},"CronJob",[623,681,682],{},"Scheduled work",[623,684,685],{},"Creates Jobs on a schedule",[22,687,689],{"id":688},"deployments-give-you-no-identity","Deployments give you no identity",[15,691,692],{},"Deployment pods get random name suffixes and are replaced freely. Nothing about a\ngiven pod persists across a restart — not its name, not its storage, not its\nposition in a cluster.",[15,694,695],{},"This is exactly right for a web server and exactly wrong for a database replica.",[22,697,699],{"id":698},"statefulsets-trade-speed-for-identity","StatefulSets trade speed for identity",[15,701,702,703,267,706,709],{},"A StatefulSet gives each pod an ordinal name (",[30,704,705],{},"db-0",[30,707,708],{},"db-1","), a stable DNS entry\nvia a headless Service, and its own PersistentVolumeClaim that survives rescheduling.",[15,711,712],{},"Rollouts happen one pod at a time, in reverse ordinal order, waiting for each to\nbecome ready before continuing.",[714,715,716],"warning",{},[15,717,718],{},"That serial rollout is a feature, not a limitation — but it means a StatefulSet\nwith fifty replicas and a slow readiness probe can take an hour to roll. Budget\nfor it before choosing StatefulSet for something that did not need identity.",[22,720,722],{"id":721},"jobs-and-the-completion-count","Jobs and the completion count",[35,724,726],{"className":37,"code":725,"language":39,"meta":40,"style":40},"apiVersion: batch\u002Fv1\nkind: Job\nmetadata:\n  name: migrate\nspec:\n  backoffLimit: 3\n  template:\n    spec:\n      restartPolicy: Never\n      containers:\n        - name: migrate\n          image: myapp:1.4\n          command: ['.\u002Fmigrate']\n",[30,727,728,737,746,752,761,767,777,784,791,801,808,818,827],{"__ignoreMap":40},[44,729,730,732,734],{"class":46,"line":47},[44,731,51],{"class":50},[44,733,55],{"class":54},[44,735,736],{"class":58},"batch\u002Fv1\n",[44,738,739,741,743],{"class":46,"line":62},[44,740,65],{"class":50},[44,742,55],{"class":54},[44,744,745],{"class":58},"Job\n",[44,747,748,750],{"class":46,"line":73},[44,749,76],{"class":50},[44,751,79],{"class":54},[44,753,754,756,758],{"class":46,"line":82},[44,755,85],{"class":50},[44,757,55],{"class":54},[44,759,760],{"class":58},"migrate\n",[44,762,763,765],{"class":46,"line":93},[44,764,96],{"class":50},[44,766,79],{"class":54},[44,768,769,772,774],{"class":46,"line":101},[44,770,771],{"class":50},"  backoffLimit",[44,773,55],{"class":54},[44,775,776],{"class":153},"3\n",[44,778,779,782],{"class":46,"line":109},[44,780,781],{"class":50},"  template",[44,783,79],{"class":54},[44,785,786,789],{"class":46,"line":123},[44,787,788],{"class":50},"    spec",[44,790,79],{"class":54},[44,792,793,796,798],{"class":46,"line":134},[44,794,795],{"class":50},"      restartPolicy",[44,797,55],{"class":54},[44,799,800],{"class":58},"Never\n",[44,802,803,806],{"class":46,"line":142},[44,804,805],{"class":50},"      containers",[44,807,79],{"class":54},[44,809,810,812,814,816],{"class":46,"line":157},[44,811,145],{"class":54},[44,813,115],{"class":50},[44,815,55],{"class":54},[44,817,760],{"class":58},[44,819,820,823,825],{"class":46,"line":169},[44,821,822],{"class":50},"          image",[44,824,55],{"class":54},[44,826,131],{"class":58},[44,828,829,832,834,837],{"class":46,"line":179},[44,830,831],{"class":50},"          command",[44,833,261],{"class":54},[44,835,836],{"class":58},"'.\u002Fmigrate'",[44,838,278],{"class":54},[15,840,841,844,845,848,849,851],{},[30,842,843],{},"backoffLimit"," counts failed pods, not failed containers. With\n",[30,846,847],{},"restartPolicy: Never"," a failure creates a new pod; with ",[30,850,297],{}," the container\nrestarts inside the existing pod. The two produce different pod counts for the same\nnumber of failures, which makes debugging confusing if you are not expecting it.",[853,854,855],"tip",{},[15,856,857,858,861,862,865],{},"Set ",[30,859,860],{},"ttlSecondsAfterFinished"," on Jobs. Without it, completed Job pods accumulate\nindefinitely and eventually make ",[30,863,864],{},"kubectl get pods"," unusable.",[314,867,316],{},{"title":40,"searchDepth":73,"depth":73,"links":869},[870,871,872],{"id":688,"depth":62,"text":689},{"id":698,"depth":62,"text":699},{"id":721,"depth":62,"text":722},"Deployment, StatefulSet, DaemonSet and Job — what each one actually guarantees.",{},"\u002Flearn\u002Fen\u002Fcourses\u002Fpods\u002Fcontrollers",{"title":589,"description":873},"learn\u002Fen\u002Fcourses\u002Fpods\u002F02.controllers","VSCelnVYA4VGJd0fBOn99YCc4llCWJ8uDyfJB4DOFKM",{"id":333,"title":334,"access":6,"body":880,"description":339,"draft":327,"estimatedMinutes":340,"extension":323,"featured":327,"icon":341,"lang":324,"level":342,"meta":884,"navigation":326,"order":47,"path":344,"prerequisites":885,"resources":886,"seo":888,"sku":352,"stem":353,"subjects":889,"summary":356,"tags":890,"updated":362,"__hash__":363},{"type":8,"value":881,"toc":882},[],{"title":40,"searchDepth":73,"depth":73,"links":883},[],{},[],[887],{"label":348,"file":349,"access":6,"size":350},{"title":334,"description":339},[355],[358,359,360,361],{"left":892,"top":892,"width":893,"height":893,"rotate":892,"vFlip":327,"hFlip":327,"body":894},0,24,"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m6 9l6 6l6-6\"\u002F>",{"left":892,"top":892,"width":893,"height":893,"rotate":892,"vFlip":327,"hFlip":327,"body":896},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"m21 21l-4.34-4.34\"\u002F>\u003Ccircle cx=\"11\" cy=\"11\" r=\"8\"\u002F>\u003C\u002Fg>",{"left":892,"top":892,"width":893,"height":893,"rotate":892,"vFlip":327,"hFlip":327,"body":898},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"4\"\u002F>\u003Cpath d=\"M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32l1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41\"\u002F>\u003C\u002Fg>",{"left":892,"top":892,"width":893,"height":893,"rotate":892,"vFlip":327,"hFlip":327,"body":900},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\"\u002F>",{"left":892,"top":892,"width":893,"height":893,"rotate":892,"vFlip":327,"hFlip":327,"body":902},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 5h16M4 12h16M4 19h16\"\u002F>",{"left":892,"top":892,"width":893,"height":893,"rotate":892,"vFlip":327,"hFlip":327,"body":904},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\"\u002F>\u003Cpath d=\"M9 3v18\"\u002F>\u003C\u002Fg>",{"left":892,"top":892,"width":893,"height":893,"rotate":892,"vFlip":327,"hFlip":327,"body":906},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m9 18l6-6l-6-6\"\u002F>",{"left":892,"top":892,"width":893,"height":893,"rotate":892,"vFlip":327,"hFlip":327,"body":908},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 12h14m-7-7l7 7l-7 7\"\u002F>",{"left":892,"top":892,"width":893,"height":893,"rotate":892,"vFlip":327,"hFlip":327,"body":910},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"m15 10l5 5l-5 5\"\u002F>\u003Cpath d=\"M4 4v7a4 4 0 0 0 4 4h12\"\u002F>\u003C\u002Fg>",{"left":892,"top":892,"width":893,"height":893,"rotate":892,"vFlip":327,"hFlip":327,"body":912},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"m22 7l-8.991 5.727a2 2 0 0 1-2.009 0L2 7\"\u002F>\u003Crect width=\"20\" height=\"16\" x=\"2\" y=\"4\" rx=\"2\"\u002F>\u003C\u002Fg>",{"left":892,"top":892,"width":893,"height":893,"rotate":892,"vFlip":327,"hFlip":327,"body":914},"\u003Cpath fill=\"currentColor\" d=\"M14.234 10.162L22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299l-.929-1.329L3.076 1.56h3.182l5.965 8.532l.929 1.329l7.754 11.09h-3.182z\"\u002F>",{"left":892,"top":892,"width":893,"height":893,"rotate":892,"vFlip":327,"hFlip":327,"body":916,"hidden":326},"\u003Cpath fill=\"currentColor\" d=\"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037c-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85c3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.06 2.06 0 0 1-2.063-2.065a2.064 2.064 0 1 1 2.063 2.065m1.782 13.019H3.555V9h3.564zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0z\"\u002F>",{"left":892,"top":892,"width":893,"height":893,"rotate":892,"vFlip":327,"hFlip":327,"body":918},"\u003Cpath fill=\"currentColor\" d=\"M12 24C5.385 24 0 18.615 0 12S5.385 0 12 0s12 5.385 12 12s-5.385 12-12 12m10.12-10.358c-.35-.11-3.17-.953-6.384-.438c1.34 3.684 1.887 6.684 1.992 7.308a10.28 10.28 0 0 0 4.395-6.87zm-6.115 7.808c-.153-.9-.75-4.032-2.19-7.77l-.066.02c-5.79 2.015-7.86 6.025-8.04 6.4a10.16 10.16 0 0 0 6.29 2.166c1.42 0 2.77-.29 4-.814zm-11.62-2.58c.232-.4 3.045-5.055 8.332-6.765q.202-.067.405-.12q-.392-.879-.832-1.74C7.17 11.775 2.206 11.71 1.756 11.7l-.004.312c0 2.633.998 5.037 2.634 6.855zm-2.42-8.955c.46.008 4.683.026 9.477-1.248a66 66 0 0 0-3.8-5.928a10.28 10.28 0 0 0-5.676 7.17zM9.6 2.052c.282.38 2.145 2.914 3.822 6c3.645-1.365 5.19-3.44 5.373-3.702A10.2 10.2 0 0 0 12 1.764c-.825 0-1.63.1-2.4.285zm10.335 3.483c-.218.29-1.935 2.493-5.724 4.04c.24.49.47.985.68 1.486c.08.18.15.36.22.53c3.41-.43 6.8.26 7.14.33c-.02-2.42-.88-4.64-2.31-6.38z\"\u002F>",{"left":892,"top":892,"width":893,"height":893,"rotate":892,"vFlip":327,"hFlip":327,"body":920},"\u003Cpath fill=\"currentColor\" d=\"M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12\"\u002F>",{"left":892,"top":892,"width":893,"height":893,"rotate":892,"vFlip":327,"hFlip":327,"body":922},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M10 22V7a1 1 0 0 0-1-1H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5a1 1 0 0 0-1-1H2\"\u002F>\u003Crect width=\"8\" height=\"8\" x=\"14\" y=\"2\" rx=\"1\"\u002F>\u003C\u002Fg>",{"left":892,"top":892,"width":893,"height":893,"rotate":892,"vFlip":327,"hFlip":327,"body":924},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6\"\u002F>\u003Crect width=\"12\" height=\"8\" x=\"6\" y=\"14\" rx=\"1\"\u002F>\u003C\u002Fg>",{"left":892,"top":892,"width":893,"height":893,"rotate":892,"vFlip":327,"hFlip":327,"body":926},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0zM22 10v6\"\u002F>\u003Cpath d=\"M6 12.5V16a6 3 0 0 0 12 0v-3.5\"\u002F>\u003C\u002Fg>",{"left":892,"top":892,"width":893,"height":893,"rotate":892,"vFlip":327,"hFlip":327,"body":928},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M10 2v8l3-3l3 3V2\"\u002F>\u003Cpath d=\"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20\"\u002F>\u003C\u002Fg>",{"left":892,"top":892,"width":893,"height":893,"rotate":892,"vFlip":327,"hFlip":327,"body":930},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4M2 6h4m-4 4h4m-4 4h4m-4 4h4\"\u002F>\u003Cpath d=\"M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z\"\u002F>\u003C\u002Fg>",1787597895634]