{"id":12707,"date":"2026-10-20T08:01:00","date_gmt":"2026-10-20T06:01:00","guid":{"rendered":"https:\/\/iocharts.io\/blog\/?p=12707"},"modified":"2026-10-21T20:20:21","modified_gmt":"2026-10-21T18:20:21","slug":"inflaciokalkulator-ennyit-buksz-lathatatlanul","status":"publish","type":"post","link":"https:\/\/iocharts.io\/blog\/inflaciokalkulator-ennyit-buksz-lathatatlanul\/","title":{"rendered":"Infl\u00e1ci\u00f3kalkul\u00e1tor: ennyit buksz l\u00e1thatatlanul","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">R\u00e9g\u00f3ta tervezem, hogy csin\u00e1ljak egy infl\u00e1ci\u00f3kalkul\u00e1tor jelleg\u0171 megold\u00e1st, amivel kisz\u00e1molhatod, hogyan eszi meg a vagyonodat a l\u00e1thatatlan hozamgyilkos. Az\u00e9rt kell neked is a befektet\u00e9sekkel foglalkoznod, mert ha nem csin\u00e1lsz semmit, akkor is megeszi az infl\u00e1ci\u00f3 a vagyonodat, csak l\u00e1thatatlanul. De mit is jelent az, hogy infl\u00e1ci\u00f3, \u00e9s mi\u00e9rt kell infl\u00e1ci\u00f3kalkul\u00e1tort neked is haszn\u00e1lnod?<\/p>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\">\ud83d\udd22<strong>Csak a kalkul\u00e1tor \u00e9rdekel? Akkor ugorj k\u00f6zvetlen\u00fcl oda a link megnyom\u00e1s\u00e1val: <a href=\"#inflaciokalkulator\">infl\u00e1ci\u00f3kalkul\u00e1tor<\/a>.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Mi az infl\u00e1ci\u00f3?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Az infl\u00e1ci\u00f3 az \u00e1rak \u00e1ltal\u00e1nos \u00e9s tart\u00f3s emelked\u00e9se:<\/strong> nem egy-egy term\u00e9k dr\u00e1gul\u00e1sa, hanem az, hogy a gazdas\u00e1gban az \u00e1ruk \u00e9s szolg\u00e1ltat\u00e1sok \u00e1tlagos \u00e1rszintje folyamatosan n\u0151. Ennek a m\u00e1sik oldala a p\u00e9nz v\u00e1s\u00e1rl\u00f3erej\u00e9nek cs\u00f6kken\u00e9se: <strong>ugyanannyi forint\u00e9rt id\u0151vel egyre kevesebbet v\u00e1s\u00e1rolhatsz, vagyis a p\u00e9nz a p\u00e9nzt\u00e1rc\u00e1dban vagy a banksz\u00e1ml\u00e1don akkor is vesz\u00edt az \u00e9rt\u00e9k\u00e9b\u0151l, ha az \u00f6sszege l\u00e1tsz\u00f3lag nem v\u00e1ltozik.<\/strong> <\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">\ud83d\udca1Magyarorsz\u00e1gon az infl\u00e1ci\u00f3t a K\u00f6zponti Statisztikai Hivatal (KSH) m\u00e9ri a fogyaszt\u00f3i\u00e1r-indexszel, amely egy \u00e1tlagos h\u00e1ztart\u00e1s v\u00e1s\u00e1rl\u00e1sait t\u00fckr\u00f6z\u0151 fogyaszt\u00f3i kos\u00e1r \u00e1rv\u00e1ltoz\u00e1s\u00e1t k\u00f6veti havonta \u00e9s \u00e9vente. <\/mark><\/strong><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ha p\u00e9ld\u00e1ul az \u00e9ves infl\u00e1ci\u00f3 4.4%, az azt jelenti, hogy ami\u00e9rt tavaly 100 000 forintot fizett\u00e9l, az\u00e9rt id\u00e9n \u00e1tlagosan 104 400 Ft-ot kell fizetni. Ha matematikai oldalr\u00f3l akarod megk\u00f6zel\u00edteni a dolgot, akkor a mai X-et meg kell szoroznod 1+infl\u00e1ci\u00f3 m\u00e9rt\u00e9k\u00e9vel, akkor kapod meg a j\u00f6v\u0151 \u00e9vi \u00e9rt\u00e9k\u00e9t, a fenti p\u00e9ld\u00e1val \u00e9lve: 100 000 Ft*1,044=104 400 Ft lesz.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"836\" height=\"470\" data-src=\"https:\/\/iocharts.io\/blog\/wp-content\/smush-webp\/inflaciokalkulator-001.jpg.webp\" alt=\"arra is j\u00f3 az infl\u00e1ci\u00f3kalkul\u00e1tor, hogy megmutatja, mennyivel cs\u00f6kkent a v\u00e1s\u00e1rl\u00f3er\u0151d egy b\u00e1zis\u00e9vhez k\u00e9pest\" class=\"wp-image-12729 lazyload\" data-srcset=\"https:\/\/iocharts.io\/blog\/wp-content\/smush-webp\/inflaciokalkulator-001.jpg.webp 836w, https:\/\/iocharts.io\/blog\/wp-content\/uploads\/inflaciokalkulator-001-767x431.jpg 767w, https:\/\/iocharts.io\/blog\/wp-content\/uploads\/inflaciokalkulator-001-414x233.jpg 414w\" data-sizes=\"(max-width: 836px) 100vw, 836px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 836px; --smush-placeholder-aspect-ratio: 836\/470;\" \/><figcaption class=\"wp-element-caption\">forr\u00e1s: ChatGPT, arra is j\u00f3 az infl\u00e1ci\u00f3kalkul\u00e1tor, hogy megmutatja, mennyivel cs\u00f6kkent a v\u00e1s\u00e1rl\u00f3er\u0151d egy b\u00e1zis\u00e9vhez k\u00e9pest<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Ez a gyakorlatban azt jelenti, hogy hi\u00e1ba nem v\u00e1ltozik \u00f6sszegszer\u0171en a megtakar\u00edt\u00e1sod, a val\u00f3s\u00e1gban a v\u00e1s\u00e1rl\u00f3ereje cs\u00f6kken, kiv\u00e9ve, ha azt befekteted. Itt pedig meg kell ismerkedned m\u00e9g k\u00e9t fogalommal, a nomin\u00e1lis \u00e9s a re\u00e1lhozammal.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Mi a nomin\u00e1lis \u00e9s a re\u00e1lhozam?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A nomin\u00e1lis hozam az a sz\u00e1m, amit a banksz\u00e1mlakivonatodon, a befektet\u00e9si alapod t\u00e1j\u00e9koztat\u00f3j\u00e1ban vagy a r\u00e9szv\u00e9nyportf\u00f3li\u00f3dban l\u00e1tsz: ennyivel n\u0151tt a p\u00e9nzed forintban. <\/strong>Ha 1 000 000 Ft-od egy \u00e9v alatt 1 070 000-re gyarap\u00edtod, a nomin\u00e1lis hozamod 7%. Ez a sz\u00e1m viszont semmit nem mond arr\u00f3l, hogy a megn\u00f6vekedett mennyis\u00e9g\u0171 p\u00e9nzed\u00e9rt t\u00f6bbet is tudsz-e venni. <\/p>\n\n\n\n<figure class=\"wp-block-embed aligncenter is-type-wp-embed is-provider-io-charts wp-block-embed-io-charts\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"veeilcfPQf\"><a href=\"https:\/\/iocharts.io\/blog\/autobefektetes-mitosz-vagy-valosag-i-resz\/\">Aut\u00f3befektet\u00e9s: m\u00edtosz vagy val\u00f3s\u00e1g? I. r\u00e9sz<\/a><\/blockquote><iframe class=\"wp-embedded-content lazyload\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"\u201cAut\u00f3befektet\u00e9s: m\u00edtosz vagy val\u00f3s\u00e1g? I. r\u00e9sz\u201d \u2014 iO Charts\" data-src=\"https:\/\/iocharts.io\/blog\/autobefektetes-mitosz-vagy-valosag-i-resz\/embed\/#?secret=Qwjeat7nJE#?secret=veeilcfPQf\" data-secret=\"veeilcfPQf\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" data-load-mode=\"1\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Erre a re\u00e1lhozam ad v\u00e1laszt:<\/strong> azt mutatja meg, mennyivel n\u0151tt a p\u00e9nzed v\u00e1s\u00e1rl\u00f3ereje, vagyis a nomin\u00e1lis hozamot az infl\u00e1ci\u00f3val korrig\u00e1lja. Pontosan \u00edgy sz\u00e1molhatod ki: re\u00e1lhozam = (1 + nomin\u00e1lis hozam) \/ (1 + infl\u00e1ci\u00f3) \u2212 1. Durva becsl\u00e9snek el\u00e9g, ha a kett\u0151t kivonod egym\u00e1sb\u00f3l, de magas infl\u00e1ci\u00f3n\u00e1l a pontos k\u00e9plet \u00e9rezhet\u0151en elt\u00e9r ett\u0151l. Ez\u00e9rt j\u00f3 az infl\u00e1ci\u00f3kalkul\u00e1tor: kisz\u00e1molja helyetted pontosan, hogy mennyivel cs\u00f6kkent vagy n\u0151tt (ha defl\u00e1ci\u00f3 volt) a v\u00e1s\u00e1rl\u00f3er\u0151d. A nomin\u00e1lis \u00e9s a re\u00e1lhozam k\u00f6z\u00f6tti k\u00fcl\u00f6nbs\u00e9get legut\u00f3bb az aut\u00f3befektet\u00e9s kapcs\u00e1n haszn\u00e1ltam, \u00e9rdemes azt a cikket is elolvasnod.<\/p>\n\n\n\n<figure class=\"wp-block-embed aligncenter is-type-wp-embed is-provider-io-charts wp-block-embed-io-charts\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"Qa1pfEivA1\"><a href=\"https:\/\/iocharts.io\/blog\/veteranauto-mint-befektetes-mitosz-vagy-valosag-ii-resz\/\">Veter\u00e1naut\u00f3 mint befektet\u00e9s: m\u00edtosz vagy val\u00f3s\u00e1g? II. r\u00e9sz<\/a><\/blockquote><iframe class=\"wp-embedded-content lazyload\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"\u201cVeter\u00e1naut\u00f3 mint befektet\u00e9s: m\u00edtosz vagy val\u00f3s\u00e1g? II. r\u00e9sz\u201d \u2014 iO Charts\" data-src=\"https:\/\/iocharts.io\/blog\/veteranauto-mint-befektetes-mitosz-vagy-valosag-ii-resz\/embed\/#?secret=JKXl2MpdzA#?secret=Qa1pfEivA1\" data-secret=\"Qa1pfEivA1\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" data-load-mode=\"1\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Az infl\u00e1ci\u00f3 szerepe ez\u00e9rt d\u00f6nt\u0151: a magas nomin\u00e1lis hozam is lehet val\u00f3j\u00e1ban vesztes\u00e9g. <\/strong>2023-ban p\u00e9ld\u00e1ul Magyarorsz\u00e1gon 17.6% volt az \u00e9ves infl\u00e1ci\u00f3, \u00edgy ha egy 10%-os hozam\u00fa megtakar\u00edt\u00e1sban tartottad a p\u00e9nzed, nomin\u00e1lisan gyarapodt\u00e1l, re\u00e1l\u00e9rt\u00e9ken viszont kb. 6.5%-ot vesz\u00edtett\u00e9l: (1.10 \/ 1.176) \u2212 1 \u2248 \u22126.5%. Ford\u00edtva, 2025-ben 4.4%-os infl\u00e1ci\u00f3 mellett egy 7%-os nomin\u00e1lis hozam kb. 2.5%-os re\u00e1lhozamot jelentett neked: (1.07 \/ 1.044) \u2212 1 \u2248 2.5%.<strong> Befektet\u0151k\u00e9nt teh\u00e1t mindig a re\u00e1lhozamot figyeld, hiszen az a k\u00e9rd\u00e9s, hogy a p\u00e9nzed t\u00f6bbet \u00e9r-e, nem az, hogy t\u00f6bb forintod van-e. <\/strong><\/p>\n\n\n\n<figure class=\"wp-block-embed aligncenter is-type-wp-embed is-provider-io-charts wp-block-embed-io-charts\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"DmYWcV76Op\"><a href=\"https:\/\/iocharts.io\/blog\/mibe-fektessem-az-allampapirok-kamatat-2025-ben\/\">Hova tegyem az \u00e1llampap\u00edr kamat\u00e1t 2025-ben?<\/a><\/blockquote><iframe class=\"wp-embedded-content lazyload\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"\u201cHova tegyem az \u00e1llampap\u00edr kamat\u00e1t 2025-ben?\u201d \u2014 iO Charts\" data-src=\"https:\/\/iocharts.io\/blog\/mibe-fektessem-az-allampapirok-kamatat-2025-ben\/embed\/#?secret=bN2UZ12cUs#?secret=DmYWcV76Op\" data-secret=\"DmYWcV76Op\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" data-load-mode=\"1\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">A gyakorlatban ezt m\u00e9g az ad\u00f3k \u00e9s a k\u00f6lts\u00e9gek is cs\u00f6kkentik, \u00edgy a val\u00f3di, a zsebedben marad\u00f3 re\u00e1lhozam \u00e1ltal\u00e1ban alacsonyabb, mint amit els\u0151 r\u00e1n\u00e9z\u00e9sre l\u00e1tsz. Ez\u00e9rt volt \u00e9rdemes az elm\u00falt \u00e9vekben magyar \u00e1llampap\u00edrba fektetned, mert ez jelent\u0151sen kompenz\u00e1lta az infl\u00e1ci\u00f3kalkul\u00e1tor \u00e1ltal is ki\u00edrt infl\u00e1ci\u00f3s vesztes\u00e9get.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">\ud83e\udd14Ha a t\u00f6bbi kalkul\u00e1tort is szeretn\u00e9d kipr\u00f3b\u00e1lni, nyomj erre a linkre: <a href=\"https:\/\/iocharts.io\/blog\/category\/kalkulatorok\/\" target=\"_blank\" rel=\"noreferrer noopener\">iO Charts kalkul\u00e1torok<\/a>.<\/mark><\/strong><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u00cdgy m\u0171k\u00f6dik az infl\u00e1ci\u00f3kalkul\u00e1tor!<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Az infl\u00e1ci\u00f3kalkul\u00e1tor megmutatja, mennyit \u00e9r egy p\u00e9nz\u00f6sszeg egy m\u00e1sik \u00e9v \u00e1raira \u00e1tsz\u00e1molva. Magyarorsz\u00e1gra a KSH hivatalos fogyaszt\u00f3i\u00e1r-index\u00e9vel sz\u00e1mol 1989-t\u0151l napjainkig, emellett az EU-\u00e1tlagra, a t\u00f6bbi uni\u00f3s tag\u00e1llamra \u00e9s az USA-ra is, a k\u00f6vetkez\u0151 \u00e9vekre pedig az \u00e1ltalad megadott v\u00e1rhat\u00f3 infl\u00e1ci\u00f3val kalkul\u00e1l. \u00cdgy a m\u00faltba \u00e9s a j\u00f6v\u0151be is tekinthetsz vele, \u00e9s azt is megn\u00e9zheted, hogyan alakult az infl\u00e1ci\u00f3 m\u00e1s orsz\u00e1gokban.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u00cdgy haszn\u00e1ld:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\ud83c\udf0d <strong>Orsz\u00e1g \/ r\u00e9gi\u00f3:<\/strong> alapb\u00f3l Magyarorsz\u00e1g van kiv\u00e1lasztva, de \u00e1tv\u00e1lthatsz az EU-\u00e1tlagra, b\u00e1rmelyik uni\u00f3s tag\u00e1llamra vagy az USA-ra. A kalkul\u00e1tor ilyenkor az adott orsz\u00e1g p\u00e9nznem\u00e9ben sz\u00e1mol (eur\u00f3, doll\u00e1r, korona, zloty stb.), \u00e9s onnan ind\u00edtja az \u00e9veket, ahonnan val\u00f3s adat \u00e1ll rendelkez\u00e9sre: a legt\u00f6bb tag\u00e1llamn\u00e1l 1996-t\u00f3l, az EU-\u00e1tlagn\u00e1l 2000-t\u0151l, az USA-n\u00e1l 1989-t\u0151l.<\/li>\n\n\n\n<li>\ud83d\udd04 <strong>Ir\u00e1nyv\u00e1lt\u00f3:<\/strong> a \u201eR\u00e9gi p\u00e9nz \u2192 mai \u00e9rt\u00e9k\u201d \u00e1ll\u00e1sban azt l\u00e1tod, mennyit \u00e9rne ma egy r\u00e9gebbi p\u00e9nz\u00f6sszeg, p\u00e9ld\u00e1ul mennyibe ker\u00fclne most az, amit 2010-ben 100 000 forint\u00e9rt vett\u00e9l. A \u201eMai p\u00e9nz \u2192 r\u00e9gi \u00e9rt\u00e9k\u201d \u00e1ll\u00e1sban ford\u00edtva l\u00e1tod a t\u00f6rt\u00e9n\u00e9seket: megtudod, mennyit \u00e9rt volna a mai p\u00e9nzed egy kor\u00e1bbi \u00e9vben.<\/li>\n\n\n\n<li>\ud83d\udcc5 <strong>\u00d6sszeg \u00e9s \u00e9vek:<\/strong> add meg az \u00f6sszeget, \u00e9s v\u00e1laszd ki a k\u00e9t \u00e9vet. A +\/\u2212 gombokkal \u00e9venk\u00e9nt l\u00e9ptethetsz, \u00edgy gyorsan v\u00e9gigk\u00f6vetheted, hogyan v\u00e1ltozik az eredm\u00e9ny.<\/li>\n\n\n\n<li>\ud83d\udd2e <strong>V\u00e1rhat\u00f3 \u00e1tlagos infl\u00e1ci\u00f3:<\/strong> ha a v\u00e1lasztott id\u0151szak a j\u00f6v\u0151be mutat, a m\u00e9g nem ismert \u00e9vekre ezzel a r\u00e1t\u00e1val sz\u00e1mol a kalkul\u00e1tor. Alap\u00e9rt\u00e9ke a v\u00e1lasztott orsz\u00e1g jegybankj\u00e1nak infl\u00e1ci\u00f3s c\u00e9lja, Magyarorsz\u00e1gon az MNB 3%-os c\u00e9lja, az eur\u00f3\u00f6vezetben \u00e9s az USA-ban 2%, de b\u00e1rmire \u00e1t\u00edrhatod, amire szeretn\u00e9d. A becs\u00fclt \u00e9veket a grafikonon halv\u00e1ny s\u00e1v \u00e9s szaggatott vonal jel\u00f6li.<\/li>\n\n\n\n<li>\ud83d\udcb0 <strong>Eredm\u00e9nyek:<\/strong> a k\u00e1rty\u00e1kon l\u00e1tod az \u00f6sszeg megfelel\u0151j\u00e9t a m\u00e1sik \u00e9v \u00e1rain, a teljes \u00e1remelked\u00e9st \u00e9s az id\u0151szak \u00e1tlagos \u00e9ves infl\u00e1ci\u00f3j\u00e1t. Alattuk egy mondatban, emberi nyelven is megkapod az eredm\u00e9nyt.<\/li>\n\n\n\n<li>\ud83d\udd17 <strong>Megoszt\u00e1s:<\/strong> az \u201eEredm\u00e9ny megoszt\u00e1sa\u201d gombbal egy linket m\u00e1solhatsz, amely pontosan a be\u00e1ll\u00edtott orsz\u00e1ggal, \u00f6sszeggel \u00e9s \u00e9vekkel nyitja meg a kalkul\u00e1tort. <strong>A linket elmentve a be\u00e1ll\u00edt\u00e1said is megmaradnak.<\/strong><\/li>\n\n\n\n<li>\ud83d\udcc8 <strong>Grafikon:<\/strong> \u00e9vr\u0151l \u00e9vre megmutatja, hogyan v\u00e1ltozott a p\u00e9nz\u00f6sszeg \u00e9rt\u00e9ke (vonal), \u00e9s mekkora volt az adott \u00e9vi infl\u00e1ci\u00f3 (oszlopok). A PNG-let\u00f6lt\u00e9ssel k\u00e9pk\u00e9nt is elmentheted a grafikont.<\/li>\n\n\n\n<li>\ud83d\udcca <strong>\u00c9venk\u00e9nti t\u00e1bl\u00e1zat:<\/strong> minden \u00e9vre l\u00e1tod az infl\u00e1ci\u00f3t, az \u00f6sszeg \u00e9rt\u00e9k\u00e9t, a halmozott \u00e1remelked\u00e9st \u00e9s az \u00e1rindexet. CSV-k\u00e9nt let\u00f6ltheted, \u00e9s Excelben tov\u00e1bb sz\u00e1molhatsz vele.<\/li>\n\n\n\n<li>\u2696\ufe0f <strong>Orsz\u00e1gok \u00f6sszevet\u00e9se:<\/strong> legfeljebb n\u00e9gy orsz\u00e1got v\u00e1laszthatsz, \u00e9s a grafikon a k\u00f6z\u00f6s id\u0151szakban mutatja az \u00e1rszint alakul\u00e1s\u00e1t, a kezd\u0151\u00e9vet 100-nak v\u00e9ve. \u00cdgy a p\u00e9nznemt\u0151l f\u00fcggetlen\u00fcl l\u00e1tszik, hol dr\u00e1gult gyorsabban az \u00e9let: 2000 \u00e9s 2024 k\u00f6z\u00f6tt p\u00e9ld\u00e1ul Magyarorsz\u00e1gon az \u00e1rszint kb. 3.2-szeres\u00e9re n\u0151tt, az EU-\u00e1tlagban kb. 1.8-szoros\u00e1ra.<\/li>\n\n\n\n<li>\u2699\ufe0f <strong>R\u00e9szletes be\u00e1ll\u00edt\u00e1sok:<\/strong> itt a val\u00f3s adatok helyett saj\u00e1t, \u00e1lland\u00f3 r\u00e1t\u00e1val is sz\u00e1molhatsz minden \u00e9vre. \u00cdgy kipr\u00f3b\u00e1lhatod, mi lett volna akkor, ha az infl\u00e1ci\u00f3 minden \u00e9vben 5% lett volna. A kalkul\u00e1tor mell\u00e9 ki\u00edrja azt is, mennyi lett volna az eredm\u00e9ny a val\u00f3s adatokkal.<\/li>\n<\/ul>\n\n\n\n<pre id=\"inflaciokalkulator\" class=\"wp-block-preformatted\">\ud83d\udc46<strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">Fontos: a kalkul\u00e1tor az orsz\u00e1gos \u00e1tlagos \u00e1rszinttel sz\u00e1mol. A saj\u00e1t kiad\u00e1said szerkezete ett\u0151l elt\u00e9rhet, ez\u00e9rt a szem\u00e9lyes infl\u00e1ci\u00f3d lehet enn\u00e9l magasabb vagy alacsonyabb is.<\/mark><\/strong><\/pre>\n\n\n\n<!-- Infl\u00e1ci\u00f3kalkul\u00e1tor: a k\u00f3d a WPCode-ban (IOC \u2013 Infl\u00e1ci\u00f3kalkul\u00e1tor), az al\u00e1bbi [wpcode id=\"12710\"] shortcode t\u00f6lti be -->\n<!-- ============================================================\r\n     INFL\u00c1CI\u00d3KALKUL\u00c1TOR \u2013 iO Charts (WPCode-v\u00e1ltozat)\r\n     VERZI\u00d3: 1.1 (2026-10-20)\r\n     ------------------------------------------------------------\r\n     V\u00c1LTOZ\u00c1SOK\r\n       1.1 (2026-10-20) Hamis orsz\u00e1gk\u00f3d a linkben nem akasztja ki;\r\n           \u00f6sszeg legfeljebb 100 milli\u00e1rd; a r\u00e1ta-mez\u0151k g\u00e9pel\u00e9s k\u00f6zben\r\n           sz\u0171rnek (\u221210\u202650%, a hat\u00e1r is \u00e9rv\u00e9nyes); hib\u00e1s bemenetn\u00e9l\r\n           elt\u0171nik a r\u00e9gi eredm\u00e9ny; hossz\u00fa sz\u00e1mok nem t\u00f6rnek sz\u00e9t;\r\n           \u00e9l\u0151 adat szigor\u00fabb ellen\u0151rz\u00e9se; jav\u00edtott fejl\u00e9c.\r\n       1.0 (2026-10-19) Els\u0151 publik\u00e1lt v\u00e1ltozat.\r\n     ------------------------------------------------------------\r\n     HOVA KER\u00dcL?\r\n       1. Ez a k\u00f3d: WPCode \u2192 Code Snippets \u2192 \"IOC \u2013 Infl\u00e1ci\u00f3kalkul\u00e1tor\",\r\n          Code Type: HTML Snippet, Insert Method: Shortcode\r\n          ([wpcode id=\"12710\"]). Active.\r\n       2. A cikk Egy\u00e9ni HTML blokkj\u00e1ba:\r\n            [wpcode id=\"12710\"]\r\n            <ioc-inflacio><\/ioc-inflacio>\r\n\r\n     MI\u00c9RT \u00cdGY?\r\n       A cikkbe k\u00f6zvetlen\u00fcl tett szkriptet a WordPress tartalomsz\u0171r\u0151je\r\n       elrontja (pl. a && jelekb\u0151l &#038;&#038; lesz); a shortcode\r\n       kimenet\u00e9t viszont nem alak\u00edtja \u00e1t. A shortcode miatt a k\u00f3d csak\r\n       ebben a cikkben t\u00f6lt\u0151dik be, a blog t\u00f6bbi oldal\u00e1t nem lass\u00edtja.\r\n       A Chart.js is csak ott t\u00f6lt\u0151dik le, ahol van <ioc-inflacio> elem.\r\n\r\n     A kalkul\u00e1tor Shadow DOM-ban fut (\"\u00fcvegfal\u00fa t\u00e1rgyal\u00f3\"):\r\n     a WP-t\u00e9ma st\u00edlusai nem hatnak r\u00e1, \u00e9s az \u0151 st\u00edlusa sem\r\n     sziv\u00e1rog ki a cikkbe. A bet\u0171t\u00edpust a blogt\u00f3l \u00f6r\u00f6kli.\r\n\r\n     M\u0171k\u00f6d\u00e9s: egyetlen id\u0151vonal 1989-t\u0151l a mai \u00e9vet k\u00f6vet\u0151\r\n     40. \u00e9vig. Ahol van KSH-adat, azzal sz\u00e1mol; a mai d\u00e1tumot\r\n     k\u00f6vet\u0151 \u00e9vt\u0151l (\u00e9s ahol m\u00e9g nincs adat) a felhaszn\u00e1l\u00f3 \u00e1ltal\r\n     megadott \u00e1tlagos infl\u00e1ci\u00f3val.\r\n\r\n     Orsz\u00e1gok \u00e9s adatforr\u00e1sok (r\u00e9szletesen az \"1. ADATOK\" r\u00e9szn\u00e9l):\r\n       - Magyarorsz\u00e1g: KSH fogyaszt\u00f3i\u00e1r-index, 1989-t\u0151l, Ft\r\n       - EU-\u00e1tlag \u00e9s 26 tag\u00e1llam: Eurostat HICP, 1996\/2000-t\u0151l\r\n       - USA: Vil\u00e1gbank (FP.CPI.TOTL.ZG), 1989-t\u0151l, USD\r\n     Egy oldalon egy infl\u00e1ci\u00f3kalkul\u00e1tor legyen.\r\n\r\n     Friss\u00edt\u00e9s: \u00e9vente egyszer az \"1. ADATOK\" r\u00e9sz adatsorait kell\r\n     b\u0151v\u00edteni (KSH, Eurostat, Vil\u00e1gbank; a lek\u00e9rdez\u0151 linkek ott vannak).\r\n     ============================================================ -->\r\n\r\n<script>\r\n(function () {\r\n  'use strict';\r\n\r\n  \/* ==========================================================\r\n     1. ADATOK\r\n     ----------------------------------------------------------\r\n     Minden adatsor: \u00e9ves \u00e1tlagos infl\u00e1ci\u00f3 az el\u0151z\u0151 \u00e9vhez k\u00e9pest,\r\n     sz\u00e1zal\u00e9kban (pl. 4.4 = 4.4%-os dr\u00e1gul\u00e1s). Az els\u0151 adat\u00e9v el\u0151tti\r\n     \u00e9v a kiindul\u00f3 \u00e9v (\u00e1rszint = 100).\r\n\r\n     MAGYARORSZ\u00c1G \u2013 KSH fogyaszt\u00f3i\u00e1r-index (el\u0151z\u0151 \u00e9v = 100)\r\n       - 1990\u20132005: KSH, Fogyaszt\u00f3i\u00e1r-indexek 2005 kiadv\u00e1ny\r\n       - 2006\u20132009: KSH Magyar statisztikai \u00e9vk\u00f6nyvek\r\n       - 2010\u20132025: KSH STADAT 1.1.1.1 (ara0001.csv)\r\n       - 2026: KSH STADAT 1.2.1.1 (ara0039.csv), a janu\u00e1r\u2013szeptemberi\r\n               havi adatok (el\u0151z\u0151 \u00e9v azonos h\u00f3napja = 100) \u00e1tlaga,\r\n               ez\u00e9rt el\u0151zetes, \u00e9s a v\u00e9gleges \u00e9ves sz\u00e1m elt\u00e9rhet.\r\n     \u00c9vente janu\u00e1rban: az el\u0151z\u0151 \u00e9v v\u00e9gleges sz\u00e1m\u00e1t \u00edrd be,\r\n     \u00edrd be az \u00faj \u00e9v els\u0151 becsl\u00e9s\u00e9t, \u00e9s \u00e1ll\u00edtsd \u00e1t az\r\n     elozetesEv-et az \u00faj \u00e9vre (l\u00e1sd ORSZAGOK.HU).\r\n     HA FUT AZ \"IOC \u2013 Infl\u00e1ci\u00f3s adatok friss\u00edt\u00e9se\" PHP-SNIPPET, mindez\r\n     automatikus: a be\u00e9p\u00edtett sz\u00e1mok csak tartal\u00e9kk\u00e9nt kellenek, arra az\r\n     esetre, ha az \u00e9l\u0151 adat nem \u00e9rhet\u0151 el.\r\n     ========================================================== *\/\r\n  var KSH_ADATOK = {\r\n    1990: 28.9, 1991: 35.0, 1992: 23.0, 1993: 22.5, 1994: 18.8,\r\n    1995: 28.2, 1996: 23.6, 1997: 18.3, 1998: 14.3, 1999: 10.0,\r\n    2000: 9.8,  2001: 9.2,  2002: 5.3,  2003: 4.7,  2004: 6.8,\r\n    2005: 3.6,  2006: 3.9,  2007: 8.0,  2008: 6.1,  2009: 4.2,\r\n    2010: 4.9,  2011: 3.9,  2012: 5.7,  2013: 1.7,  2014: -0.2,\r\n    2015: -0.1, 2016: 0.4,  2017: 2.4,  2018: 2.8,  2019: 3.4,\r\n    2020: 3.3,  2021: 5.1,  2022: 14.5, 2023: 17.6, 2024: 3.7,\r\n    2025: 4.4,  2026: 1.7\r\n  };\r\n\r\n  \/* USA \u2013 Vil\u00e1gbank, FP.CPI.TOTL.ZG (Inflation, consumer prices, annual %).\r\n     A Vil\u00e1gbank forr\u00e1sa az IMF International Financial Statistics\r\n     adatb\u00e1zisa, amely az amerikai fogyaszt\u00f3i\u00e1r-indexet (BLS) k\u00f6zli.\r\n     https:\/\/api.worldbank.org\/v2\/country\/USA\/indicator\/FP.CPI.TOTL.ZG?format=json\r\n     Lek\u00e9rdezve: 2026. okt\u00f3ber (a Vil\u00e1gbank friss\u00edt\u00e9se: 2026.07.13.).\r\n     A 2025-\u00f6s adat m\u00e9g nem jelent meg, ez\u00e9rt 2025-t\u0151l becsl\u00e9s.\r\n     A magyar adatsorhoz igazodva 1989 a kiindul\u00f3 \u00e9v. *\/\r\n  var VILAGBANK_USA = {\r\n    1990: 5.398, 1991: 4.235, 1992: 3.029, 1993: 2.952, 1994: 2.607,\r\n    1995: 2.805, 1996: 2.931, 1997: 2.338, 1998: 1.552, 1999: 2.188,\r\n    2000: 3.377, 2001: 2.826, 2002: 1.586, 2003: 2.270, 2004: 2.677,\r\n    2005: 3.393, 2006: 3.226, 2007: 2.853, 2008: 3.839, 2009: -0.356,\r\n    2010: 1.640, 2011: 3.157, 2012: 2.069, 2013: 1.465, 2014: 1.622,\r\n    2015: 0.119, 2016: 1.262, 2017: 2.130, 2018: 2.443, 2019: 1.812,\r\n    2020: 1.234, 2021: 4.698, 2022: 8.003, 2023: 4.116, 2024: 2.950\r\n  };\r\n\r\n  \/* EU-\u00c1TLAG \u00c9S TAG\u00c1LLAMOK \u2013 Eurostat, prc_hicp_ainr adatb\u00e1zis\r\n     (HICP, ECOICOP ver.2, unit=RCH_A_AVG \"\u00e9ves \u00e1tlagos v\u00e1ltoz\u00e1s\",\r\n     coicop18=TOTAL \"\u00f6sszes t\u00e9tel\"). Az el\u0151z\u0151 prc_hicp_aind adatb\u00e1zist\r\n     az Eurostat megsz\u00fcntette, ez a hivatalos ut\u00f3dja.\r\n     https:\/\/ec.europa.eu\/eurostat\/api\/dissemination\/statistics\/1.0\/data\/prc_hicp_ainr?format=JSON&lang=en&unit=RCH_A_AVG&coicop18=TOTAL&geo=DE\r\n     Lek\u00e9rdezve: 2026. okt\u00f3ber (az Eurostat friss\u00edt\u00e9se: 2026.09.17.).\r\n     Az \u00e9ves v\u00e1ltoz\u00e1s a legt\u00f6bb tag\u00e1llamn\u00e1l 1997-t\u0151l \u00e9rhet\u0151 el, \u00edgy a\r\n     kiindul\u00f3 \u00e9v 1996; Bulg\u00e1ri\u00e1n\u00e1l \u00e9s Szlov\u00e1ki\u00e1n\u00e1l 1997, Horv\u00e1torsz\u00e1gn\u00e1l\r\n     1998, az EU-27 \u00e1tlag\u00e1n\u00e1l 2000.\r\n     Fel\u00e9p\u00edt\u00e9s: eurostat(n\u00e9v, p\u00e9nznem, eur\u00f3 bevezet\u00e9s\u00e9nek \u00e9ve vagy null,\r\n     els\u0151 adat\u00e9v, [\u00e9venk\u00e9nti \u00e9rt\u00e9kek az els\u0151 adat\u00e9vt\u0151l], jegybanki c\u00e9l,\r\n     a c\u00e9l gazd\u00e1ja). *\/\r\n  function eurostat(nev, penznem, euroEv, elsoAdatEv, ertekek, cel, celNev) {\r\n    var adat = {};\r\n    ertekek.forEach(function (v, i) { adat[elsoAdatEv + i] = v; });\r\n    return { nev: nev, penznem: penznem, euroEv: euroEv, adat: adat, cel: cel, celNev: celNev, forras: 'eurostat' };\r\n  }\r\n\r\n  var ORSZAGOK = {\r\n    HU: { nev: 'Magyarorsz\u00e1g', penznem: 'HUF', euroEv: null, adat: KSH_ADATOK, elozetesEv: 2026, cel: 3.0, celNev: 'az MNB', forras: 'ksh' },\r\n    US: { nev: 'USA', penznem: 'USD', euroEv: null, adat: VILAGBANK_USA, cel: 2.0, celNev: 'a Fed', forras: 'vilagbank' },\r\n    EU: eurostat('EU-\u00e1tlag (EU-27)', 'EUR', null, 2001, [3.6,2.8,2.3,2.5,2.3,2.3,2.4,3.7,0.8,1.8,2.9,2.6,1.3,0.4,0.1,0.2,1.7,1.8,1.4,0.7,2.9,9.2,6.4,2.6,2.5], 2.0, 'az EKB'),\r\n    AT: eurostat('Ausztria', 'EUR', 1999, 1997, [1.2,0.8,0.5,2.0,2.3,1.7,1.3,2.0,2.1,1.7,2.2,3.2,0.4,1.7,3.6,2.6,2.1,1.5,0.8,1.0,2.2,2.1,1.5,1.4,2.8,8.6,7.7,2.9,3.6], 2.0, 'az EKB'),\r\n    BE: eurostat('Belgium', 'EUR', 1999, 1997, [1.5,0.9,1.1,2.7,2.4,1.5,1.5,1.9,2.5,2.3,1.8,4.5,0.0,2.3,3.4,2.6,1.2,0.5,0.6,1.8,2.2,2.3,1.3,0.4,3.2,10.3,2.3,4.3,3.0], 2.0, 'az EKB'),\r\n    BG: eurostat('Bulg\u00e1ria', 'EUR', 2026, 1998, [18.7,2.6,10.3,7.4,5.8,2.3,6.1,6.0,7.4,7.6,12.0,2.5,3.0,3.4,2.4,0.4,-1.6,-1.1,-1.3,1.2,2.6,2.5,1.2,2.8,13.0,8.6,2.6,3.5], 2.0, 'az EKB'),\r\n    CY: eurostat('Ciprus', 'EUR', 2008, 1997, [3.3,2.3,1.1,4.9,2.0,2.8,4.0,1.9,2.0,2.2,2.2,4.4,0.2,2.6,3.5,3.1,0.4,-0.3,-1.5,-1.2,0.7,0.8,0.5,-1.1,2.3,8.1,3.9,2.3,0.8], 2.0, 'az EKB'),\r\n    CZ: eurostat('Csehorsz\u00e1g', 'CZK', null, 1997, [8.0,9.7,1.8,3.9,4.5,1.4,-0.1,2.6,1.6,2.0,2.9,6.3,0.6,1.2,2.2,3.5,1.4,0.4,0.3,0.7,2.5,1.9,2.6,3.3,3.3,14.8,12.0,2.7,2.3], 2.0, 'a Cseh Nemzeti Bank'),\r\n    DK: eurostat('D\u00e1nia', 'DKK', null, 1997, [1.9,1.3,2.0,2.7,2.3,2.4,2.0,0.9,1.7,1.9,1.7,3.6,1.1,2.2,2.7,2.4,0.5,0.3,0.2,0.0,1.1,0.7,0.7,0.3,1.9,8.6,3.4,1.3,1.8], 2.0, 'az EKB (a d\u00e1n korona az eur\u00f3hoz k\u00f6t\u00f6tt)'),\r\n    EE: eurostat('\u00c9sztorsz\u00e1g', 'EUR', 2011, 1997, [9.3,8.8,3.1,3.9,5.6,3.6,1.4,3.0,4.1,4.4,6.7,10.6,0.2,2.7,5.1,4.2,3.2,0.5,0.1,0.8,3.7,3.4,2.3,-0.6,4.5,19.4,9.1,3.7,4.8], 2.0, 'az EKB'),\r\n    FI: eurostat('Finnorsz\u00e1g', 'EUR', 1999, 1997, [1.2,1.4,1.3,3.0,2.7,2.0,1.3,0.1,0.8,1.3,1.6,3.9,1.6,1.7,3.3,3.2,2.2,1.2,-0.2,0.4,0.8,1.2,1.1,0.4,2.1,7.2,4.3,1.0,1.8], 2.0, 'az EKB'),\r\n    FR: eurostat('Franciaorsz\u00e1g', 'EUR', 1999, 1997, [1.3,0.7,0.6,1.8,1.8,1.9,2.2,2.3,1.9,1.9,1.6,3.2,0.1,1.7,2.3,2.2,1.0,0.6,0.1,0.3,1.2,2.1,1.3,0.5,2.1,5.9,5.7,2.3,0.9], 2.0, 'az EKB'),\r\n    EL: eurostat('G\u00f6r\u00f6gorsz\u00e1g', 'EUR', 2001, 1997, [5.4,4.5,2.1,2.9,3.6,3.9,3.5,3.0,3.5,3.3,3.0,4.2,1.3,4.7,3.1,1.0,-0.9,-1.4,-1.1,0.0,1.1,0.8,0.5,-1.3,0.6,9.3,4.2,3.0,2.9], 2.0, 'az EKB'),\r\n    NL: eurostat('Hollandia', 'EUR', 1999, 1997, [1.9,1.8,2.0,2.3,5.1,3.9,2.2,1.4,1.5,1.6,1.6,2.2,1.0,0.9,2.5,2.8,2.6,0.3,0.2,0.1,1.3,1.6,2.7,1.1,2.8,11.6,4.1,3.2,3.0], 2.0, 'az EKB'),\r\n    HR: eurostat('Horv\u00e1torsz\u00e1g', 'EUR', 2023, 1999, [3.7,4.4,4.3,2.5,2.4,2.1,3.0,3.3,2.7,5.8,2.2,1.1,2.2,3.4,2.3,0.2,-0.3,-0.6,1.3,1.6,0.8,0.0,2.7,10.7,8.4,4.0,4.4], 2.0, 'az EKB'),\r\n    IE: eurostat('\u00cdrorsz\u00e1g', 'EUR', 1999, 1997, [1.3,2.1,2.4,5.3,4.0,4.7,4.0,2.3,2.2,2.7,2.9,3.1,-1.7,-1.6,1.2,1.9,0.5,0.3,0.0,-0.2,0.3,0.7,0.9,-0.5,2.4,8.1,5.2,1.3,2.1], 2.0, 'az EKB'),\r\n    PL: eurostat('Lengyelorsz\u00e1g', 'PLN', null, 1997, [15.0,11.8,7.2,10.1,5.3,1.9,0.7,3.6,2.2,1.3,2.6,4.2,4.0,2.7,3.9,3.7,0.8,0.1,-0.7,-0.2,1.6,1.2,2.2,3.6,5.2,13.2,10.8,3.7,3.3], 2.5, 'a Lengyel Nemzeti Bank'),\r\n    LV: eurostat('Lettorsz\u00e1g', 'EUR', 2014, 1997, [8.1,4.3,2.1,2.6,2.5,2.0,2.9,6.2,6.9,6.6,10.1,15.3,3.3,-1.2,4.2,2.3,0.0,0.7,0.2,0.1,2.9,2.6,2.7,0.1,3.2,17.2,9.1,1.3,3.8], 2.0, 'az EKB'),\r\n    LT: eurostat('Litv\u00e1nia', 'EUR', 2015, 1997, [10.3,5.4,1.4,1.1,1.5,0.3,-1.1,1.2,2.7,3.8,5.8,11.1,4.2,1.2,4.1,3.2,1.2,0.2,-0.7,0.7,3.7,2.5,2.2,1.1,4.6,18.9,8.7,0.9,3.4], 2.0, 'az EKB'),\r\n    LU: eurostat('Luxemburg', 'EUR', 1999, 1997, [1.4,1.0,1.0,3.8,2.4,2.1,2.5,3.2,3.8,3.0,2.7,4.1,0.0,2.8,3.7,2.9,1.7,0.7,0.1,0.0,2.1,2.0,1.7,0.0,3.5,8.2,2.9,2.3,2.5], 2.0, 'az EKB'),\r\n    MT: eurostat('M\u00e1lta', 'EUR', 2008, 1997, [3.9,3.7,2.3,3.0,2.5,2.6,1.9,2.7,2.5,2.6,0.7,4.7,1.8,2.0,2.5,3.2,1.0,0.8,1.2,0.9,1.3,1.7,1.5,0.8,0.7,6.1,5.6,2.4,2.4], 2.0, 'az EKB'),\r\n    DE: eurostat('N\u00e9metorsz\u00e1g', 'EUR', 1999, 1997, [1.5,0.6,0.6,1.4,1.9,1.3,1.1,1.8,1.9,1.8,2.3,2.8,0.2,1.1,2.5,2.1,1.6,0.8,0.7,0.4,1.7,1.9,1.4,0.4,3.2,8.7,6.0,2.5,2.3], 2.0, 'az EKB'),\r\n    IT: eurostat('Olaszorsz\u00e1g', 'EUR', 1999, 1997, [1.9,2.0,1.6,2.6,2.3,2.6,2.8,2.3,2.2,2.2,2.0,3.5,0.8,1.6,2.9,3.3,1.3,0.2,0.2,-0.1,1.3,1.2,0.7,-0.2,2.0,8.7,5.9,1.1,1.6], 2.0, 'az EKB'),\r\n    PT: eurostat('Portug\u00e1lia', 'EUR', 1999, 1997, [1.9,2.2,2.2,2.8,4.4,3.7,3.2,2.5,2.1,3.0,2.4,2.6,-0.9,1.4,3.6,2.8,0.4,-0.2,0.5,0.6,1.6,1.2,0.3,-0.1,0.9,8.1,5.3,2.7,2.2], 2.0, 'az EKB'),\r\n    RO: eurostat('Rom\u00e1nia', 'RON', null, 1997, [154.7,59.1,45.8,45.7,34.5,22.5,15.3,11.9,9.1,6.6,4.9,7.9,5.6,6.1,5.8,3.4,3.2,1.4,-0.4,-1.1,1.1,4.1,3.9,2.3,4.1,12.0,9.7,5.8,6.8], 2.5, 'a Rom\u00e1n Nemzeti Bank'),\r\n    ES: eurostat('Spanyolorsz\u00e1g', 'EUR', 1999, 1997, [1.9,1.8,2.2,3.5,2.8,3.6,3.1,3.1,3.4,3.6,2.8,4.1,-0.2,2.0,3.1,2.4,1.5,-0.2,-0.6,-0.3,2.0,1.7,0.8,-0.3,3.0,8.3,3.4,2.9,2.7], 2.0, 'az EKB'),\r\n    SE: eurostat('Sv\u00e9dorsz\u00e1g', 'SEK', null, 1997, [1.8,1.0,0.6,1.3,2.7,1.9,2.3,1.0,0.8,1.5,1.7,3.3,1.9,1.9,1.4,0.9,0.4,0.2,0.7,1.1,1.9,2.0,1.7,0.7,2.7,8.1,5.9,2.0,2.6], 2.0, 'a sv\u00e9d jegybank (Riksbank)'),\r\n    SK: eurostat('Szlov\u00e1kia', 'EUR', 2009, 1998, [6.7,10.4,12.2,7.2,3.5,8.4,7.5,2.8,4.3,1.9,3.9,0.9,0.7,4.1,3.7,1.5,-0.1,-0.3,-0.5,1.4,2.5,2.8,2.0,2.8,12.1,11.0,3.2,4.2], 2.0, 'az EKB'),\r\n    SI: eurostat('Szlov\u00e9nia', 'EUR', 2007, 1997, [8.3,7.9,6.1,9.0,8.6,7.5,5.6,3.7,2.4,2.5,3.8,5.5,0.9,2.1,2.1,2.8,1.9,0.4,-0.8,-0.2,1.6,1.9,1.7,-0.3,2.0,9.3,7.2,2.0,2.5], 2.0, 'az EKB'),\r\n  };\r\n  \/\/ A leg\u00f6rd\u00fcl\u0151 sorrendje: Magyarorsz\u00e1g, \u00f6sszehasonl\u00edt\u00e1sok, majd a tag\u00e1llamok \u00e1b\u00e9c\u00e9rendben\r\n  var ORSZAG_CSOPORTOK = [\r\n    { cim: 'Magyarorsz\u00e1g', kodok: ['HU'] },\r\n    { cim: '\u00d6sszehasonl\u00edt\u00e1s', kodok: ['EU', 'US'] },\r\n    { cim: 'EU-tag\u00e1llamok', kodok: Object.keys(ORSZAGOK).filter(function (k) { return ['HU', 'EU', 'US'].indexOf(k) < 0; }) }\r\n  ];\r\n\r\n  \/\/ Adatforr\u00e1sok megnevez\u00e9se a feliratokhoz (ragozott alakokkal egy\u00fctt)\r\n  var FORRASOK = {\r\n    ksh:       { rovid: 'KSH',       cimke: 'KSH-adatok',       vele: 'A KSH adataival' },\r\n    eurostat:  { rovid: 'Eurostat',  cimke: 'Eurostat-adatok',  vele: 'Az Eurostat adataival' },\r\n    vilagbank: { rovid: 'Vil\u00e1gbank', cimke: 'Vil\u00e1gbank-adatok', vele: 'A Vil\u00e1gbank adataival' }\r\n  };\r\n\r\n  \/\/ P\u00e9nznemek: r\u00f6vid jel \u00e9s a toldal\u00e9kok (-ba\/-be, -nak\/-nek) a kiejtett n\u00e9v szerint\r\n  var PENZNEMEK = {\r\n    HUF: { jel: 'Ft',  ba: 'ba', nak: 'nak' },   \/\/ forint\r\n    EUR: { jel: 'EUR', ba: 'ba', nak: 'nak' },   \/\/ eur\u00f3\r\n    USD: { jel: 'USD', ba: 'ba', nak: 'nak' },   \/\/ doll\u00e1r\r\n    CZK: { jel: 'CZK', ba: 'ba', nak: 'nak' },   \/\/ cseh korona\r\n    DKK: { jel: 'DKK', ba: 'ba', nak: 'nak' },   \/\/ d\u00e1n korona\r\n    PLN: { jel: 'PLN', ba: 'ba', nak: 'nak' },   \/\/ zloty\r\n    SEK: { jel: 'SEK', ba: 'ba', nak: 'nak' },   \/\/ sv\u00e9d korona\r\n    RON: { jel: 'RON', ba: 'be', nak: 'nek' }    \/\/ lej\r\n  };\r\n\r\n  var ADAT_FRISSITVE = '2026. okt\u00f3ber';\r\n  var ELOZETES_HONAPOK = 'janu\u00e1r\u2013szeptemberi';   \/\/ a magyar el\u0151zetes \u00e9vhez felhaszn\u00e1lt h\u00f3napok\r\n  var JOVO_EVEK = 40;             \/\/ ennyi \u00e9vre el\u0151re lehet sz\u00e1molni a mai \u00e9vt\u0151l\r\n  var MAI_EV = new Date().getFullYear();\r\n\r\n  \/* ==========================================================\r\n     \u00c9L\u0150 ADATOK (ha az \"IOC \u2013 Infl\u00e1ci\u00f3s adatok friss\u00edt\u00e9se\" PHP-snippet fut)\r\n     ----------------------------------------------------------\r\n     A PHP-snippet hetente let\u00f6lti a KSH, az Eurostat \u00e9s a Vil\u00e1gbank\r\n     adatait, \u00e9s a window.IOC_INFLACIO_API c\u00edmen kiszolg\u00e1lja. Ha ez a c\u00edm\r\n     l\u00e9tezik, a kalkul\u00e1tor egyszer lek\u00e9ri, \u00e9s a be\u00e9p\u00edtett adatokat\r\n     fel\u00fcl\u00edrja a frissebbekkel (\u00e9venk\u00e9nt; a r\u00e9gebbi, csak itt megl\u00e9v\u0151 \u00e9vek\r\n     megmaradnak). Ha a lek\u00e9r\u00e9s nem siker\u00fcl, marad a be\u00e9p\u00edtett adat.\r\n     Tesztel\u00e9shez: az URL v\u00e9g\u00e9re ?inf_adat=beepitett \u2192 csak be\u00e9p\u00edtett adat.\r\n     ========================================================== *\/\r\n  var ADAT_ALLAPOT = { elo: false, szoveg: 'Be\u00e9p\u00edtett adatok (' + ADAT_FRISSITVE + ').' };\r\n  var HONAP_NEVEK = ['janu\u00e1r', 'febru\u00e1r', 'm\u00e1rcius', '\u00e1prilis', 'm\u00e1jus', 'j\u00fanius', 'j\u00falius', 'augusztus', 'szeptember', 'okt\u00f3ber', 'november', 'december'];\r\n  function datumSzoveg(iso) {\r\n    var d = new Date(iso);\r\n    return isNaN(d) ? null : d.getFullYear() + '. ' + HONAP_NEVEK[d.getMonth()] + ' ' + d.getDate() + '.';\r\n  }\r\n\r\n  \/\/ A szerver v\u00e1lasz\u00e1nak \u00e1tv\u00e9tele. Igazzal t\u00e9r vissza, ha b\u00e1rmi v\u00e1ltozott.\r\n  function eloAdatAtvetel(j) {\r\n    if (!j || j.verzio !== 1 || !j.adat || typeof j.adat !== 'object') return false;\r\n    var valtozott = false;\r\n    Object.keys(ORSZAGOK).forEach(function (kod) {\r\n      var sor = j.adat[kod];\r\n      if (!sor || typeof sor !== 'object') return;\r\n      Object.keys(sor).forEach(function (evSz) {\r\n        var ev = Number(evSz), v = Number(sor[evSz]);\r\n        \/\/ csak \u00e9sszer\u0171 \u00e9vet \u00e9s \u00e9rt\u00e9ket fogadunk el\r\n        if (sor[evSz] === null || !isFinite(v) || ev < 1985 || ev > MAI_EV + 1 || v < -20 || v > 400) return;\r\n        if (ORSZAGOK[kod].adat[ev] !== v) { ORSZAGOK[kod].adat[ev] = v; valtozott = true; }\r\n      });\r\n    });\r\n    \/\/ Magyar el\u0151zetes \u00e9v: ha a KSH m\u00e1r k\u00f6z\u00f6lte az \u00e9ves sz\u00e1mot, az m\u00e1r v\u00e9gleges\r\n    var hu = ORSZAGOK.HU;\r\n    if (j.adat.HU && hu.elozetesEv && j.adat.HU[hu.elozetesEv] != null) { hu.elozetesEv = null; valtozott = true; }\r\n    var e = j.adat.HU_elozetes;\r\n    if (e && isFinite(Number(e.ev)) && isFinite(Number(e.ertek)) && Number(e.ev) >= 1985 && Number(e.ev) <= MAI_EV + 1 && Number(e.ertek) >= -20 && Number(e.ertek) <= 400) {\r\n      hu.adat[Number(e.ev)] = Number(e.ertek);\r\n      hu.elozetesEv = Number(e.ev);\r\n      \/\/ a sz\u00f6veg HTML-be ker\u00fcl, ez\u00e9rt csak h\u00f3napn\u00e9v-form\u00e1tumot fogadunk el (pl. \"janu\u00e1r\u2013szeptemberi\")\r\n      if (typeof e.honapok === 'string' && \/^[a-z\u00e1\u00e9\u00ed\u00f3\u00f6\u0151\u00fa\u00fc\u0171]{3,12}(?:[\u2013-][a-z\u00e1\u00e9\u00ed\u00f3\u00f6\u0151\u00fa\u00fc\u0171]{3,14})?$\/.test(e.honapok)) ELOZETES_HONAPOK = e.honapok;\r\n      valtozott = true;\r\n    }\r\n    \/\/ \u00c1llapotsor a l\u00e1bjegyzetbe\r\n    var siker = j.utolso_siker && datumSzoveg(j.utolso_siker);\r\n    if (siker) ADAT_FRISSITVE = siker;\r\n    var f = j.forrasok || {}, reszek = [], hibas = [];\r\n    [['ksh', 'KSH'], ['eurostat', 'Eurostat'], ['vilagbank', 'Vil\u00e1gbank']].forEach(function (p) {\r\n      var x = f[p[0]];\r\n      if (!x) return;\r\n      if (x.legfrissebb) reszek.push((p[1] + ' ' + x.legfrissebb).replace(\/ \/g, '\\u00a0'));   \/\/ ne t\u00f6rj\u00f6n el a sor k\u00f6zep\u00e9n\r\n      if (x.ok === false) hibas.push(p[1]);\r\n    });\r\n    ADAT_ALLAPOT = {\r\n      elo: true,\r\n      szoveg: '\u00c9l\u0151 adatok \u00b7 utols\u00f3 sikeres lek\u00e9r\u00e9s: ' + (siker || 'ismeretlen') +\r\n        (reszek.length ? ' \u00b7 legfrissebb adat: ' + reszek.join(', ') : '') + '.' +\r\n        (hibas.length ? ' A legut\u00f3bbi lek\u00e9r\u00e9s nem siker\u00fclt (' + hibas.join(', ') + '), ' + (hibas.length > 1 ? 'ezekn\u00e9l' : 'enn\u00e9l') + ' az el\u0151z\u0151 adattal sz\u00e1molok.' : '')\r\n    };\r\n    return true;\r\n  }\r\n\r\n  \/\/ Egyetlen lek\u00e9r\u00e9s oldalank\u00e9nt, ak\u00e1rh\u00e1ny kalkul\u00e1tor van rajta\r\n  var eloAdatIgeret = null;\r\n  function eloAdatBetoltes() {\r\n    if (eloAdatIgeret) return eloAdatIgeret;\r\n    var api = window.IOC_INFLACIO_API;\r\n    var csakBeepitett = \/[?&]inf_adat=beepitett(&|$)\/.test(location.search);\r\n    if (!api || csakBeepitett || !window.fetch) {\r\n      if (csakBeepitett) ADAT_ALLAPOT.szoveg = 'Be\u00e9p\u00edtett adatok (' + ADAT_FRISSITVE + '), teszt\u00fczemm\u00f3d: az \u00e9l\u0151 adatok kikapcsolva.';\r\n      eloAdatIgeret = Promise.resolve(false);\r\n      return eloAdatIgeret;\r\n    }\r\n    var vezerlo = window.AbortController ? new AbortController() : null;\r\n    var idozito = setTimeout(function () { if (vezerlo) vezerlo.abort(); }, 8000);\r\n    eloAdatIgeret = fetch(api, { credentials: 'omit', signal: vezerlo ? vezerlo.signal : undefined })\r\n      .then(function (v) { if (!v.ok) throw new Error('HTTP ' + v.status); return v.json(); })\r\n      .then(function (j) {\r\n        clearTimeout(idozito);\r\n        var ok = eloAdatAtvetel(j);\r\n        if (!ok) ADAT_ALLAPOT.szoveg = 'Be\u00e9p\u00edtett adatok (' + ADAT_FRISSITVE + '); az \u00e9l\u0151 adat m\u00e9g nem k\u00e9sz\u00fclt el.';\r\n        return ok;\r\n      })\r\n      .catch(function () {\r\n        clearTimeout(idozito);\r\n        ADAT_ALLAPOT.szoveg = 'Be\u00e9p\u00edtett adatok (' + ADAT_FRISSITVE + '); az \u00e9l\u0151 adat most nem \u00e9rhet\u0151 el.';\r\n        return false;\r\n      });\r\n    return eloAdatIgeret;\r\n  }\r\n\r\n  \/* AZ AKTU\u00c1LIS ORSZ\u00c1G BE\u00c1LL\u00cdT\u00c1SAI\r\n     Ezeket az orszagBeallit() t\u00f6lti fel orsz\u00e1gv\u00e1lt\u00e1skor; a sz\u00e1m\u00edt\u00e1s \u00e9s a\r\n     feliratok mind ezekb\u0151l dolgoznak. *\/\r\n  var AKT, INFL, ELSO_EV, ELOZETES_EV, UTOLSO_ADAT_EV, BECSLES_KEZDO_EV, MAX_EV, CEL;\r\n  function orszagBeallit(kod) {\r\n    AKT = ORSZAGOK[kod] || ORSZAGOK.HU;\r\n    AKT.kod = ORSZAGOK[kod] ? kod : 'HU';\r\n    INFL = AKT.adat;\r\n    var evek = Object.keys(INFL).map(Number);\r\n    ELSO_EV = Math.min.apply(null, evek) - 1;          \/\/ kiindul\u00f3 \u00e9v: az els\u0151 adat\u00e9v el\u0151tti \u00e9v\r\n    UTOLSO_ADAT_EV = Math.max.apply(null, evek);\r\n    ELOZETES_EV = AKT.elozetesEv || null;               \/\/ csak a magyar sorban van el\u0151zetes \u00e9v\r\n    \/\/ Becsl\u00e9s az utols\u00f3 adat\u00e9v ut\u00e1ni \u00e9vt\u0151l (ha az adatok elavultak, a hi\u00e1nyz\u00f3 \u00e9vekre is)\r\n    BECSLES_KEZDO_EV = UTOLSO_ADAT_EV + 1;\r\n    MAX_EV = Math.max(MAI_EV, UTOLSO_ADAT_EV) + JOVO_EVEK;\r\n    CEL = AKT.cel;\r\n  }\r\n  orszagBeallit('HU');\r\n\r\n  \/* Chart.js bet\u00f6lt\u00e9se CDN-r\u0151l, r\u00f6gz\u00edtett verzi\u00f3val.\r\n     Ha a cikkben m\u00e1r be van t\u00f6ltve (pl. egy m\u00e1sik grafikon miatt),\r\n     azt haszn\u00e1ljuk; t\u00f6bb kalkul\u00e1tor eset\u00e9n is csak egyszer t\u00f6lt\u0151dik le. *\/\r\n  var CHARTJS_URL = 'https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/Chart.js\/4.4.1\/chart.umd.min.js';\r\n\r\n  \/* ==========================================================\r\n     2. SZ\u00cdNEK \u2013 a GYIK-blokkal azonos paletta\r\n     ========================================================== *\/\r\n  var SZIN = {\r\n    navy: '#1b3a5f',\r\n    accent: '#e2662c',\r\n    text: '#333333',\r\n    line: '#dfe5ec',\r\n    hover: '#eef4fa',\r\n    bg: '#f4f8fc',\r\n    muted: '#6b7785',\r\n    accentHalvany: 'rgba(226, 102, 44, 0.28)',\r\n    accentNagyonHalvany: 'rgba(226, 102, 44, 0.10)',\r\n    navyHalvany: 'rgba(27, 58, 95, 0.10)'\r\n  };\r\n\r\n  \/* ==========================================================\r\n     3. SEG\u00c9DF\u00dcGGV\u00c9NYEK \u2013 sz\u00e1mform\u00e1z\u00e1s \u00e9s -beolvas\u00e1s\r\n     ========================================================== *\/\r\n\r\n  \/\/ P\u00e9nz\u00f6sszeg az aktu\u00e1lis orsz\u00e1g p\u00e9nznem\u00e9ben, eg\u00e9szre kerek\u00edtve: \"1 234 567 Ft\", \"12 345 EUR\".\r\n  \/\/ (A r\u00e9gi neve maradt, hogy a k\u00f3d t\u00f6bbi r\u00e9sze v\u00e1ltozatlanul haszn\u00e1lhassa.)\r\n  var fmtFt = { format: function (x) { return fmtSzam.format(Math.round(x)) + '\\u00a0' + PENZNEMEK[AKT.penznem].jel; } };\r\n  \/\/ Toldal\u00e9k a p\u00e9nznemhez: rag('ba') \u2192 \"ba\" vagy \"be\", rag('nak') \u2192 \"nak\" vagy \"nek\"\r\n  function rag(fajta) { return PENZNEMEK[AKT.penznem][fajta]; }\r\n  \/\/ Sima sz\u00e1m ezres tagol\u00e1ssal: \"1 234 567\"\r\n  var fmtSzam = new Intl.NumberFormat('hu-HU', { maximumFractionDigits: 0 });\r\n  \/\/ Sz\u00e1zal\u00e9k egy tizedessel: \"4,4%\"\r\n  var fmtSzazalek = new Intl.NumberFormat('hu-HU', { minimumFractionDigits: 1, maximumFractionDigits: 1 });\r\n  \/\/ R\u00f6vid forma a grafikon tengely\u00e9re: \"12 milli\u00f3\"\r\n  var fmtRovid = new Intl.NumberFormat('hu-HU', { notation: 'compact', compactDisplay: 'long', maximumFractionDigits: 1 });\r\n\r\n  function szazalek(x) { return fmtSzazalek.format(x) + '%'; }\r\n  \/\/ \u00c1rindex egy tizedessel: \"1 054,3\"\r\n  var fmtIndex = new Intl.NumberFormat('hu-HU', { minimumFractionDigits: 1, maximumFractionDigits: 1 });\r\n\r\n  \/* \u00c9vsz\u00e1mok toldal\u00e9kol\u00e1sa a kiejt\u00e9s szerint (mag\u00e1nhangz\u00f3-harm\u00f3nia):\r\n     2010-ben \/ 2023-ban, 2025-\u00f6s \/ 2026-os \/ 2010-es \/ 2020-as.\r\n     A kiejtett sz\u00e1m utols\u00f3 szava d\u00f6nt (pl. 2020 \u2192 \"h\u00fasz\" \u2192 -ban, -as). *\/\r\n  function hangrend(ev) {\r\n    var egyes = ev % 10, tizes = Math.floor(ev \/ 10) % 10, szazas = Math.floor(ev \/ 100) % 10;\r\n    if (egyes) return 'e e a e \u00f6 o e a e'.split(' ')[egyes - 1];  \/\/ egy, kett\u0151, h\u00e1rom, n\u00e9gy, \u00f6t, hat, h\u00e9t, nyolc, kilenc\r\n    if (tizes) return 'e a a e e a e a e'.split(' ')[tizes - 1];   \/\/ t\u00edz, h\u00fasz, harminc, negyven, \u00f6tven, hatvan, hetven, nyolcvan, kilencven\r\n    if (szazas) return 'a';                                         \/\/ sz\u00e1z\r\n    return 'e';                                                     \/\/ ezer\r\n  }\r\n  \/\/ A csillag az el\u0151zetes KSH-adatot jel\u00f6li; saj\u00e1t r\u00e1ta m\u00f3dban nincs KSH-adat, \u00edgy csillag sem kell.\r\n  \/\/ (A ki\u00edr\u00e1s el\u0151tt mindig be\u00e1ll\u00edtjuk, ez\u00e9rt t\u00f6bb kalkul\u00e1tor egy oldalon sem zavarja egym\u00e1st.)\r\n  var csillagKi = false;\r\n  function csillag(ev) { return !csillagKi && ev === ELOZETES_EV ? '*' : ''; }\r\n  \/\/ \"2010-ben\", \"2026-ban*\" (a csillag az el\u0151zetes adatot jel\u00f6li)\r\n  function evBan(ev) { var h = hangrend(ev); return ev + '-' + (h === 'a' || h === 'o' ? 'ban' : 'ben') + csillag(ev); }\r\n  \/\/ \"2010-es\", \"2025-\u00f6s\", \"2026-os*\", \"2023-as\"\r\n  function evEs(ev) { return ev + '-' + { e: 'es', '\u00f6': '\u00f6s', a: 'as', o: 'os' }[hangrend(ev)] + csillag(ev); }\r\n  \/\/ \"2010-t\u0151l\", \"2027-t\u0151l\" (a -t\u00f3l\/-t\u0151l csak magas\/m\u00e9ly hangrendet n\u00e9z)\r\n  function evTol(ev) { var h = hangrend(ev); return ev + '-' + (h === 'a' || h === 'o' ? 't\u00f3l' : 't\u0151l'); }\r\n  function evCimke(ev) { return ev + csillag(ev); }\r\n  \/\/ N\u00e9vel\u0151 \u00e9vsz\u00e1m el\u00e9: \"az 1989-ben\" (ezer\u2026), de \"a 2010-ben\" (k\u00e9tezer\u2026)\r\n  function nevelo(ev) { return ev >= 1000 && ev < 2000 ? 'az' : 'a'; }\r\n\r\n  \/\/ Sz\u00f6veg \u2192 sz\u00e1m. Elfogadja: \"1 000 000\", \"5,5\", \"5.5\".\r\n  \/\/ Tizedesjelnek a vessz\u0151t \u00e9s a pontot is elfogadjuk, a sz\u00f3k\u00f6z\u00f6ket eldobjuk.\r\n  function beolvas(szoveg) {\r\n    var s = String(szoveg).replace(\/[\\s\\u00a0\\u202f]\/g, '').replace(',', '.').replace('\u2212', '-');\r\n    var x = parseFloat(s);\r\n    return isFinite(x) ? x : NaN;\r\n  }\r\n\r\n  \/* BEVITELI KORL\u00c1TOK \u2013 g\u00e9pel\u00e9s k\u00f6zben sz\u0171r\u00fcnk: bet\u0171, sz\u00f3k\u00f6z \u00e9s m\u00e1s jel nem ker\u00fclhet a mez\u0151be.\r\n     \u00d6sszeg: eg\u00e9sz sz\u00e1m, legfeljebb 100 milli\u00e1rd. Infl\u00e1ci\u00f3 (v\u00e1rhat\u00f3, saj\u00e1t): \u221210 \u2026 50%, k\u00e9t tizedes.\r\n     Ha valaki a hat\u00e1r f\u00f6l\u00e9 \u00edr, a mez\u0151 a hat\u00e1rra \u00e1ll, \u00e9s egy pillanatra narancss\u00e1rg\u00e1n felvillan. *\/\r\n  var OSSZEG_MAX = 100000000000, RATA_MIN = -10, RATA_MAX = 50;\r\n  function villan(mezo) {\r\n    mezo.classList.add('figy');\r\n    clearTimeout(mezo._villanas);\r\n    mezo._villanas = setTimeout(function () { mezo.classList.remove('figy'); }, 1500);\r\n  }\r\n  \/\/ Tizedes mez\u0151 (%): sz\u00e1mjegy, egy tizedesvessz\u0151, legfeljebb 2 tizedes, el\u00f6l m\u00ednuszjel\r\n  function tizedesSzuro(mezo, min, max) {\r\n    var regi = mezo.value, poz = mezo.selectionStart || 0;\r\n    var neg = min < 0 && \/^\\s*[-\u2212]\/.test(regi);\r\n    var t = regi.replace(\/\\.\/g, ',').replace(\/[^\\d,]\/g, '');\r\n    var i = t.indexOf(',');\r\n    if (i >= 0) t = t.slice(0, i + 1) + t.slice(i + 1).replace(\/,\/g, '').slice(0, 2);\r\n    t = t.replace(\/^0+(?=\\d)\/, '');\r\n    var x = t === '' || t === ',' ? 0 : Number(t.replace(',', '.')) * (neg ? -1 : 1);\r\n    if (x > max) { t = String(max); villan(mezo); }\r\n    else if (x < min) { t = String(-min); villan(mezo); }\r\n    var uj = (neg ? '\u2212' : '') + t;\r\n    if (uj !== regi) {\r\n      mezo.value = uj;\r\n      var p = Math.max(0, Math.min(uj.length, poz - (regi.length - uj.length)));\r\n      try { mezo.setSelectionRange(p, p); } catch (e) { \/* n\u00e9h\u00e1ny mobilb\u00f6ng\u00e9sz\u0151 nem engedi *\/ }\r\n    }\r\n  }\r\n\r\n  \/\/ \u00d6sszegmez\u0151 \u00e9l\u0151 ezres tagol\u00e1sa g\u00e9pel\u00e9s k\u00f6zben \u00fagy, hogy a kurzor\r\n  \/\/ ne ugorjon a mez\u0151 v\u00e9g\u00e9re (megsz\u00e1moljuk, h\u00e1ny sz\u00e1mjegy volt el\u0151tte).\r\n  function elofoTagolas(mezo) {\r\n    var poz = mezo.selectionStart || 0;\r\n    var szamjegyElotte = mezo.value.slice(0, poz).replace(\/\\D\/g, '').length;\r\n    var csakSzam = mezo.value.replace(\/\\D\/g, '').replace(\/^0+(?=\\d)\/, '');\r\n    if (csakSzam && Number(csakSzam) > OSSZEG_MAX) { csakSzam = String(OSSZEG_MAX); villan(mezo); }\r\n    var uj = csakSzam ? fmtSzam.format(Number(csakSzam)) : '';\r\n    mezo.value = uj;\r\n    var db = 0, i = 0;\r\n    while (i < uj.length && db < szamjegyElotte) { if (\/\\d\/.test(uj[i])) db++; i++; }\r\n    try { mezo.setSelectionRange(i, i); } catch (e) { \/* n\u00e9h\u00e1ny mobilb\u00f6ng\u00e9sz\u0151 nem engedi *\/ }\r\n  }\r\n\r\n  \/* ==========================================================\r\n     4. SZ\u00c1M\u00cdT\u00c1S\r\n     ----------------------------------------------------------\r\n     \u00c1rszint-index: a kiindul\u00f3 \u00e9v (pl. 1989) \u00e1tlagos \u00e1rszintje = 100.\r\n     Minden \u00e9vre: \u00e1rszint(\u00e9v) = \u00e1rszint(el\u0151z\u0151 \u00e9v) \u00d7 (1 + infl\u00e1ci\u00f3\/100)\r\n     ahol az infl\u00e1ci\u00f3 a val\u00f3s adat, vagy ha az \u00e9vre nincs adat,\r\n     a felhaszn\u00e1l\u00f3 \u00e1ltal megadott v\u00e1rhat\u00f3 \u00e1tlag.\r\n     Egy \u00f6sszeg \u00e9rt\u00e9ke A \u00e9vr\u0151l B \u00e9vre: \u00f6sszeg \u00d7 \u00e1rszint(B) \/ \u00e1rszint(A)\r\n     ========================================================== *\/\r\n  function becsultEv(ev) { return ev >= BECSLES_KEZDO_EV; }\r\n  \/\/ sajat: ha meg van adva (nem null), minden \u00e9vre ezt az \u00e1lland\u00f3 r\u00e1t\u00e1t haszn\u00e1ljuk\r\n  \/\/ a KSH-adat helyett (\"saj\u00e1t r\u00e1ta\" m\u00f3d a R\u00e9szletes be\u00e1ll\u00edt\u00e1sokban)\r\n  function evesInflacio(ev, varhato, sajat) {\r\n    if (sajat != null) return sajat;\r\n    return becsultEv(ev) ? varhato : INFL[ev];\r\n  }\r\n\r\n  function arszintSor(varhato, sajat) {\r\n    var p = {}; p[ELSO_EV] = 100;\r\n    for (var ev = ELSO_EV + 1; ev <= MAX_EV; ev++) p[ev] = p[ev - 1] * (1 + evesInflacio(ev, varhato, sajat) \/ 100);\r\n    return p;\r\n  }\r\n\r\n  function szamitas(osszeg, tol, ig, varhato, sajat) {\r\n    var P = arszintSor(varhato, sajat);\r\n    if (sajat != null) varhato = sajat;   \/\/ a sorokban is a saj\u00e1t r\u00e1ta szerepeljen\r\n    var kezd = Math.min(tol, ig), veg = Math.max(tol, ig);\r\n    var evek = veg - kezd;\r\n    var sor = [];\r\n    for (var ev = kezd; ev <= veg; ev++) {\r\n      sor.push({\r\n        ev: ev,\r\n        becsles: sajat == null && becsultEv(ev),\r\n        inflacio: ev === ELSO_EV ? null : evesInflacio(ev, varhato, sajat),\r\n        index: P[ev],                                   \/\/ \u00e1rindex, kiindul\u00f3 \u00e9v = 100\r\n        \/\/ El\u0151re (r\u00e9gi \u2192 mai): a r\u00e9gi \u00f6sszeg megfelel\u0151je az adott \u00e9vben \u2192 emelked\u0151 g\u00f6rbe.\r\n        \/\/ Vissza (mai \u2192 r\u00e9gi): az adott \u00e9vi \u00f6sszeg \u00e9rt\u00e9ke a r\u00e9gi \u00e9v \u00e1rain \u2192 cs\u00f6kken\u0151 g\u00f6rbe,\r\n        \/\/ amelynek a jobb v\u00e9ge \u00e9pp a ki\u00edrt eredm\u00e9ny (pl. 2026-os 100 000 Ft 1989-es \u00e1rakon).\r\n        ertek: tol <= ig ? osszeg * P[ev] \/ P[tol] : osszeg * P[ig] \/ P[ev],\r\n        halmozott: (P[ev] \/ P[kezd] - 1) * 100          \/\/ \u00e1remelked\u00e9s a kezd\u0151\u00e9v \u00f3ta\r\n      });\r\n    }\r\n    var becsultEvek = sor.filter(function (s) { return s.becsles && s.ev > kezd; }).length;\r\n    return {\r\n      ertek: osszeg * P[ig] \/ P[tol],\r\n      osszesDragulas: (P[veg] \/ P[kezd] - 1) * 100,\r\n      eviAtlag: evek ? (Math.pow(P[veg] \/ P[kezd], 1 \/ evek) - 1) * 100 : 0,  \/\/ geometriai \u00e1tlag\r\n      vasarloero: osszeg * P[kezd] \/ P[veg],             \/\/ a k\u00e9s\u0151bbi \u00e9vi \u00f6sszeg a kor\u00e1bbi \u00e9v p\u00e9nz\u00e9ben\r\n      becsultEvek: becsultEvek,\r\n      indexTol: P[tol], indexIg: P[ig],\r\n      sor: sor\r\n    };\r\n  }\r\n\r\n  \/* ==========================================================\r\n     5. ST\u00cdLUS \u2013 a GYIK-blokk (.io-faq) mint\u00e1j\u00e1ra\r\n     ========================================================== *\/\r\n  var CSS = `\r\n    :host { display: block; margin: 2.5em 0; }\r\n    * { box-sizing: border-box; }\r\n\r\n    .kartya { background: ${SZIN.bg}; padding: 2em 2em 1.5em; border-radius: 10px; color: ${SZIN.text}; line-height: 1.6; }\r\n\r\n    \/* C\u00edm \u00e9s alc\u00edm a GYIK-blokkal megegyez\u0151en *\/\r\n    .cim { text-align: center; color: ${SZIN.navy}; margin: 0 0 .9em; font-size: 1.5em; line-height: 1.3; font-weight: 700; }\r\n    \/* adat\u00e1llapot-sor a c\u00edm alatt: z\u00f6ld p\u00f6tty, ha \u00e9l\u0151 adattal sz\u00e1mol *\/\r\n    .adat-allapot { text-align: center; margin: -.5em auto 1.2em; font-size: .8em; line-height: 1.5; color: ${SZIN.text}; opacity: .75; }\r\n    .adat-allapot:empty { display: none; }\r\n    .adat-allapot.elo::before { content: '\u25cf'; color: #2e8540; margin-right: .4em; }\r\n    .alcim { display: flex; align-items: center; gap: 1.1em; color: ${SZIN.accent}; margin: 0 0 1.8em; font-size: .95em; white-space: nowrap; }\r\n    .alcim::before, .alcim::after { content: \"\"; flex: 1; height: 1px; opacity: .45; }\r\n    .alcim::before { background: linear-gradient(to right, transparent, ${SZIN.accent}); }\r\n    .alcim::after  { background: linear-gradient(to left, transparent, ${SZIN.accent}); }\r\n\r\n    \/* Beviteli mez\u0151k: 4 oszlop asztalon, 2 mobilon *\/\r\n    .mezok { display: grid; grid-template-columns: 1.2fr 1fr 1fr 1.1fr; gap: 14px; margin: 0 0 1.2em; }\r\n    .mezo label { display: block; font-size: .85em; font-weight: 700; color: ${SZIN.navy}; margin: 0 0 6px; line-height: 1.3; }\r\n    .mezo input, .mezo select {\r\n      width: 100%; padding: 10px 12px; font: inherit; font-size: 1em; color: ${SZIN.text};\r\n      background: #fff; border: 1px solid ${SZIN.line}; border-radius: 6px; appearance: none; -webkit-appearance: none;\r\n    }\r\n    .mezo select {\r\n      background-image: linear-gradient(45deg, transparent 50%, ${SZIN.navy} 50%), linear-gradient(135deg, ${SZIN.navy} 50%, transparent 50%);\r\n      background-position: calc(100% - 18px) 55%, calc(100% - 13px) 55%;\r\n      background-size: 5px 5px; background-repeat: no-repeat; padding-right: 32px;\r\n    }\r\n    .mezo input:focus, .mezo select:focus { outline: none; border-color: ${SZIN.accent}; box-shadow: 0 0 0 3px ${SZIN.accentHalvany}; }\r\n    .mezo input.figy { border-color: ${SZIN.accent}; box-shadow: 0 0 0 3px ${SZIN.accentHalvany}; }\r\n    .mezo.halvany input { color: ${SZIN.muted}; background: rgba(255,255,255,.6); }\r\n    .mezo .sugo { display: block; font-size: .75em; color: ${SZIN.muted}; margin-top: 5px; line-height: 1.35; }\r\n    .utotag { position: relative; }\r\n    .utotag input { padding-right: 40px; }\r\n    .utotag span { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); color: ${SZIN.muted}; font-size: .9em; pointer-events: none; }\r\n    \/* \u00c9vl\u00e9ptet\u0151: [\u2212] [leg\u00f6rd\u00fcl\u0151] [+] *\/\r\n    .lepteto { display: grid; grid-template-columns: 34px 1fr 34px; }\r\n    .lepteto select { border-radius: 0; border-left: 0; border-right: 0; text-align: center; text-align-last: center; padding-left: 6px; padding-right: 22px; background-position: calc(100% - 13px) 55%, calc(100% - 8px) 55%; }\r\n    .lepteto button {\r\n      font: inherit; font-size: 1.1em; font-weight: 700; color: ${SZIN.navy}; background: ${SZIN.bg};\r\n      border: 1px solid ${SZIN.line}; cursor: pointer; padding: 0; line-height: 1;\r\n    }\r\n    .lepteto button:first-child { border-radius: 6px 0 0 6px; }\r\n    .lepteto button:last-child { border-radius: 0 6px 6px 0; }\r\n    .lepteto button:hover:not(:disabled) { background: ${SZIN.hover}; color: ${SZIN.accent}; }\r\n    .lepteto button:disabled { opacity: .35; cursor: default; }\r\n    .lepteto button:focus-visible { outline: 2px solid ${SZIN.accent}; outline-offset: -2px; }\r\n\r\n    \/* Fels\u0151 sor: orsz\u00e1gv\u00e1laszt\u00f3 \u00e9s ir\u00e1nyv\u00e1lt\u00f3 egym\u00e1s mellett *\/\r\n    .fejsor { display: flex; align-items: flex-end; justify-content: center; gap: 14px; flex-wrap: wrap; margin: 0 0 1.4em; }\r\n    .fejsor .mezo { flex: 0 1 250px; }\r\n    .fejsor .irany { flex: 1 1 360px; margin: 0; }\r\n\r\n    \/* R\u00e9szletes be\u00e1ll\u00edt\u00e1sok (lenyithat\u00f3, a t\u00e1bl\u00e1zattal azonos st\u00edlus\u00fa) *\/\r\n    .tabla.reszletek { margin: 0 0 1.2em; }\r\n\r\n    \/* Ir\u00e1nyv\u00e1lt\u00f3 (k\u00e9t\u00e1ll\u00e1s\u00fa kapcsol\u00f3) *\/\r\n    .irany { display: flex; margin: 0 auto 1.4em; max-width: 520px; background: #fff; border: 1px solid ${SZIN.line}; border-radius: 8px; padding: 4px; gap: 4px; }\r\n    .irany button {\r\n      flex: 1; font: inherit; font-size: .88em; font-weight: 700; color: ${SZIN.navy}; background: transparent;\r\n      border: 0; border-radius: 6px; padding: 9px 8px; cursor: pointer; transition: background .15s ease, color .15s ease;\r\n    }\r\n    .irany button:hover { background: ${SZIN.hover}; }\r\n    .irany button[aria-pressed=\"true\"] { background: ${SZIN.navy}; color: #fff; }\r\n    .irany button:focus-visible { outline: 2px solid ${SZIN.accent}; outline-offset: 2px; }\r\n    .reszletek .tabla-belso { padding: 0 16px 14px; }\r\n    .valaszto { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 0 0 12px; }\r\n    .valaszto label { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; font-size: .92em; }\r\n    .valaszto input { accent-color: ${SZIN.accent}; width: 16px; height: 16px; margin: 0; }\r\n    .sajat-sor { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }\r\n    .sajat-sor .mezo { width: 150px; }\r\n    .sajat-sor .sugo { flex: 1; min-width: 200px; font-size: .8em; color: ${SZIN.muted}; line-height: 1.45; }\r\n    .mezo input:disabled { color: ${SZIN.muted}; background: rgba(255,255,255,.5); cursor: not-allowed; }\r\n\r\n    .index-sor { font-size: .8em; color: ${SZIN.muted}; margin: -0.4em 0 1em; }\r\n    .index-sor:empty { display: none; }\r\n\r\n    .hiba { color: #b3261e; font-size: .85em; margin: 0 0 1em; }\r\n    .hiba:empty { display: none; }\r\n\r\n    \/* Eredm\u00e9nyk\u00e1rty\u00e1k *\/\r\n    .eredmenyek { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 12px; margin: 0 0 1em; }\r\n    .stat { background: #fff; border: 1px solid ${SZIN.line}; border-radius: 8px; padding: 14px 16px; }\r\n    .stat.fo { border-top: 3px solid ${SZIN.accent}; }\r\n    .stat .nev { font-size: .8em; color: ${SZIN.muted}; margin: 0 0 4px; line-height: 1.35; }\r\n    .stat .ertek { font-size: 1.35em; font-weight: 700; color: ${SZIN.navy}; line-height: 1.2; word-break: break-word; }\r\n    .stat.fo .ertek { font-size: 1.6em; }\r\n    \/* nagyon hossz\u00fa sz\u00e1m (pl. 100 milli\u00e1rd \u00e9vtizedekre el\u0151re): kisebb bet\u0171, hogy ne t\u00f6rj\u00f6n sz\u00e9t *\/\r\n    .stat .ertek.hosszu { font-size: 1.05em; }\r\n    .stat.fo .ertek.hosszu { font-size: 1.2em; }\r\n    .mondat { margin: 0 0 1.5em; line-height: 1.7; }\r\n    .mondat strong { color: ${SZIN.navy}; }\r\n    .becsles-cimke { display: inline-block; font-size: .72em; font-weight: 700; color: ${SZIN.accent}; border: 1px solid ${SZIN.accent}; border-radius: 4px; padding: 0 5px; margin-left: 6px; vertical-align: 2px; }\r\n\r\n    \/* Grafikon *\/\r\n    .doboz { background: #fff; border: 1px solid ${SZIN.line}; border-radius: 8px; padding: 14px 12px 10px; }\r\n    .doboz-fej { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin: 0 4px 8px; }\r\n    .doboz-cim { font-weight: 700; color: ${SZIN.navy}; font-size: .95em; }\r\n    .vaszon { position: relative; width: 100%; height: 340px; }\r\n    .gomb {\r\n      flex: 0 0 auto; font: inherit; font-size: .8em; font-weight: 700; color: ${SZIN.navy};\r\n      background: ${SZIN.bg}; border: 1px solid ${SZIN.line}; border-radius: 6px; padding: 6px 10px; cursor: pointer;\r\n    }\r\n    .gomb:hover { background: ${SZIN.hover}; border-color: ${SZIN.navy}; }\r\n    .grafikon-hiba { padding: 2em 1em; text-align: center; color: ${SZIN.muted}; font-size: .9em; }\r\n    .megjegyzes { font-size: .8em; color: ${SZIN.muted}; margin: 10px 4px 0; line-height: 1.5; }\r\n\r\n\r\n    \/* Megoszt\u00e1s: link m\u00e1sol\u00e1sa *\/\r\n    .megosztas { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: -0.6em 0 1.5em; }\r\n    .megosztas .allapot { font-size: .8em; color: ${SZIN.muted}; }\r\n    .megosztas .allapot.ok { color: #1b7a4b; font-weight: 700; }\r\n    .link-mezo { flex: 1 1 260px; font: inherit; font-size: .8em; padding: 6px 8px; border: 1px solid ${SZIN.line}; border-radius: 6px; color: ${SZIN.text}; background: #fff; }\r\n\r\n    \/* \u00c9venk\u00e9nti t\u00e1bl\u00e1zat, lenyithat\u00f3 *\/\r\n    .tabla { margin: 1em 0 0; background: #fff; border: 1px solid ${SZIN.line}; border-radius: 8px; }\r\n    .tabla summary {\r\n      list-style: none; cursor: pointer; padding: 14px 44px 14px 16px; position: relative;\r\n      font-weight: 700; color: ${SZIN.navy}; font-size: .95em; transition: background .15s ease; border-radius: 8px;\r\n    }\r\n    .tabla summary::-webkit-details-marker { display: none; }\r\n    .tabla summary:hover { background: ${SZIN.hover}; }\r\n    .tabla summary::after {\r\n      content: \"\"; position: absolute; right: 18px; top: 50%; width: 8px; height: 8px;\r\n      border-right: 2px solid ${SZIN.navy}; border-bottom: 2px solid ${SZIN.navy};\r\n      transform: translateY(-70%) rotate(45deg); transition: transform .25s ease;\r\n    }\r\n    .tabla[open] summary { color: ${SZIN.accent}; }\r\n    .tabla[open] summary::after { border-color: ${SZIN.accent}; transform: translateY(-25%) rotate(-135deg); }\r\n    .tabla-belso { padding: 0 12px 12px; }\r\n    .gorgeto { max-height: 360px; overflow: auto; border: 1px solid ${SZIN.line}; border-radius: 6px; }\r\n    table { width: 100%; border-collapse: collapse; font-size: .85em; font-variant-numeric: tabular-nums; }\r\n    th, td { padding: 7px 10px; text-align: right; border-bottom: 1px solid ${SZIN.line}; white-space: nowrap; }\r\n    th:first-child, td:first-child { text-align: left; }\r\n    thead th { position: sticky; top: 0; background: ${SZIN.bg}; color: ${SZIN.navy}; font-weight: 700; }\r\n    tbody tr:hover { background: ${SZIN.hover}; }\r\n    tr.becsult td { color: ${SZIN.muted}; font-style: italic; }\r\n    table.index-nelkul th:nth-child(5), table.index-nelkul td:nth-child(5) { display: none; }\r\n    .tabla-lab { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 10px; font-size: .78em; color: ${SZIN.muted}; }\r\n\r\n    \/* L\u00e1bjegyzet a GYIK-blokk disclaimere szerint *\/\r\n    .disclaimer {\r\n      margin: 2em 0 0; padding: 16px 18px; border-left: 3px solid ${SZIN.accent};\r\n      background: rgba(255, 255, 255, .55); border-radius: 6px;\r\n      font-size: .85em; font-style: italic; line-height: 1.6; opacity: .9;\r\n    }\r\n    .disclaimer strong { font-style: normal; color: ${SZIN.navy}; }\r\n    .disclaimer p { margin: 0 0 .6em; }\r\n    .disclaimer p:last-child { margin: 0; }\r\n\r\n    [hidden] { display: none !important; }\r\n\r\n    \/* Orsz\u00e1gok \u00f6sszevet\u00e9se *\/\r\n    .osszevetes { margin-top: 1em; }\r\n    .ossz-bev { margin: 0 4px 12px; font-size: .9em; line-height: 1.6; }\r\n    .ossz-mezok { display: grid; grid-template-columns: repeat(4, 1fr) .8fr .8fr; gap: 10px; margin: 0 0 14px; }\r\n    .ossz-mezok .jelolo { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 6px; vertical-align: 0; }\r\n    .ossz-mondat { margin: 0 4px 12px; line-height: 1.6; }\r\n    .ossz-mondat strong { color: ${SZIN.navy}; }\r\n    .ossz-tabla { margin-top: 12px; max-height: none; }\r\n    @media (max-width: 720px) { .ossz-mezok { grid-template-columns: 1fr 1fr; } }\r\n\r\n    \/* Mobil *\/\r\n    @media (max-width: 720px) {\r\n      .mezok { grid-template-columns: 1fr 1fr; }\r\n    }\r\n    @media (max-width: 640px) {\r\n      .kartya { padding: 1.5em 1.1em 1em; }\r\n      .cim { font-size: 1.25em; }\r\n      .eredmenyek { grid-template-columns: 1fr 1fr; }\r\n      .eredmenyek .stat.fo { grid-column: 1 \/ -1; }\r\n      .vaszon { height: 280px; }\r\n      .doboz-fej { flex-wrap: wrap; }\r\n      .fejsor .mezo, .fejsor .irany { flex: 1 1 100%; }\r\n      .tabla-lab { flex-wrap: wrap; }\r\n    }\r\n    @media (max-width: 420px) {\r\n      .alcim { gap: .6em; font-size: .85em; }\r\n    }\r\n  `;\r\n\r\n  \/* ==========================================================\r\n     6. HTML-V\u00c1Z\r\n     ========================================================== *\/\r\n  function evOpciok(kivalasztott) {\r\n    var html = '', csoport = '';\r\n    for (var ev = ELSO_EV; ev <= MAX_EV; ev++) {\r\n      \/\/ a becs\u00fclt \u00e9vek k\u00fcl\u00f6n csoportba ker\u00fclnek a leg\u00f6rd\u00fcl\u0151ben\r\n      var ujCsoport = becsultEv(ev) ? 'Becsl\u00e9s (v\u00e1rhat\u00f3 infl\u00e1ci\u00f3val)' : FORRASOK[AKT.forras].cimke;\r\n      if (ujCsoport !== csoport) { html += (csoport ? '<\/optgroup>' : '') + '<optgroup label=\"' + ujCsoport + '\">'; csoport = ujCsoport; }\r\n      html += '<option value=\"' + ev + '\"' + (ev === kivalasztott ? ' selected' : '') + '>' + evCimke(ev) + '<\/option>';\r\n    }\r\n    return html + '<\/optgroup>';\r\n  }\r\n\r\n  function orszagOpciok() {\r\n    return ORSZAG_CSOPORTOK.map(function (cs) {\r\n      return '<optgroup label=\"' + cs.cim + '\">' + cs.kodok.map(function (k) {\r\n        return '<option value=\"' + k + '\"' + (k === 'HU' ? ' selected' : '') + '>' + ORSZAGOK[k].nev + '<\/option>';\r\n      }).join('') + '<\/optgroup>';\r\n    }).join('');\r\n  }\r\n\r\n  function vaz() {\r\n    return `\r\n    <div class=\"kartya\">\r\n      <h2 class=\"cim\">Infl\u00e1ci\u00f3kalkul\u00e1tor<\/h2>\r\n      <!-- Adat\u00e1llapot: \u00e9l\u0151 vagy be\u00e9p\u00edtett adat, utols\u00f3 lek\u00e9r\u00e9s, legfrissebb h\u00f3nap\/\u00e9v -->\r\n      <p id=\"adat-allapot\" class=\"adat-allapot\"><\/p>\r\n      <p class=\"alcim\">Mennyit \u00e9r a p\u00e9nzed?<\/p>\r\n\r\n      <!-- Fels\u0151 sor: orsz\u00e1gv\u00e1laszt\u00f3 \u00e9s ir\u00e1nyv\u00e1lt\u00f3 (a k\u00e9t \u00e9v helyet cser\u00e9l) -->\r\n      <div class=\"fejsor\">\r\n        <div class=\"mezo\">\r\n          <label for=\"orszag\">Orsz\u00e1g \/ r\u00e9gi\u00f3<\/label>\r\n          <select id=\"orszag\">${orszagOpciok()}<\/select>\r\n        <\/div>\r\n        <div class=\"irany\" role=\"group\" aria-label=\"Sz\u00e1m\u00edt\u00e1s ir\u00e1nya\">\r\n          <button type=\"button\" data-irany-mod=\"elore\" aria-pressed=\"true\">R\u00e9gi p\u00e9nz \u2192 mai \u00e9rt\u00e9k<\/button>\r\n          <button type=\"button\" data-irany-mod=\"vissza\" aria-pressed=\"false\">Mai p\u00e9nz \u2192 r\u00e9gi \u00e9rt\u00e9k<\/button>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mezok\">\r\n        <div class=\"mezo\">\r\n          <label for=\"osszeg\">\u00d6sszeg<\/label>\r\n          <div class=\"utotag\"><input id=\"osszeg\" type=\"text\" inputmode=\"numeric\" autocomplete=\"off\" value=\"100 000\"><span id=\"penznem-jel\">Ft<\/span><\/div>\r\n        <\/div>\r\n        <div class=\"mezo\">\r\n          <label for=\"tol\">Melyik \u00e9vben?<\/label>\r\n          <div class=\"lepteto\">\r\n            <button type=\"button\" data-lep=\"tol\" data-irany=\"-1\" aria-label=\"Egy \u00e9vvel kor\u00e1bban\">\u2212<\/button>\r\n            <select id=\"tol\">${evOpciok(2010)}<\/select>\r\n            <button type=\"button\" data-lep=\"tol\" data-irany=\"1\" aria-label=\"Egy \u00e9vvel k\u00e9s\u0151bb\">+<\/button>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"mezo\">\r\n          <label for=\"ig\">Melyik \u00e9v \u00e1rain?<\/label>\r\n          <div class=\"lepteto\">\r\n            <button type=\"button\" data-lep=\"ig\" data-irany=\"-1\" aria-label=\"Egy \u00e9vvel kor\u00e1bban\">\u2212<\/button>\r\n            <select id=\"ig\">${evOpciok(MAI_EV)}<\/select>\r\n            <button type=\"button\" data-lep=\"ig\" data-irany=\"1\" aria-label=\"Egy \u00e9vvel k\u00e9s\u0151bb\">+<\/button>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"mezo\" id=\"varhato-mezo\">\r\n          <label for=\"varhato\" id=\"varhato-cimke\">V\u00e1rhat\u00f3 \u00e1tlagos infl\u00e1ci\u00f3 ${evTol(BECSLES_KEZDO_EV)}<\/label>\r\n          <div class=\"utotag\"><input id=\"varhato\" type=\"text\" inputmode=\"decimal\" autocomplete=\"off\" value=\"${fmtSzazalek.format(CEL)}\"><span>%<\/span><\/div>\r\n          <span class=\"sugo\" id=\"cel-sugo\"><\/span>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <details class=\"tabla reszletek\">\r\n        <summary>R\u00e9szletes be\u00e1ll\u00edt\u00e1sok<\/summary>\r\n        <div class=\"tabla-belso\">\r\n          <div class=\"valaszto\" role=\"radiogroup\" aria-label=\"Milyen infl\u00e1ci\u00f3val sz\u00e1moljon?\">\r\n            <label><input type=\"radio\" name=\"forras\" value=\"ksh\" checked> <span id=\"forras-cimke\"><\/span><\/label>\r\n            <label><input type=\"radio\" name=\"forras\" value=\"sajat\"> Saj\u00e1t \u00e1lland\u00f3 r\u00e1ta minden \u00e9vre<\/label>\r\n          <\/div>\r\n          <div class=\"sajat-sor\">\r\n            <div class=\"mezo\">\r\n              <div class=\"utotag\"><input id=\"sajat\" type=\"text\" inputmode=\"decimal\" autocomplete=\"off\" value=\"${fmtSzazalek.format(5)}\" aria-label=\"Saj\u00e1t \u00e9ves infl\u00e1ci\u00f3\" disabled><span>%<\/span><\/div>\r\n            <\/div>\r\n            <span class=\"sugo\">Val\u00f3s adatokn\u00e1l a mez\u0151 a v\u00e1lasztott id\u0151szak t\u00e9nyleges \u00e1tlagos infl\u00e1ci\u00f3j\u00e1t mutatja. Saj\u00e1t r\u00e1t\u00e1n\u00e1l ezt \u00e1t\u00edrhatod, p\u00e9ld\u00e1ul: \u201emi lett volna, ha az infl\u00e1ci\u00f3 mindig \u00e9vi 5% lett volna?\u201d. Ilyenkor minden \u00e9vre ez a r\u00e1ta \u00e9rv\u00e9nyes, a m\u00faltra is.<\/span>\r\n          <\/div>\r\n        <\/div>\r\n      <\/details>\r\n\r\n      <p class=\"hiba\" aria-live=\"polite\"><\/p>\r\n\r\n      <div class=\"eredmenyek\" aria-live=\"polite\">\r\n        <div class=\"stat fo\"><p class=\"nev\" data-nev=\"1\"><\/p><div class=\"ertek\" data-ertek=\"1\">\u2013<\/div><\/div>\r\n        <div class=\"stat\"><p class=\"nev\" data-nev=\"2\"><\/p><div class=\"ertek\" data-ertek=\"2\">\u2013<\/div><\/div>\r\n        <div class=\"stat\"><p class=\"nev\" data-nev=\"3\"><\/p><div class=\"ertek\" data-ertek=\"3\">\u2013<\/div><\/div>\r\n      <\/div>\r\n      <p class=\"index-sor\"><\/p>\r\n      <p class=\"mondat\" aria-live=\"polite\"><\/p>\r\n\r\n      <!-- Megoszt\u00e1s: a be\u00e1ll\u00edt\u00e1sok beker\u00fclnek a link v\u00e9g\u00e9re, \u00e9s megnyit\u00e1skor onnan t\u00f6lt\u0151dnek vissza -->\r\n      <div class=\"megosztas\">\r\n        <button class=\"gomb\" id=\"link\" type=\"button\">\ud83d\udd17 Eredm\u00e9ny megoszt\u00e1sa (link m\u00e1sol\u00e1sa)<\/button>\r\n        <span class=\"allapot\" aria-live=\"polite\"><\/span>\r\n        <input class=\"link-mezo\" type=\"text\" readonly hidden aria-label=\"Megoszthat\u00f3 link\">\r\n      <\/div>\r\n\r\n      <div class=\"doboz\">\r\n        <div class=\"doboz-fej\">\r\n          <span class=\"doboz-cim\">Ennyi p\u00e9nz kell ugyanahhoz a kos\u00e1rhoz<\/span>\r\n          <button class=\"gomb\" id=\"png\" type=\"button\" title=\"A grafikon ment\u00e9se k\u00e9pk\u00e9nt\">\u2913 Let\u00f6lt\u00e9s PNG-k\u00e9nt<\/button>\r\n        <\/div>\r\n        <div class=\"vaszon\"><canvas role=\"img\"><\/canvas><\/div>\r\n        <p class=\"megjegyzes\"><\/p>\r\n      <\/div>\r\n\r\n      <details class=\"tabla\" open>\r\n        <summary>\u00c9venk\u00e9nti bont\u00e1s t\u00e1bl\u00e1zatban<\/summary>\r\n        <div class=\"tabla-belso\">\r\n          <div class=\"gorgeto\">\r\n            <table>\r\n              <thead><tr><th>\u00c9v<\/th><th>\u00c9ves infl\u00e1ci\u00f3<\/th><th id=\"ertek-fej\">Az \u00f6sszeg megfelel\u0151je<\/th><th>Halmozott \u00e1remelked\u00e9s<\/th><th id=\"index-fej\">\u00c1rindex<\/th><\/tr><\/thead>\r\n              <tbody><\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n          <div class=\"tabla-lab\">\r\n            <span>D\u0151lt bet\u0171: becs\u00fclt \u00e9v. * El\u0151zetes adat.<\/span>\r\n            <button class=\"gomb\" id=\"csv\" type=\"button\">\u2913 Let\u00f6lt\u00e9s CSV-k\u00e9nt (Excel)<\/button>\r\n          <\/div>\r\n        <\/div>\r\n      <\/details>\r\n\r\n      <!-- Orsz\u00e1gok \u00f6sszevet\u00e9se: 2\u20134 orsz\u00e1g \u00e1rszintje a k\u00f6z\u00f6s id\u0151szakban, a kezd\u0151\u00e9v = 100 -->\r\n      <details class=\"tabla osszevetes\" id=\"osszevetes\" open>\r\n        <summary>Orsz\u00e1gok \u00f6sszevet\u00e9se<\/summary>\r\n        <div class=\"tabla-belso\">\r\n          <p class=\"ossz-bev\">V\u00e1lassz legfeljebb n\u00e9gy orsz\u00e1got. A grafikon a k\u00f6z\u00f6s id\u0151szakban mutatja az \u00e1rszint alakul\u00e1s\u00e1t, a kezd\u0151\u00e9vet 100-nak v\u00e9ve, \u00edgy a p\u00e9nznemt\u0151l f\u00fcggetlen\u00fcl l\u00e1tszik, hol dr\u00e1gult gyorsabban az \u00e9let. Csak val\u00f3s adatot mutat, becsl\u00e9st nem.<\/p>\r\n          <div class=\"ossz-mezok\">\r\n            ${[1, 2, 3, 4].map(function (i) {\r\n              return '<div class=\"mezo\"><label for=\"ossz-' + i + '\"><span class=\"jelolo\" style=\"background:' + OSSZ_SZINEK[i - 1] + '\"><\/span>' + i + '. orsz\u00e1g<\/label><select id=\"ossz-' + i + '\" data-ossz><\/select><\/div>';\r\n            }).join('')}\r\n            <div class=\"mezo\"><label for=\"ossz-tol\">Kezd\u0151\u00e9v<\/label><select id=\"ossz-tol\"><\/select><\/div>\r\n            <div class=\"mezo\"><label for=\"ossz-ig\">Z\u00e1r\u00f3\u00e9v<\/label><select id=\"ossz-ig\"><\/select><\/div>\r\n          <\/div>\r\n          <p class=\"ossz-mondat\" aria-live=\"polite\"><\/p>\r\n          <div class=\"doboz\">\r\n            <div class=\"doboz-fej\">\r\n              <span class=\"doboz-cim\" id=\"ossz-cim\"><\/span>\r\n              <button class=\"gomb\" id=\"ossz-png\" type=\"button\" title=\"Az \u00f6sszevet\u00e9s ment\u00e9se k\u00e9pk\u00e9nt\">\u2913 Let\u00f6lt\u00e9s PNG-k\u00e9nt<\/button>\r\n            <\/div>\r\n            <div class=\"vaszon\"><canvas id=\"ossz-vaszon\" role=\"img\"><\/canvas><\/div>\r\n            <p class=\"megjegyzes\" id=\"ossz-megj\"><\/p>\r\n          <\/div>\r\n          <div class=\"gorgeto ossz-tabla\">\r\n            <table>\r\n              <thead><tr><th>Orsz\u00e1g<\/th><th>\u00c1rszint a z\u00e1r\u00f3\u00e9vben<\/th><th>Teljes \u00e1remelked\u00e9s<\/th><th>\u00c1tlagos \u00e9ves infl\u00e1ci\u00f3<\/th><th>Legmagasabb \u00e9v<\/th><th>Forr\u00e1s<\/th><\/tr><\/thead>\r\n              <tbody id=\"ossz-tbody\"><\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      <\/details>\r\n\r\n      <div class=\"disclaimer\">\r\n        <p id=\"adatforras\"><\/p>\r\n        <p><strong>Jogi \u00e9s felel\u0151ss\u00e9gi nyilatkozat (aka. disclaimer):<\/strong> a kalkul\u00e1tor kiz\u00e1r\u00f3lag t\u00e1j\u00e9koztat\u00f3 jelleg\u0171, az eredm\u00e9nyek becsl\u00e9sek, \u00e9s nem min\u0151s\u00fclnek befektet\u00e9si, ad\u00f3z\u00e1si vagy p\u00e9nz\u00fcgyi tan\u00e1csad\u00e1snak, sem aj\u00e1nlatt\u00e9telnek. A sz\u00e1m\u00edt\u00e1s helyess\u00e9g\u00e9\u00e9rt \u00e9s a felhaszn\u00e1lt adatok teljess\u00e9g\u00e9\u00e9rt felel\u0151ss\u00e9get nem v\u00e1llalok. A meghozott d\u00f6nt\u00e9seitek\u00e9rt KIZ\u00c1R\u00d3LAG TI vagytok a felel\u0151sek.<\/p>\r\n      <\/div>\r\n    <\/div>`;\r\n  }\r\n\r\n  \/* ==========================================================\r\n     ORSZ\u00c1GOK \u00d6SSZEVET\u00c9SE \u2013 seg\u00e9df\u00fcggv\u00e9nyek\r\n     ----------------------------------------------------------\r\n     Az aktu\u00e1lis orsz\u00e1gt\u00f3l f\u00fcggetlen\u00fcl, k\u00f6zvetlen\u00fcl az ORSZAGOK\r\n     adataib\u00f3l sz\u00e1molnak; becsl\u00e9s itt nincs, csak val\u00f3s adat.\r\n     ========================================================== *\/\r\n  var OSSZ_SZINEK = [SZIN.navy, SZIN.accent, '#2a9d8f', '#8e5ea2'];\r\n  var OSSZ_ALAP = ['HU', 'EU', 'US', 'DE'];          \/\/ alap\u00e9rtelmezett \u00f6sszevet\u00e9s\r\n  function adatEvek(kod) { return Object.keys(ORSZAGOK[kod].adat).map(Number); }\r\n  function elsoEvE(kod) { return Math.min.apply(null, adatEvek(kod)) - 1; }    \/\/ kiindul\u00f3 \u00e9v\r\n  function utolsoEvE(kod) { return Math.max.apply(null, adatEvek(kod)); }      \/\/ utols\u00f3 val\u00f3s adat\u00e9v\r\n  \/\/ \u00c1rszint a kezd\u0151\u00e9vhez k\u00e9pest (kezd\u0151\u00e9v = 100), tol..ig \u00e9vekre\r\n  function indexSor(kod, tol, ig) {\r\n    var adat = ORSZAGOK[kod].adat, p = 100, sor = [{ ev: tol, index: 100, infl: null }];\r\n    for (var ev = tol + 1; ev <= ig; ev++) { p *= 1 + adat[ev] \/ 100; sor.push({ ev: ev, index: p, infl: adat[ev] }); }\r\n    return sor;\r\n  }\r\n  function orszagOpciokValaszt(kivalasztott, uresSzoveg) {\r\n    return (uresSzoveg ? '<option value=\"\">' + uresSzoveg + '<\/option>' : '') + ORSZAG_CSOPORTOK.map(function (cs) {\r\n      return '<optgroup label=\"' + cs.cim + '\">' + cs.kodok.map(function (k) {\r\n        return '<option value=\"' + k + '\"' + (k === kivalasztott ? ' selected' : '') + '>' + ORSZAGOK[k].nev + '<\/option>';\r\n      }).join('') + '<\/optgroup>';\r\n    }).join('');\r\n  }\r\n  var fmtSzorzo = new Intl.NumberFormat('hu-HU', { minimumFractionDigits: 1, maximumFractionDigits: 1 });\r\n\r\n  \/* Az adatforr\u00e1s-bekezd\u00e9s az aktu\u00e1lis orsz\u00e1ghoz: honnan van az adat,\r\n     mi\u00e9rt onnan indul, \u00e9s mikort\u00f3l becsl\u00e9s. *\/\r\n  \/\/ \"2026. okt\u00f3ber 19.\" ut\u00e1n ne legyen dupla pont\r\n  function pontVeg(s) { return \/\\.$\/.test(s) ? s : s + '.'; }\r\n  function adatforrasSzoveg() {\r\n    var becsl = evTol(BECSLES_KEZDO_EV) + ' a kalkul\u00e1tor a megadott v\u00e1rhat\u00f3 \u00e1tlagos infl\u00e1ci\u00f3val sz\u00e1mol, ez becsl\u00e9s, nem el\u0151rejelz\u00e9s.';\r\n    var kozos = ' A sz\u00e1m\u00edt\u00e1s az \u00e9vek \u00e1tlagos \u00e1rszintj\u00e9vel dolgozik, az egy\u00e9ni fogyaszt\u00f3i kos\u00e1r ett\u0151l jelent\u0151sen elt\u00e9rhet.';\r\n    if (AKT.forras === 'ksh') {\r\n      return 'KSH, \u00e9ves fogyaszt\u00f3i\u00e1r-index (el\u0151z\u0151 \u00e9v = 100), ' + (ELSO_EV + 1) + '\u2013' + UTOLSO_ADAT_EV + ', a kiindul\u00f3 \u00e9v ' + ELSO_EV + '. ' +\r\n        'Az adatok friss\u00edt\u00e9se: ' + pontVeg(ADAT_FRISSITVE) + ' ' +\r\n        (ELOZETES_EV ? (nevelo(ELOZETES_EV) === 'az' ? 'Az ' : 'A ') + ELOZETES_EV + '* \u00e9v adata a ' + ELOZETES_HONAPOK + ' havi adatok \u00e1tlaga, ez\u00e9rt el\u0151zetes. ' : '') + becsl + kozos;\r\n    }\r\n    if (AKT.forras === 'vilagbank') {\r\n      return 'Vil\u00e1gbank, FP.CPI.TOTL.ZG mutat\u00f3 (fogyaszt\u00f3i \u00e1rak \u00e9ves v\u00e1ltoz\u00e1sa; a Vil\u00e1gbank forr\u00e1sa az IMF International Financial Statistics adatb\u00e1zisa, az amerikai fogyaszt\u00f3i\u00e1r-index alapj\u00e1n), ' +\r\n        (ELSO_EV + 1) + '\u2013' + UTOLSO_ADAT_EV + '. A magyar adatsorhoz igazodva a kiindul\u00f3 \u00e9v ' + ELSO_EV + '. ' +\r\n        'Az adatok lek\u00e9rdez\u00e9se: ' + ADAT_FRISSITVE.replace(\/\\.$\/, '') + '; a ' + evEs(UTOLSO_ADAT_EV + 1) + ' \u00e9ves adat m\u00e9g nem jelent meg. ' +\r\n        becsl + ' Az \u00f6sszegek amerikai doll\u00e1rban \u00e9rtend\u0151k.' + kozos;\r\n    }\r\n    \/\/ Eurostat\r\n    var kezdoMagyarazat = AKT.kod === 'EU'\r\n      ? 'Az EU-27 (a 2020 ut\u00e1ni tag\u00e1llami k\u00f6r) \u00e1tlaga ' + evTol(ELSO_EV + 1) + ' \u00e9rhet\u0151 el, ez\u00e9rt a kiindul\u00f3 \u00e9v ' + ELSO_EV + '.'\r\n      : 'Az Eurostat harmoniz\u00e1lt indexe ' + AKT.nev + ' eset\u00e9ben ' + evTol(ELSO_EV + 1) + ' k\u00f6zli az \u00e9ves v\u00e1ltoz\u00e1st, ez\u00e9rt a kiindul\u00f3 \u00e9v ' + ELSO_EV + '.';\r\n    var penzMagyarazat = AKT.penznem === 'EUR'\r\n      ? (AKT.euroEv ? ' Az \u00f6sszegek eur\u00f3ban \u00e9rtend\u0151k; az eur\u00f3 ' + evTol(AKT.euroEv) + ' hivatalos fizet\u0151eszk\u00f6z, a kor\u00e1bbi \u00e9vekre a nemzeti valut\u00e1t a r\u00f6gz\u00edtett \u00e1tv\u00e1lt\u00e1si \u00e1rfolyamon kell eur\u00f3ra \u00e1tsz\u00e1m\u00edtani.' : ' Az \u00f6sszegek eur\u00f3ban \u00e9rtend\u0151k.')\r\n      : ' Az \u00f6sszegek ' + PENZNEMEK[AKT.penznem].jel + ' p\u00e9nznemben (a helyi valut\u00e1ban) \u00e9rtend\u0151k.';\r\n    return 'Eurostat, harmoniz\u00e1lt fogyaszt\u00f3i\u00e1r-index (HICP), \u00e9ves \u00e1tlagos v\u00e1ltoz\u00e1s (prc_hicp_ainr adatb\u00e1zis), ' + (ELSO_EV + 1) + '\u2013' + UTOLSO_ADAT_EV + '. ' +\r\n      kezdoMagyarazat + ' Az adatok lek\u00e9rdez\u00e9se: ' + pontVeg(ADAT_FRISSITVE) + ' ' + becsl + penzMagyarazat +\r\n      ' A HICP m\u00f3dszertana kiss\u00e9 elt\u00e9r a nemzeti fogyaszt\u00f3i\u00e1r-indexek\u00e9t\u0151l.' + kozos;\r\n  }\r\n\r\n  \/* ==========================================================\r\n     7. CHART.JS BET\u00d6LT\u00c9SE (egyszer, megosztva)\r\n     ========================================================== *\/\r\n  function chartJsBetoltes() {\r\n    if (window.Chart) return Promise.resolve(window.Chart);\r\n    if (!window.__iocChartJs) {\r\n      window.__iocChartJs = new Promise(function (ok, hiba) {\r\n        var s = document.createElement('script');\r\n        s.src = CHARTJS_URL;\r\n        s.async = true;\r\n        s.onload = function () { ok(window.Chart); };\r\n        s.onerror = hiba;\r\n        document.head.appendChild(s);\r\n      });\r\n    }\r\n    return window.__iocChartJs;\r\n  }\r\n\r\n  \/\/ Chart.js-b\u0151v\u00edtm\u00e9ny: feh\u00e9r h\u00e1tt\u00e9r a v\u00e1szonra, hogy a let\u00f6lt\u00f6tt PNG ne legyen \u00e1tl\u00e1tsz\u00f3\r\n  var feherHatter = {\r\n    id: 'iocFeherHatter',\r\n    beforeDraw: function (chart) {\r\n      var c = chart.ctx;\r\n      c.save(); c.globalCompositeOperation = 'destination-over';\r\n      c.fillStyle = '#ffffff'; c.fillRect(0, 0, chart.width, chart.height);\r\n      c.restore();\r\n    }\r\n  };\r\n\r\n  \/\/ Chart.js-b\u0151v\u00edtm\u00e9ny: halv\u00e1ny s\u00e1v \u00e9s \"becsl\u00e9s\" felirat a becs\u00fclt \u00e9vek m\u00f6g\u00f6tt\r\n  var becslesSav = {\r\n    id: 'iocBecslesSav',\r\n    beforeDatasetsDraw: function (chart, args, opts) {\r\n      if (opts.kezdoIndex == null || opts.kezdoIndex < 0) return;\r\n      var x = chart.scales.x, ca = chart.chartArea, c = chart.ctx;\r\n      \/\/ a s\u00e1v az utols\u00f3 val\u00f3s \u00e9s az els\u0151 becs\u00fclt \u00e9v k\u00f6z\u00f6tti f\u00e9l\u00fatt\u00f3l indul\r\n      var bal = opts.kezdoIndex > 0 ? (x.getPixelForValue(opts.kezdoIndex - 1) + x.getPixelForValue(opts.kezdoIndex)) \/ 2 : ca.left;\r\n      c.save();\r\n      c.fillStyle = 'rgba(244, 248, 252, 0.9)';\r\n      c.fillRect(bal, ca.top, ca.right - bal, ca.bottom - ca.top);\r\n      c.strokeStyle = SZIN.line; c.setLineDash([4, 4]);\r\n      c.beginPath(); c.moveTo(bal, ca.top); c.lineTo(bal, ca.bottom); c.stroke();\r\n      c.fillStyle = SZIN.muted; c.font = '11px sans-serif'; c.textAlign = 'left';\r\n      if (ca.right - bal > 50) c.fillText('becsl\u00e9s \u2192', bal + 6, ca.top + 14);\r\n      c.restore();\r\n    }\r\n  };\r\n\r\n  \/* ==========================================================\r\n     8. A KALKUL\u00c1TOR ELEM\r\n     ----------------------------------------------------------\r\n     Saj\u00e1t HTML-elem (<ioc-inflacio>), Shadow DOM-mal.\r\n     Ha egy oldalon t\u00f6bbsz\u00f6r szerepel, mindegyik \u00f6n\u00e1ll\u00f3 p\u00e9ld\u00e1ny.\r\n     ========================================================== *\/\r\n  class IocInflacio extends HTMLElement {\r\n    connectedCallback() {\r\n      if (this._kesz) return;          \/\/ WP n\u00e9ha \u00fajra beilleszti az elemet\r\n      this._kesz = true;\r\n      this._chart = null;\r\n\r\n      var root = this.attachShadow({ mode: 'open' });\r\n      root.innerHTML = '<style>' + CSS + '<\/style>' + vaz();\r\n      this._r = root;\r\n\r\n      this._osszChart = null;\r\n      this._osszevetesInit();                             \/\/ \u00f6sszevet\u00e9s: alap\u00e9rtelmezett orsz\u00e1gok\r\n      this._orszagValtas('HU');                           \/\/ alap\u00e9rtelmezett orsz\u00e1g\r\n      var voltParameter = this._parameterekBetoltese();   \/\/ megosztott link eset\u00e9n\r\n      this._esemenyek();\r\n      this._szamol();\r\n      this._osszevetes();                                 \/\/ a t\u00e1bl\u00e1zat grafikon n\u00e9lk\u00fcl is kit\u00f6lt\u0151dik\r\n\r\n      \/\/ Megosztott linkkel \u00e9rkezett olvas\u00f3t odag\u00f6rgetj\u00fck a kalkul\u00e1torhoz\r\n      if (voltParameter) {\r\n        var elem = this;\r\n        setTimeout(function () { elem.scrollIntoView({ behavior: 'smooth', block: 'start' }); }, 400);\r\n      }\r\n\r\n      \/\/ A grafikon csak a Chart.js meg\u00e9rkez\u00e9se ut\u00e1n rajzol\u00f3dik ki;\r\n      \/\/ a sz\u00e1mok \u00e9s a t\u00e1bl\u00e1zat addig is m\u0171k\u00f6dnek.\r\n      var self = this;\r\n      chartJsBetoltes().then(function () { self._rajzol(); self._osszevetes(); }).catch(function () {\r\n        root.querySelector('.vaszon').innerHTML = '<div class=\"grafikon-hiba\">A grafikon most nem t\u00f6lthet\u0151 be. Az eredm\u00e9nyek \u00e9s a t\u00e1bl\u00e1zat \u00edgy is pontosak.<\/div>';\r\n        root.querySelector('#png').hidden = true;\r\n        root.querySelector('#ossz-vaszon').parentNode.innerHTML = '<div class=\"grafikon-hiba\">A grafikon most nem t\u00f6lthet\u0151 be. A t\u00e1bl\u00e1zat \u00edgy is pontos.<\/div>';\r\n        root.querySelector('#ossz-png').hidden = true;\r\n      });\r\n\r\n      \/\/ \u00c9l\u0151 adatok: ha meg\u00e9rkeztek, ugyanazokkal a be\u00e1ll\u00edt\u00e1sokkal \u00fajrasz\u00e1molunk\r\n      eloAdatBetoltes().then(function (valtozott) {\r\n        if (valtozott) {\r\n          self._orszagValtas(self.$('#orszag').value, true);\r\n          self._szamol();\r\n          self._rajzol();\r\n          self._osszevetes(true);\r\n        } else {\r\n          self.$('#adat-allapot').textContent = ADAT_ALLAPOT.szoveg;\r\n        }\r\n      });\r\n    }\r\n\r\n    $(sel) { return this._r.querySelector(sel); }\r\n\r\n    _esemenyek() {\r\n      var self = this;\r\n      this.$('#osszeg').addEventListener('input', function (e) { elofoTagolas(e.target); });\r\n      ['#varhato', '#sajat'].forEach(function (s) { self.$(s).addEventListener('input', function (e) { tizedesSzuro(e.target, RATA_MIN, RATA_MAX); }); });\r\n\r\n      \/\/ minden v\u00e1ltoz\u00e1sra \u00fajrasz\u00e1molunk (r\u00f6vid k\u00e9sleltet\u00e9ssel, hogy g\u00e9pel\u00e9s k\u00f6zben ne villogjon)\r\n      var idozito;\r\n      this._r.querySelectorAll('input, select').forEach(function (m) {\r\n        if (m.closest('#osszevetes')) return;             \/\/ az \u00f6sszevet\u00e9snek saj\u00e1t kezel\u0151je van\r\n        m.addEventListener('input', function () {\r\n          clearTimeout(idozito);\r\n          idozito = setTimeout(function () { self._szamol(); self._rajzol(); }, 150);\r\n        });\r\n      });\r\n\r\n      \/\/ +\/\u2212 gombok: a leg\u00f6rd\u00fcl\u0151ben egy \u00e9vvel el\u0151re vagy h\u00e1tra l\u00e9pnek\r\n      this._r.querySelectorAll('[data-lep]').forEach(function (gomb) {\r\n        gomb.addEventListener('click', function () {\r\n          var s = self.$('#' + gomb.dataset.lep);\r\n          var uj = s.selectedIndex + Number(gomb.dataset.irany);\r\n          if (uj < 0 || uj >= s.options.length) return;\r\n          s.selectedIndex = uj;\r\n          s.dispatchEvent(new Event('input'));   \/\/ ugyan\u00fagy \u00fajrasz\u00e1mol, mintha a leg\u00f6rd\u00fcl\u0151b\u0151l v\u00e1lasztottak volna\r\n        });\r\n      });\r\n\r\n      \/\/ Ir\u00e1nyv\u00e1lt\u00f3: ha a k\u00e9rt ir\u00e1ny nem egyezik a mostanival, a k\u00e9t \u00e9v helyet cser\u00e9l\r\n      this._r.querySelectorAll('[data-irany-mod]').forEach(function (g) {\r\n        g.addEventListener('click', function () {\r\n          var tol = self.$('#tol'), ig = self.$('#ig');\r\n          var visszaKell = g.dataset.iranyMod === 'vissza';\r\n          if ((Number(tol.value) > Number(ig.value)) !== visszaKell && tol.value !== ig.value) {\r\n            var t = tol.value; tol.value = ig.value; ig.value = t;\r\n          }\r\n          self._szamol(); self._rajzol();\r\n        });\r\n      });\r\n\r\n      \/\/ Adatforr\u00e1s-v\u00e1lt\u00f3: KSH-adatok vagy saj\u00e1t \u00e1lland\u00f3 r\u00e1ta\r\n      this._r.querySelectorAll('input[name=\"forras\"]').forEach(function (r) {\r\n        r.addEventListener('change', function () {\r\n          var sajatMod = self.$('input[name=\"forras\"]:checked').value === 'sajat';\r\n          self.$('#sajat').disabled = !sajatMod;\r\n          if (sajatMod) self.$('#sajat').focus();\r\n          self._szamol(); self._rajzol();\r\n        });\r\n      });\r\n\r\n      \/\/ Orsz\u00e1gv\u00e1lt\u00e1s: \u00faj \u00e9vtartom\u00e1ny, p\u00e9nznem, jegybanki c\u00e9l \u00e9s feliratok\r\n      this.$('#orszag').addEventListener('change', function (e) {\r\n        self._orszagValtas(e.target.value);\r\n        self._szamol(); self._rajzol();\r\n      });\r\n\r\n      this.$('#link').addEventListener('click', function () { self._linkMasolas(); });\r\n      this.$('#png').addEventListener('click', function () { self._pngLetoltes(); });\r\n      this.$('#csv').addEventListener('click', function () { self._csvLetoltes(); });\r\n\r\n      \/\/ \u00d6sszevet\u00e9s: orsz\u00e1gok \u00e9s \u00e9vek v\u00e1ltoz\u00e1sa, lenyit\u00e1s (a grafikon csak l\u00e1that\u00f3 dobozban m\u00e9retez\u0151dik j\u00f3l)\r\n      ['#ossz-1', '#ossz-2', '#ossz-3', '#ossz-4', '#ossz-tol', '#ossz-ig'].forEach(function (sel) {\r\n        self.$(sel).addEventListener('change', function (e) {\r\n          e.stopPropagation();\r\n          self._osszevetes(sel === '#ossz-tol' || sel === '#ossz-ig');\r\n        });\r\n      });\r\n      this.$('#osszevetes').addEventListener('toggle', function () { if (self.$('#osszevetes').open) self._osszevetes(true); });\r\n      this.$('#ossz-png').addEventListener('click', function () { self._osszPng(); });\r\n    }\r\n\r\n    \/\/ Beviteli \u00e9rt\u00e9kek kiolvas\u00e1sa \u00e9s ellen\u0151rz\u00e9se\r\n    _bemenet() {\r\n      var b = {\r\n        osszeg: beolvas(this.$('#osszeg').value),\r\n        tol: Number(this.$('#tol').value),\r\n        ig: Number(this.$('#ig').value),\r\n        varhato: beolvas(this.$('#varhato').value),\r\n        sajatMod: this.$('input[name=\"forras\"]:checked').value === 'sajat',\r\n        sajat: beolvas(this.$('#sajat').value),\r\n        hiba: ''\r\n      };\r\n      \/\/ a v\u00e1rhat\u00f3 infl\u00e1ci\u00f3 csak akkor sz\u00e1m\u00edt, ha KSH-m\u00f3dban vagyunk,\r\n      \/\/ \u00e9s a v\u00e1lasztott id\u0151szak belel\u00f3g a becs\u00fclt \u00e9vekbe\r\n      b.kellBecsles = !b.sajatMod && Math.max(b.tol, b.ig) >= BECSLES_KEZDO_EV;\r\n      this.$('#varhato-mezo').classList.toggle('halvany', !b.kellBecsles);\r\n      this.$('#varhato').disabled = b.sajatMod;\r\n\r\n      \/\/ a l\u00e9ptet\u0151gombok a lista k\u00e9t v\u00e9g\u00e9n letilt\u00f3dnak\r\n      ['tol', 'ig'].forEach(function (id) {\r\n        var s = this.$('#' + id);\r\n        this.$('[data-lep=\"' + id + '\"][data-irany=\"-1\"]').disabled = s.selectedIndex <= 0;\r\n        this.$('[data-lep=\"' + id + '\"][data-irany=\"1\"]').disabled = s.selectedIndex >= s.options.length - 1;\r\n      }, this);\r\n\r\n      if (!(b.osszeg > 0)) b.hiba = 'Adj meg egy null\u00e1n\u00e1l nagyobb \u00f6sszeget.';\r\n      else if (b.osszeg > OSSZEG_MAX) b.hiba = 'Legfeljebb 100 milli\u00e1rdos \u00f6sszeggel sz\u00e1molok.';\r\n      else if (b.kellBecsles && !(b.varhato >= RATA_MIN && b.varhato <= RATA_MAX)) b.hiba = 'A v\u00e1rhat\u00f3 infl\u00e1ci\u00f3t \u221210 \u00e9s 50% k\u00f6z\u00f6tt adhatod meg.';\r\n      else if (b.sajatMod && !(b.sajat >= RATA_MIN && b.sajat <= RATA_MAX)) b.hiba = 'A saj\u00e1t r\u00e1t\u00e1t \u221210 \u00e9s 50% k\u00f6z\u00f6tt adhatod meg.';\r\n      if (!isFinite(b.varhato)) b.varhato = CEL;  \/\/ a sz\u00e1m\u00edt\u00e1shoz kell egy \u00e9rt\u00e9k akkor is, ha nem haszn\u00e1ljuk\r\n      return b;\r\n    }\r\n\r\n    _kiir(n, nev, ertek) {\r\n      this.$('[data-nev=\"' + n + '\"]').innerHTML = nev;\r\n      var x = this.$('[data-ertek=\"' + n + '\"]');\r\n      x.textContent = ertek;\r\n      x.classList.toggle('hosszu', String(ertek).length > 13);\r\n    }\r\n\r\n    \/\/ Eredm\u00e9nyek kisz\u00e1m\u00edt\u00e1sa \u00e9s ki\u00edr\u00e1sa\r\n    _szamol() {\r\n      var b = this._bemenet();\r\n      this.$('.hiba').textContent = b.hiba;\r\n      this._adat = null;\r\n      if (b.hiba) {\r\n        \/\/ hib\u00e1s bemenetn\u00e9l ne maradjon kint a kor\u00e1bbi (m\u00e1r nem \u00e9rv\u00e9nyes) eredm\u00e9ny\r\n        this.$('tbody').innerHTML = '';\r\n        this._r.querySelectorAll('[data-ertek]').forEach(function (x) { x.textContent = '\u2013'; });\r\n        this.$('.mondat').innerHTML = '';\r\n        return;\r\n      }\r\n\r\n      csillagKi = b.sajatMod;\r\n      var e = szamitas(b.osszeg, b.tol, b.ig, b.varhato, b.sajatMod ? b.sajat : null);\r\n      this._adat = { b: b, e: e };\r\n      var korabbi = Math.min(b.tol, b.ig), kesobbi = Math.max(b.tol, b.ig);\r\n      var cimke = b.sajatMod ? '<span class=\"becsles-cimke\">saj\u00e1t r\u00e1ta<\/span>'\r\n                : e.becsultEvek ? '<span class=\"becsles-cimke\">becsl\u00e9s<\/span>' : '';\r\n\r\n      this._kiir(1, (AKT.kod === 'HU' ? '' : AKT.nev + ': ') + fmtFt.format(b.osszeg) + ' (' + evCimke(b.tol) + ') \u00e9rt\u00e9ke ' + evEs(b.ig) + ' \u00e1rakon' + cimke, fmtFt.format(e.ertek));\r\n      this._kiir(2, '\u00c1remelked\u00e9s ' + evCimke(korabbi) + '\u2013' + evCimke(kesobbi) + ' k\u00f6z\u00f6tt', szazalek(e.osszesDragulas));\r\n      this._kiir(3, '\u00c1tlagos \u00e9ves infl\u00e1ci\u00f3', szazalek(e.eviAtlag));\r\n\r\n      \/\/ \u00c1rindex a k\u00e9t kiv\u00e1lasztott \u00e9vre (KSH-m\u00f3dban; saj\u00e1t r\u00e1t\u00e1n\u00e1l nincs \u00e9rtelme)\r\n      this.$('.index-sor').textContent = b.sajatMod ? '' :\r\n        '\u00c1rindex (' + ELSO_EV + ' = 100): ' + evCimke(b.tol) + ': ' + fmtIndex.format(e.indexTol) + ' \u2192 ' + evCimke(b.ig) + ': ' + fmtIndex.format(e.indexIg) +\r\n        (e.becsultEvek ? ' (becs\u00fclt)' : '');\r\n\r\n      \/\/ Magyar\u00e1z\u00f3 mondat: m\u00falt id\u0151, ha csak val\u00f3s adat van; felt\u00e9teles, ha a j\u00f6v\u0151be ny\u00falik vagy saj\u00e1t r\u00e1t\u00e1val sz\u00e1molunk\r\n      var mondat, felteteles = b.sajatMod || becsultEv(b.ig);\r\n      if (b.tol === b.ig) {\r\n        mondat = 'Ugyanabban az \u00e9vben az \u00f6sszeg \u00e9rt\u00e9ke nem v\u00e1ltozik. V\u00e1lassz k\u00e9t k\u00fcl\u00f6nb\u00f6z\u0151 \u00e9vet.';\r\n      } else if (b.tol < b.ig) {\r\n        mondat = (b.sajatMod ? '\u00c9vi <strong>' + szazalek(b.sajat) + '<\/strong>-os \u00e1lland\u00f3 infl\u00e1ci\u00f3val sz\u00e1molva: a' : 'A') +\r\n          'mit ' + evBan(b.tol) + ' <strong>' + fmtFt.format(b.osszeg) + '<\/strong>-\u00e9rt ' + (becsultEv(b.tol) ? 'veszel' : 'vett\u00e9l') + ' meg, az ' +\r\n          evBan(b.ig) + (b.sajatMod ? '' : felteteles ? ' a becsl\u00e9s szerint' : ' \u00e1tlagosan') + ' <strong>' + fmtFt.format(e.ertek) + '<\/strong>-' + rag('ba') + ' ker\u00fcl' + (felteteles ? 'ne' : '') + '. Ford\u00edtva: ' +\r\n          evBan(b.ig) + ' ' + fmtFt.format(b.osszeg) + ' csak annyit \u00e9r' + (felteteles ? 'ne' : '') + ', mint ' + evBan(b.tol) + ' <strong>' + fmtFt.format(e.vasarloero) + '<\/strong>.';\r\n      } else {\r\n        \/\/ Visszafel\u00e9: egy k\u00e9s\u0151bbi (pl. mai) \u00f6sszeg egy kor\u00e1bbi \u00e9v \u00e1rain.\r\n        \/\/ Az ige ideje: val\u00f3s m\u00faltbeli adatn\u00e1l \"ker\u00fclt\", becsl\u00e9sn\u00e9l vagy saj\u00e1t r\u00e1t\u00e1n\u00e1l \"ker\u00fclt volna\".\r\n        var multbeliValos = !b.sajatMod && !becsultEv(b.tol);\r\n        mondat = (b.sajatMod ? '\u00c9vi <strong>' + szazalek(b.sajat) + '<\/strong>-os \u00e1lland\u00f3 infl\u00e1ci\u00f3val sz\u00e1molva: a' : 'A') +\r\n          'mit ' + evBan(b.tol) + ' <strong>' + fmtFt.format(b.osszeg) + '<\/strong>-\u00e9rt ' + (b.tol >= MAI_EV ? 'veszel' : 'vett\u00e9l') + ' meg, az ' +\r\n          evBan(b.ig) + (multbeliValos ? ' \u00e1tlagosan' : '') + ' <strong>' + fmtFt.format(e.ertek) + '<\/strong>-' + rag('ba') + ' ker\u00fclt' + (multbeliValos ? '' : ' volna') + '. ' +\r\n          'M\u00e1s sz\u00f3val: egy ' + evEs(b.tol) + ' ' + fmtFt.format(b.osszeg) + ' ' + evEs(b.ig) + ' \u00e1rakon <strong>' + fmtFt.format(e.ertek) + '<\/strong>-' + rag('nak') + ' felel meg.';\r\n      }\r\n      if (b.sajatMod) {\r\n        \/\/ kontraszt: mennyi lett\/lenne a val\u00f3s (KSH + becsl\u00e9s) adatokkal\r\n        var valos = szamitas(b.osszeg, b.tol, b.ig, b.varhato, null);\r\n        mondat += ' ' + FORRASOK[AKT.forras].vele + (valos.becsultEvek ? ' \u00e9s a v\u00e1rhat\u00f3 infl\u00e1ci\u00f3val' : '') + ' ez <strong>' + fmtFt.format(valos.ertek) + '<\/strong> lenne.';\r\n      } else if (e.becsultEvek) {\r\n        mondat += ' Ebb\u0151l ' + e.becsultEvek + ' \u00e9v (' + evTol(Math.max(korabbi + 1, BECSLES_KEZDO_EV)) + ') becsl\u00e9s, \u00e9vi <strong>' + szazalek(b.varhato) + '<\/strong>-os infl\u00e1ci\u00f3val.';\r\n      }\r\n      this.$('.mondat').innerHTML = mondat;\r\n\r\n      \/\/ KSH-m\u00f3dban a saj\u00e1t r\u00e1ta mez\u0151je a v\u00e1lasztott id\u0151szak t\u00e9nyleges \u00e1tlag\u00e1t mutatja,\r\n      \/\/ \u00edgy \u00e1tkapcsol\u00e1skor ebb\u0151l lehet kiindulni (\u00e9s visszakapcsol\u00e1skor ide \u00e1ll vissza).\r\n      if (!b.sajatMod) this.$('#sajat').value = fmtSzazalek.format(e.eviAtlag);\r\n\r\n      \/\/ Ir\u00e1nyv\u00e1lt\u00f3 gombok \u00e1llapota: a k\u00e9t \u00e9v sorrendj\u00e9b\u0151l k\u00f6vetkezik\r\n      var vissza = b.tol > b.ig;\r\n      this._r.querySelectorAll('[data-irany-mod]').forEach(function (g) {\r\n        g.setAttribute('aria-pressed', String((g.dataset.iranyMod === 'vissza') === vissza));\r\n      });\r\n\r\n      \/\/ Grafikon- \u00e9s t\u00e1bl\u00e1zatfeliratok az ir\u00e1nynak megfelel\u0151en\r\n      var visszaIrany = b.tol > b.ig;\r\n      this._vonalCimke = visszaIrany ? fmtFt.format(b.osszeg) + ' \u00e9rt\u00e9ke ' + evEs(b.ig) + ' \u00e1rakon' : 'Infl\u00e1ci\u00f3val korrig\u00e1lt \u00e9rt\u00e9k';\r\n      this.$('.doboz-cim').textContent = visszaIrany ? '\u00c9vr\u0151l \u00e9vre ennyit \u00e9r ' + fmtFt.format(b.osszeg) + ' ' + evEs(b.ig) + ' \u00e1rakon' : 'Ennyi p\u00e9nz kell ugyanahhoz a kos\u00e1rhoz';\r\n      this.$('#ertek-fej').textContent = visszaIrany ? fmtFt.format(b.osszeg) + ' \u00e9rt\u00e9ke ' + evEs(b.ig) + ' \u00e1rakon' : 'Az \u00f6sszeg megfelel\u0151je';\r\n\r\n      this.$('.megjegyzes').textContent = (visszaIrany ? 'Vonal: az adott \u00e9vi ' + fmtFt.format(b.osszeg) + ' \u00e9rt\u00e9ke ' + evEs(b.ig) + ' \u00e1rakon.' : 'Vonal: az \u00f6sszeg infl\u00e1ci\u00f3val korrig\u00e1lt \u00e9rt\u00e9ke.') + ' Oszlopok: az adott \u00e9vi infl\u00e1ci\u00f3 (jobb tengely).' +\r\n        (b.sajatMod ? ' Saj\u00e1t, \u00e1lland\u00f3 r\u00e1t\u00e1val sz\u00e1molva, nem val\u00f3s adat.' : '') +\r\n        (e.becsultEvek ? ' A halv\u00e1ny s\u00e1v a becs\u00fclt \u00e9veket jel\u00f6li.' : '') +\r\n        (!b.sajatMod && ELOZETES_EV && korabbi <= ELOZETES_EV && kesobbi >= ELOZETES_EV ? ' * ' + ELOZETES_EV + ': el\u0151zetes adat.' : '') +\r\n        \/\/ eur\u00f3\u00f6vezeti orsz\u00e1gn\u00e1l az eur\u00f3 el\u0151tti \u00e9vek magyar\u00e1zata\r\n        (AKT.euroEv && korabbi < AKT.euroEv ? ' ' + AKT.nev + ': az eur\u00f3 ' + evTol(AKT.euroEv) + ' hivatalos fizet\u0151eszk\u00f6z, a kor\u00e1bbi \u00e9vek \u00f6sszegei eur\u00f3ra \u00e1tsz\u00e1m\u00edtva \u00e9rtend\u0151k.' : '');\r\n\r\n      this._tablazat(e);\r\n    }\r\n\r\n    \/* Orsz\u00e1gv\u00e1lt\u00e1s: be\u00e1ll\u00edtja az aktu\u00e1lis orsz\u00e1got, \u00fajra\u00e9p\u00edti az \u00e9vv\u00e1laszt\u00f3kat\r\n       (a kiv\u00e1lasztott \u00e9veket az \u00faj tartom\u00e1nyba igaz\u00edtva), \u00e9s friss\u00edti a\r\n       p\u00e9nznemet, a jegybanki c\u00e9lt \u00e9s az adatforr\u00e1s sz\u00f6veg\u00e9t. *\/\r\n    _orszagValtas(kod, varhatoMarad) {\r\n      var regiTol = Number(this.$('#tol').value), regiIg = Number(this.$('#ig').value);\r\n      var regiVarhato = this.$('#varhato').value;\r\n      orszagBeallit(kod);\r\n      this.$('#orszag').value = AKT.kod;\r\n      var igazit = function (ev, alap) { return ev >= ELSO_EV && ev <= MAX_EV ? ev : alap; };\r\n      this.$('#tol').innerHTML = evOpciok(igazit(regiTol, Math.max(ELSO_EV, 2010)));\r\n      this.$('#ig').innerHTML = evOpciok(igazit(regiIg, MAI_EV));\r\n      this.$('#penznem-jel').textContent = PENZNEMEK[AKT.penznem].jel;\r\n      \/\/ \u00e9l\u0151 adat \u00e9rkez\u00e9sekor nem \u00edrjuk fel\u00fcl, amit az olvas\u00f3 m\u00e1r be\u00edrt\r\n      this.$('#varhato').value = varhatoMarad && regiVarhato ? regiVarhato : fmtSzazalek.format(CEL);\r\n      this.$('#varhato-cimke').textContent = 'V\u00e1rhat\u00f3 \u00e1tlagos infl\u00e1ci\u00f3 ' + evTol(BECSLES_KEZDO_EV);\r\n      this.$('#cel-sugo').textContent = 'Alap\u00e9rt\u00e9k: ' + AKT.celNev + ' ' + szazalek(CEL) + '-os infl\u00e1ci\u00f3s c\u00e9lja';\r\n      this.$('#forras-cimke').textContent = FORRASOK[AKT.forras].cimke + ' (' + evTol(BECSLES_KEZDO_EV) + ' becsl\u00e9ssel)';\r\n      this.$('#index-fej').textContent = '\u00c1rindex (' + ELSO_EV + ' = 100)';\r\n      this.$('#adatforras').innerHTML = '<strong>Adatforr\u00e1s:<\/strong> ' + adatforrasSzoveg();\r\n      this.$('#adat-allapot').textContent = ADAT_ALLAPOT.szoveg;\r\n      this.$('#adat-allapot').classList.toggle('elo', ADAT_ALLAPOT.elo);\r\n    }\r\n\r\n    \/* Megosztott link beolvas\u00e1sa. A param\u00e9terek inf_ el\u0151tagot kapnak,\r\n       hogy ne \u00fctk\u00f6zzenek a WordPress saj\u00e1t param\u00e9tereivel (p, preview stb.).\r\n       Csak \u00e9rv\u00e9nyes \u00e9rt\u00e9ket fogadunk el; a hib\u00e1sat csendben kihagyjuk. *\/\r\n    _parameterekBetoltese() {\r\n      var q;\r\n      try { q = new URLSearchParams(window.location.search); } catch (e) { return false; }\r\n      var volt = false, self = this;\r\n      var szamParam = function (nev) { var v = q.get(nev); return v === null ? NaN : parseFloat(v); };\r\n      var evBeallit = function (id, ev) {\r\n        if (ev >= ELSO_EV && ev <= MAX_EV && Math.round(ev) === ev) { self.$('#' + id).value = String(ev); volt = true; }\r\n      };\r\n\r\n      \/\/ az orsz\u00e1g j\u00f6n el\u0151sz\u00f6r, mert az \u00e9vtartom\u00e1ny \u00e9s a p\u00e9nznem ett\u0151l f\u00fcgg\r\n      var orszag = q.get('inf_orszag');\r\n      \/\/ csak ismert orsz\u00e1gk\u00f3d (a __proto__, constructor \u00e9s t\u00e1rsai ne akassz\u00e1k ki a kalkul\u00e1tort)\r\n      if (orszag && Object.prototype.hasOwnProperty.call(ORSZAGOK, orszag)) { this._orszagValtas(orszag); volt = true; }\r\n      var osszeg = szamParam('inf_osszeg');\r\n      if (osszeg > 0 && osszeg <= OSSZEG_MAX) { this.$('#osszeg').value = fmtSzam.format(Math.round(osszeg)); volt = true; }\r\n      evBeallit('tol', szamParam('inf_tol'));\r\n      evBeallit('ig', szamParam('inf_ig'));\r\n      var varhato = szamParam('inf_varhato');\r\n      var ketTized = new Intl.NumberFormat('hu-HU', { maximumFractionDigits: 2 });   \/\/ a link \u00e9rt\u00e9k\u00e9t ne kerek\u00edts\u00fck a hat\u00e1ron t\u00falra\r\n      if (varhato >= RATA_MIN && varhato <= RATA_MAX) { this.$('#varhato').value = ketTized.format(varhato); volt = true; }\r\n      var sajat = szamParam('inf_sajat');\r\n      if (sajat >= RATA_MIN && sajat <= RATA_MAX) {\r\n        this.$('input[name=\"forras\"][value=\"sajat\"]').checked = true;\r\n        this.$('#sajat').disabled = false;\r\n        this.$('#sajat').value = ketTized.format(sajat);\r\n        this.$('.reszletek').open = true;\r\n        volt = true;\r\n      }\r\n      return volt;\r\n    }\r\n\r\n    \/\/ A mostani be\u00e1ll\u00edt\u00e1sokb\u00f3l link k\u00e9sz\u00fcl, \u00e9s a v\u00e1g\u00f3lapra ker\u00fcl\r\n    _linkMasolas() {\r\n      if (!this._adat) return;\r\n      var b = this._adat.b;\r\n      var url = new URL(window.location.href);\r\n      ['inf_orszag', 'inf_osszeg', 'inf_tol', 'inf_ig', 'inf_varhato', 'inf_sajat', 'inf_nezet']  \/* inf_nezet: egy kor\u00e1bbi v\u00e1ltozat param\u00e9tere, csak takar\u00edtjuk *\/.forEach(function (k) { url.searchParams.delete(k); });\r\n      if (AKT.kod !== 'HU') url.searchParams.set('inf_orszag', AKT.kod);\r\n      url.searchParams.set('inf_osszeg', String(Math.round(b.osszeg)));\r\n      url.searchParams.set('inf_tol', String(b.tol));\r\n      url.searchParams.set('inf_ig', String(b.ig));\r\n      if (b.kellBecsles) url.searchParams.set('inf_varhato', String(b.varhato));   \/\/ csak ha sz\u00e1m\u00edt\r\n      if (b.sajatMod) url.searchParams.set('inf_sajat', String(b.sajat));\r\n      url.hash = '';\r\n      var link = url.toString();\r\n\r\n      var allapot = this.$('.megosztas .allapot'), mezo = this.$('.link-mezo');\r\n      var siker = function () {\r\n        mezo.hidden = true;\r\n        allapot.textContent = '\u2713 Link m\u00e1solva, beillesztheted b\u00e1rhov\u00e1';\r\n        allapot.classList.add('ok');\r\n        clearTimeout(allapot._t);\r\n        allapot._t = setTimeout(function () { allapot.textContent = ''; allapot.classList.remove('ok'); }, 4000);\r\n      };\r\n      var tartalek = function () {\r\n        \/\/ ha a b\u00f6ng\u00e9sz\u0151 nem engedi a v\u00e1g\u00f3lapot, megmutatjuk a linket kijel\u00f6lve\r\n        mezo.hidden = false; mezo.value = link; mezo.focus(); mezo.select();\r\n        allapot.classList.remove('ok');\r\n        allapot.textContent = 'M\u00e1sold ki a kijel\u00f6lt linket (Ctrl+C):';\r\n      };\r\n      if (navigator.clipboard && window.isSecureContext) navigator.clipboard.writeText(link).then(siker, tartalek);\r\n      else tartalek();\r\n    }\r\n\r\n    \/\/ \u00c9venk\u00e9nti t\u00e1bl\u00e1zat felt\u00f6lt\u00e9se\r\n    _tablazat(e) {\r\n      var html = '';\r\n      e.sor.forEach(function (s, i) {\r\n        html += '<tr' + (s.becsles ? ' class=\"becsult\"' : '') + '><td>' + evCimke(s.ev) + '<\/td><td>' +\r\n          (i === 0 || s.inflacio === null ? '\u2013' : szazalek(s.inflacio)) + '<\/td><td>' + fmtFt.format(s.ertek) + '<\/td><td>' +\r\n          (i === 0 ? '\u2013' : szazalek(s.halmozott)) + '<\/td><td>' + fmtIndex.format(s.index) + '<\/td><\/tr>';\r\n      });\r\n      this.$('tbody').innerHTML = html;\r\n      \/\/ saj\u00e1t r\u00e1ta m\u00f3dban az \u00e1rindexnek nincs val\u00f3s jelent\u00e9se, ez\u00e9rt az oszlopot elrejtj\u00fck\r\n      this.$('table').classList.toggle('index-nelkul', this._adat.b.sajatMod);\r\n    }\r\n\r\n    \/\/ Grafikon fel\u00e9p\u00edt\u00e9se vagy friss\u00edt\u00e9se\r\n    _rajzol() {\r\n      if (!window.Chart) return;\r\n      var vaszon = this.$('canvas');\r\n      if (!this._adat) { if (this._chart) { this._chart.destroy(); this._chart = null; } return; }\r\n\r\n      var cfg = this._cfg();\r\n      vaszon.setAttribute('aria-label', this.$('.doboz-cim').textContent + '. ' + this.$('.mondat').textContent);\r\n      if (this._chart) {\r\n        this._chart.data = cfg.data;\r\n        this._chart.options = cfg.options;\r\n        this._chart.update();\r\n      } else {\r\n        this._chart = new window.Chart(vaszon, cfg);\r\n      }\r\n    }\r\n\r\n    _cfg() {\r\n      var sor = this._adat.e.sor, b = this._adat.b;\r\n      var kezdoIndex = sor.findIndex(function (s) { return s.becsles; });\r\n      var becsultE = function (i) { return sor[i] && sor[i].becsles; };\r\n\r\n      return {\r\n        type: 'bar',\r\n        plugins: [feherHatter, becslesSav],\r\n        data: {\r\n          labels: sor.map(function (s) { return evCimke(s.ev); }),\r\n          datasets: [\r\n            {\r\n              type: 'line', label: this._vonalCimke, data: sor.map(function (s) { return s.ertek; }),\r\n              yAxisID: 'y', borderColor: SZIN.navy, backgroundColor: SZIN.navyHalvany, borderWidth: 2.5, fill: true,\r\n              pointRadius: sor.length > 25 ? 0 : 3, pointHoverRadius: 5, pointBackgroundColor: SZIN.navy, tension: .25, order: 1,\r\n              \/\/ a becs\u00fclt szakasz szaggatott vonallal\r\n              segment: { borderDash: function (ctx) { return becsultE(ctx.p1DataIndex) ? [6, 4] : undefined; } }\r\n            },\r\n            {\r\n              type: 'bar', label: '\u00c9ves infl\u00e1ci\u00f3', data: sor.map(function (s, i) { return i === 0 ? null : s.inflacio; }),\r\n              yAxisID: 'y2',\r\n              backgroundColor: sor.map(function (s) { return s.becsles || (!b.sajatMod && s.ev === ELOZETES_EV) ? SZIN.accentNagyonHalvany : SZIN.accentHalvany; }),\r\n              borderColor: SZIN.accent, borderWidth: { top: 1.5, left: 0, right: 0, bottom: 0 }, borderRadius: 2, maxBarThickness: 26, order: 2\r\n            }\r\n          ]\r\n        },\r\n        options: {\r\n          responsive: true, maintainAspectRatio: false, animation: { duration: 350 },\r\n          interaction: { mode: 'index', intersect: false },\r\n          layout: { padding: { top: 4, right: 4 } },\r\n          scales: {\r\n            x: { grid: { display: false }, ticks: { color: SZIN.muted, maxRotation: 0, autoSkip: true, autoSkipPadding: 12 } },\r\n            y: { position: 'left', beginAtZero: true, grid: { color: SZIN.line }, ticks: { color: SZIN.muted, callback: function (v) { return fmtRovid.format(v); } } },\r\n            y2: { position: 'right', beginAtZero: b.sajatMod, grace: b.sajatMod ? '60%' : 0, grid: { display: false }, ticks: { color: SZIN.accent, callback: function (v) { return v + '%'; } },\r\n                  title: { display: true, text: '\u00e9ves infl\u00e1ci\u00f3', color: SZIN.accent } }\r\n          },\r\n          plugins: {\r\n            iocBecslesSav: { kezdoIndex: kezdoIndex },\r\n            legend: { position: 'bottom', labels: { color: SZIN.text, boxWidth: 12, boxHeight: 12, padding: 14 } },\r\n            title: { display: false, text: '', color: SZIN.navy, font: { size: 15, weight: '700' }, padding: { bottom: 12 } },\r\n            subtitle: {\r\n              display: false, color: SZIN.muted, position: 'bottom', padding: { top: 8 },\r\n              text: b.sajatMod ? 'iocharts.io \u00b7 Sz\u00e1m\u00edt\u00e1s \u00e9vi ' + szazalek(b.sajat) + '-os \u00e1lland\u00f3 infl\u00e1ci\u00f3val (nem val\u00f3s adat)' : 'iocharts.io \u00b7 ' + AKT.nev + ' \u00b7 Forr\u00e1s: ' + FORRASOK[AKT.forras].rovid + (kezdoIndex >= 0 ? ' \u00b7 ' + evTol(BECSLES_KEZDO_EV) + ' becsl\u00e9s, \u00e9vi ' + szazalek(b.varhato) + '-os infl\u00e1ci\u00f3val' : '')\r\n            },\r\n            tooltip: {\r\n              backgroundColor: SZIN.navy, titleColor: '#fff', bodyColor: '#fff', padding: 10, cornerRadius: 6,\r\n              callbacks: {\r\n                title: function (it) { return it[0].label + (becsultE(it[0].dataIndex) ? ' (becsl\u00e9s)' : ''); },\r\n                label: function (c) {\r\n                  if (c.dataset.yAxisID === 'y2') return c.raw === null ? '' : ' Infl\u00e1ci\u00f3: ' + szazalek(c.raw);\r\n                  return ' \u00c9rt\u00e9k: ' + fmtFt.format(c.raw);\r\n                }\r\n              }\r\n            }\r\n          }\r\n        }\r\n      };\r\n    }\r\n\r\n    \/\/ PNG-let\u00f6lt\u00e9s: export\u00e1l\u00e1skor c\u00edmet \u00e9s forr\u00e1st is r\u00e1tesz\u00fcnk a k\u00e9pre,\r\n    \/\/ \u00edgy a cikkben kiemelt k\u00e9pk\u00e9nt vagy k\u00f6z\u00f6ss\u00e9gi megoszt\u00e1sban is meg\u00e1llja a hely\u00e9t.\r\n    _pngLetoltes() {\r\n      if (!this._chart) return;\r\n      var ch = this._chart, b = this._adat.b, e = this._adat.e;\r\n      \/\/ \u00daj v\u00e1sznat rakunk \u00f6ssze: c\u00edm fel\u00fcl, a grafikon k\u00f6z\u00e9pen, forr\u00e1s alul.\r\n      \/\/ A grafikon v\u00e1szn\u00e1t v\u00e1ltozatlanul m\u00e1soljuk \u00e1t, \u00edgy a k\u00e9p pontosan azt mutatja, amit az olvas\u00f3 l\u00e1t.\r\n      var forras = ch.canvas, arany = forras.width \/ ch.width;   \/\/ arany: retina kijelz\u0151n 2 vagy 3\r\n      var fej = 64 * arany, lab = 36 * arany, margo = 20 * arany;\r\n      var v = document.createElement('canvas');\r\n      v.width = forras.width + 2 * margo;\r\n      v.height = forras.height + fej + lab;\r\n      var c = v.getContext('2d');\r\n      var betu = getComputedStyle(this).fontFamily || 'sans-serif';\r\n      c.fillStyle = '#ffffff'; c.fillRect(0, 0, v.width, v.height);\r\n      c.fillStyle = SZIN.accent; c.fillRect(0, 0, v.width, 4 * arany);          \/\/ narancs fels\u0151 s\u00e1v\r\n      c.fillStyle = SZIN.navy; c.font = '700 ' + (18 * arany) + 'px ' + betu;\r\n      c.fillText((AKT.kod === 'HU' ? '' : AKT.nev + ': ') + fmtFt.format(b.osszeg) + ' (' + b.tol + ') \u00e9rt\u00e9ke ' + evEs(b.ig) + ' \u00e1rakon: ' + fmtFt.format(e.ertek), margo, 34 * arany);\r\n      c.fillStyle = SZIN.muted; c.font = (13 * arany) + 'px ' + betu;\r\n      c.fillText('\u00c1remelked\u00e9s: ' + szazalek(e.osszesDragulas) + ' \u00b7 \u00e1tlagos \u00e9ves infl\u00e1ci\u00f3: ' + szazalek(e.eviAtlag), margo, 54 * arany);\r\n      c.drawImage(forras, margo, fej);\r\n      c.font = (12 * arany) + 'px ' + betu;\r\n      c.fillText(b.sajatMod ? 'iocharts.io \u00b7 Sz\u00e1m\u00edt\u00e1s \u00e9vi ' + szazalek(b.sajat) + '-os \u00e1lland\u00f3 infl\u00e1ci\u00f3val (nem val\u00f3s adat)' : 'iocharts.io \u00b7 ' + AKT.nev + ' \u00b7 Forr\u00e1s: ' + FORRASOK[AKT.forras].rovid + (e.becsultEvek ? ' \u00b7 ' + evTol(BECSLES_KEZDO_EV) + ' becsl\u00e9s, \u00e9vi ' + szazalek(b.varhato) + '-os infl\u00e1ci\u00f3val' : ''),\r\n        margo, v.height - 14 * arany);\r\n      this._letolt(v.toDataURL('image\/png'), 'inflacio-kalkulator-' + AKT.kod.toLowerCase() + '-' + b.tol + '-' + b.ig + '.png');\r\n    }\r\n\r\n    \/\/ CSV-let\u00f6lt\u00e9s: pontosvessz\u0151vel \u00e9s magyar tizedesvessz\u0151vel, hogy a magyar Excel j\u00f3l nyissa meg\r\n    _csvLetoltes() {\r\n      if (!this._adat) return;\r\n      var b = this._adat.b;\r\n      var szam = function (x, tized) { return x === null ? '' : x.toFixed(tized).replace('.', ','); };\r\n      var sorok = [['\u00c9v', '\u00c9ves infl\u00e1ci\u00f3 (%)', this._vonalCimke.replace(\/\\u00a0\/g, ' ') + ' (' + PENZNEMEK[AKT.penznem].jel + ')', 'Halmozott \u00e1remelked\u00e9s (%)', '\u00c1rindex (' + ELSO_EV + ' = 100)', 'Forr\u00e1s']];\r\n      this._adat.e.sor.forEach(function (s, i) {\r\n        sorok.push([s.ev, i === 0 ? '' : szam(s.inflacio, 1), szam(s.ertek, 0), i === 0 ? '' : szam(s.halmozott, 1), szam(s.index, 1),\r\n          b.sajatMod ? 'saj\u00e1t r\u00e1ta' : s.becsles ? 'becsl\u00e9s' : FORRASOK[AKT.forras].rovid + (s.ev === ELOZETES_EV ? ', el\u0151zetes' : '')]);\r\n      });\r\n      var csv = '\\ufeff' + sorok.map(function (r) { return r.join(';'); }).join('\\r\\n');  \/\/ \\ufeff: az Excelnek kell az \u00e9kezetekhez\r\n      var url = URL.createObjectURL(new Blob([csv], { type: 'text\/csv;charset=utf-8' }));\r\n      this._letolt(url, 'inflacio-kalkulator-' + AKT.kod.toLowerCase() + '-' + b.tol + '-' + b.ig + '.csv');\r\n      setTimeout(function () { URL.revokeObjectURL(url); }, 2000);\r\n    }\r\n\r\n    \/* ORSZ\u00c1GOK \u00d6SSZEVET\u00c9SE *\/\r\n    _osszevetesInit() {\r\n      for (var i = 1; i <= 4; i++) {\r\n        this.$('#ossz-' + i).innerHTML = orszagOpciokValaszt(OSSZ_ALAP[i - 1], i > 2 ? '\u2014 nincs \u2014' : null);\r\n      }\r\n    }\r\n\r\n    \/\/ evekMegtartva: ha a felhaszn\u00e1l\u00f3 az \u00e9veket \u00e1ll\u00edtotta, azokat megtartjuk (ha \u00e9rv\u00e9nyesek)\r\n    _osszevetes(evekMegtartva) {\r\n      var self = this;\r\n      var kodok = [];\r\n      for (var i = 1; i <= 4; i++) {\r\n        var k = this.$('#ossz-' + i).value;\r\n        kodok.push(k && kodok.indexOf(k) < 0 ? k : null);   \/\/ \u00fcres vagy ism\u00e9tl\u0151d\u0151 orsz\u00e1g kimarad\r\n      }\r\n      var aktiv = kodok.filter(Boolean);\r\n      var tolSel = this.$('#ossz-tol'), igSel = this.$('#ossz-ig');\r\n      if (aktiv.length < 2) {\r\n        this.$('.ossz-mondat').textContent = 'V\u00e1lassz legal\u00e1bb k\u00e9t k\u00fcl\u00f6nb\u00f6z\u0151 orsz\u00e1got.';\r\n        this.$('#ossz-tbody').innerHTML = '';\r\n        if (this._osszChart) { this._osszChart.destroy(); this._osszChart = null; }\r\n        return;\r\n      }\r\n\r\n      \/\/ K\u00f6z\u00f6s id\u0151szak: a legk\u00e9s\u0151bb indul\u00f3 orsz\u00e1gt\u00f3l a legkor\u00e1bban v\u00e9get \u00e9r\u0151 adatig\r\n      var kozosTol = Math.max.apply(null, aktiv.map(elsoEvE));\r\n      var kozosIg = Math.min.apply(null, aktiv.map(utolsoEvE));\r\n      var regiTol = Number(tolSel.value), regiIg = Number(igSel.value);\r\n      var tol = evekMegtartva && regiTol >= kozosTol && regiTol < kozosIg ? regiTol : kozosTol;\r\n      var ig = evekMegtartva && regiIg <= kozosIg && regiIg > tol ? regiIg : kozosIg;\r\n      var huElozetes = aktiv.indexOf('HU') >= 0 ? ORSZAGOK.HU.elozetesEv : null;\r\n      var cimke = function (ev) { return ev + (ev === huElozetes ? '*' : ''); };\r\n      var opciok = function (tolTol, igIg, kiv) {\r\n        var h = '';\r\n        for (var ev = tolTol; ev <= igIg; ev++) h += '<option value=\"' + ev + '\"' + (ev === kiv ? ' selected' : '') + '>' + cimke(ev) + '<\/option>';\r\n        return h;\r\n      };\r\n      tolSel.innerHTML = opciok(kozosTol, kozosIg - 1, tol);\r\n      igSel.innerHTML = opciok(kozosTol + 1, kozosIg, ig);\r\n\r\n      \/\/ Sz\u00e1m\u00edt\u00e1s orsz\u00e1gonk\u00e9nt\r\n      var adatok = aktiv.map(function (k) {\r\n        var sor = indexSor(k, tol, ig), vege = sor[sor.length - 1].index, evek = ig - tol;\r\n        var csucs = sor.slice(1).reduce(function (a, s) { return s.infl > a.infl ? s : a; }, sor[1]);\r\n        return {\r\n          kod: k, nev: ORSZAGOK[k].nev, szin: OSSZ_SZINEK[kodok.indexOf(k)], sor: sor, vege: vege,\r\n          osszes: vege - 100, atlag: (Math.pow(vege \/ 100, 1 \/ evek) - 1) * 100, csucs: csucs\r\n        };\r\n      });\r\n      this._osszAdat = { adatok: adatok, tol: tol, ig: ig, cimke: cimke };\r\n\r\n      \/\/ \u00d6sszefoglal\u00f3 mondat: hol dr\u00e1gult a leggyorsabban \u00e9s a leglassabban\r\n      var rendezett = adatok.slice().sort(function (a, b) { return b.vege - a.vege; });\r\n      var leg = rendezett[0], legk = rendezett[rendezett.length - 1];\r\n      this.$('.ossz-mondat').innerHTML = cimke(tol) + ' \u00e9s ' + cimke(ig) + ' k\u00f6z\u00f6tt a v\u00e1lasztott orsz\u00e1gok k\u00f6z\u00fcl a leggyorsabban dr\u00e1gult: <strong>' + leg.nev +\r\n        '<\/strong> (az \u00e1rszint ' + fmtSzorzo.format(leg.vege \/ 100) + '-szoros\u00e1ra n\u0151tt, \u00e9vi \u00e1tlag ' + szazalek(leg.atlag) + '), a leglassabban: <strong>' + legk.nev +\r\n        '<\/strong> (' + fmtSzorzo.format(legk.vege \/ 100) + '-szoros, \u00e9vi \u00e1tlag ' + szazalek(legk.atlag) + ').';\r\n      this.$('#ossz-cim').textContent = '\u00c1rszint ' + cimke(tol) + '\u2013' + cimke(ig) + ' (' + tol + ' = 100)';\r\n\r\n      \/\/ T\u00e1bl\u00e1zat\r\n      this.$('#ossz-tbody').innerHTML = adatok.map(function (a) {\r\n        return '<tr><td><span class=\"jelolo\" style=\"display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;background:' + a.szin + '\"><\/span>' + a.nev + '<\/td><td>' +\r\n          fmtIndex.format(a.vege) + '<\/td><td>' + szazalek(a.osszes) + '<\/td><td>' + szazalek(a.atlag) + '<\/td><td>' +\r\n          cimke(a.csucs.ev) + ': ' + szazalek(a.csucs.infl) + '<\/td><td>' + FORRASOK[ORSZAGOK[a.kod].forras].rovid + '<\/td><\/tr>';\r\n      }).join('');\r\n\r\n      \/\/ Megjegyz\u00e9s a forr\u00e1sokr\u00f3l \u00e9s a m\u00f3dszertanr\u00f3l\r\n      var forrasok = [];\r\n      if (aktiv.indexOf('HU') >= 0) forrasok.push('Magyarorsz\u00e1g: KSH fogyaszt\u00f3i\u00e1r-index');\r\n      if (aktiv.some(function (k) { return ORSZAGOK[k].forras === 'eurostat'; })) forrasok.push('EU-\u00e1tlag \u00e9s tag\u00e1llamok: Eurostat HICP');\r\n      if (aktiv.indexOf('US') >= 0) forrasok.push('USA: Vil\u00e1gbank (IMF IFS)');\r\n      this.$('#ossz-megj').textContent = 'Forr\u00e1s: ' + forrasok.join('; ') + '. A k\u00f6z\u00f6s id\u0151szak a v\u00e1lasztott orsz\u00e1gok adataihoz igazodik, becs\u00fclt \u00e9vek nincsenek benne.' +\r\n        (aktiv.indexOf('HU') >= 0 && aktiv.length > 1 ? ' A magyar KSH-index \u00e9s az Eurostat HICP m\u00f3dszertana kiss\u00e9 elt\u00e9r.' : '') +\r\n        (huElozetes && ig >= huElozetes ? ' * ' + huElozetes + ': el\u0151zetes magyar adat.' : '');\r\n\r\n      this._osszRajzol();\r\n    }\r\n\r\n    _osszRajzol() {\r\n      if (!window.Chart || !this._osszAdat || !this.$('#osszevetes').open) return;   \/\/ csak lenyitva rajzolunk\r\n      var o = this._osszAdat;\r\n      var cfg = {\r\n        type: 'line',\r\n        plugins: [feherHatter],\r\n        data: {\r\n          labels: o.adatok[0].sor.map(function (s) { return o.cimke(s.ev); }),\r\n          datasets: o.adatok.map(function (a) {\r\n            return {\r\n              label: a.nev, data: a.sor.map(function (s) { return s.index; }), borderColor: a.szin, backgroundColor: a.szin,\r\n              borderWidth: 2.5, pointRadius: a.sor.length > 25 ? 0 : 3, pointHoverRadius: 5, tension: .2, fill: false\r\n            };\r\n          })\r\n        },\r\n        options: {\r\n          responsive: true, maintainAspectRatio: false, animation: { duration: 350 },\r\n          interaction: { mode: 'index', intersect: false },\r\n          layout: { padding: { top: 4, right: 8 } },\r\n          scales: {\r\n            x: { grid: { display: false }, ticks: { color: SZIN.muted, maxRotation: 0, autoSkip: true, autoSkipPadding: 12 } },\r\n            y: { grid: { color: SZIN.line }, ticks: { color: SZIN.muted, callback: function (v) { return fmtSzam.format(v); } },\r\n                 title: { display: true, text: o.tol + ' = 100', color: SZIN.muted } }\r\n          },\r\n          plugins: {\r\n            legend: { position: 'bottom', labels: { color: SZIN.text, boxWidth: 12, boxHeight: 12, padding: 14 } },\r\n            tooltip: {\r\n              backgroundColor: SZIN.navy, titleColor: '#fff', bodyColor: '#fff', padding: 10, cornerRadius: 6,\r\n              itemSort: function (a, b) { return b.raw - a.raw; },\r\n              callbacks: { label: function (c) { return ' ' + c.dataset.label + ': ' + fmtIndex.format(c.raw) + ' (' + fmtSzorzo.format(c.raw \/ 100) + '\u00d7)'; } }\r\n            }\r\n          }\r\n        }\r\n      };\r\n      var vaszon = this.$('#ossz-vaszon');\r\n      vaszon.setAttribute('aria-label', this.$('#ossz-cim').textContent + '. ' + this.$('.ossz-mondat').textContent);\r\n      if (this._osszChart) this._osszChart.destroy();       \/\/ az adatsorok sz\u00e1ma v\u00e1ltozhat, ez\u00e9rt \u00fajat rajzolunk\r\n      this._osszChart = new window.Chart(vaszon, cfg);\r\n    }\r\n\r\n    \/\/ Az \u00f6sszevet\u00e9s PNG-je: c\u00edm, \u00f6sszefoglal\u00f3, grafikon, forr\u00e1s\r\n    _osszPng() {\r\n      if (!this._osszChart) return;\r\n      var o = this._osszAdat, ch = this._osszChart;\r\n      var forras = ch.canvas, arany = forras.width \/ ch.width;\r\n      var fej = 64 * arany, lab = 36 * arany, margo = 20 * arany;\r\n      var v = document.createElement('canvas');\r\n      v.width = forras.width + 2 * margo; v.height = forras.height + fej + lab;\r\n      var c = v.getContext('2d'), betu = getComputedStyle(this).fontFamily || 'sans-serif';\r\n      c.fillStyle = '#ffffff'; c.fillRect(0, 0, v.width, v.height);\r\n      c.fillStyle = SZIN.accent; c.fillRect(0, 0, v.width, 4 * arany);\r\n      c.fillStyle = SZIN.navy; c.font = '700 ' + (18 * arany) + 'px ' + betu;\r\n      c.fillText('\u00c1rszint ' + o.cimke(o.tol) + '\u2013' + o.cimke(o.ig) + ' (' + o.tol + ' = 100): ' + o.adatok.map(function (a) { return a.nev; }).join(', '), margo, 34 * arany);\r\n      c.fillStyle = SZIN.muted; c.font = (13 * arany) + 'px ' + betu;\r\n      c.fillText(o.adatok.map(function (a) { return a.nev + ': \u00e9vi ' + szazalek(a.atlag); }).join(' \u00b7 '), margo, 54 * arany);\r\n      c.drawImage(forras, margo, fej);\r\n      c.font = (12 * arany) + 'px ' + betu;\r\n      c.fillText('iocharts.io \u00b7 ' + this.$('#ossz-megj').textContent.split('.')[0], margo, v.height - 14 * arany);\r\n      this._letolt(v.toDataURL('image\/png'), 'inflacio-osszevetes-' + o.adatok.map(function (a) { return a.kod.toLowerCase(); }).join('-') + '-' + o.tol + '-' + o.ig + '.png');\r\n    }\r\n\r\n    _letolt(url, nev) {\r\n      var a = document.createElement('a');\r\n      a.href = url; a.download = nev;\r\n      document.body.appendChild(a); a.click(); a.remove();\r\n    }\r\n  }\r\n\r\n  \/\/ Csak egyszer defini\u00e1ljuk, akkor is, ha a k\u00f3d k\u00e9tszer szerepel az oldalon\r\n  if (!customElements.get('ioc-inflacio')) customElements.define('ioc-inflacio', IocInflacio);\r\n})();\r\n<\/script>\n<ioc-inflacio><\/ioc-inflacio>\n\n\n\n<h4>Az infl\u00e1ci\u00f3kalkul\u00e1tor forr\u00e1sai<\/h3>\n<ul>\n  <li><strong>Magyarorsz\u00e1g:<\/strong> K\u00f6zponti Statisztikai Hivatal (KSH), <a href=\"https:\/\/www.ksh.hu\/stadat_files\/ara\/hu\/ara0001.html\" target=\"_blank\" rel=\"noopener\">1.1.1.1. F\u0151bb \u00e1rmutat\u00f3k<\/a> (\u00e9ves fogyaszt\u00f3i\u00e1r-index, 2010\u20132025)<\/li>\n  <li><strong>Magyarorsz\u00e1g, foly\u00f3 \u00e9v:<\/strong> KSH, <a href=\"https:\/\/www.ksh.hu\/stadat_files\/ara\/hu\/ara0039.html\" target=\"_blank\" rel=\"noopener\">1.2.1.1. A f\u0151bb \u00e1rmutat\u00f3k, havonta<\/a> (a 2026-os el\u0151zetes adat a havi indexekb\u0151l)<\/li>\n  <li><strong>Magyarorsz\u00e1g, 1990\u20132005:<\/strong> KSH, <a href=\"https:\/\/www.ksh.hu\/docs\/hun\/xftp\/idoszaki\/fogyar\/fogyar05.pdf\" target=\"_blank\" rel=\"noopener\">Fogyaszt\u00f3i\u00e1r-indexek, 2005<\/a> (\u00e9ves kiadv\u00e1ny, PDF)<\/li>\n  <li><strong>Magyarorsz\u00e1g, 2006\u20132009:<\/strong> KSH, <a href=\"https:\/\/www.ksh.hu\/evkonyvek\/2010\/magyar-statisztikai-evkonyv-2010\/pdf\/stat2010_47.pdf\" target=\"_blank\" rel=\"noopener\">Magyar statisztikai \u00e9vk\u00f6nyv, 2010: \u00c1rak<\/a> (PDF)<\/li>\n  <li><strong>EU-\u00e1tlag \u00e9s tag\u00e1llamok:<\/strong> Eurostat, <a href=\"https:\/\/ec.europa.eu\/eurostat\/databrowser\/view\/prc_hicp_ainr\/default\/table\" target=\"_blank\" rel=\"noopener\">HICP \u2013 \u00e9ves adatok, indexek \u00e9s v\u00e1ltoz\u00e1si r\u00e1t\u00e1k (prc_hicp_ainr)<\/a> (harmoniz\u00e1lt fogyaszt\u00f3i\u00e1r-index, \u00e9ves \u00e1tlagos v\u00e1ltoz\u00e1s)<\/li>\n  <li><strong>USA:<\/strong> Vil\u00e1gbank, <a href=\"https:\/\/data.worldbank.org\/indicator\/FP.CPI.TOTL.ZG?locations=US\" target=\"_blank\" rel=\"noopener\">Inflation, consumer prices (annual %) \u2013 United States<\/a> (FP.CPI.TOTL.ZG mutat\u00f3, az IMF International Financial Statistics alapj\u00e1n)<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<!-- ============================================================\n     GYIK ACCORDION - iO Charts (Infl\u00e1ci\u00f3kalkul\u00e1tor: ennyit buksz l\u00e1thatatlanul)\n     ============================================================ -->\n<style>\n.io-faq {\n  --faq-navy:      #1b3a5f;\n  --faq-accent:    #e2662c;\n  --faq-text:      #333333;\n  --faq-line:      #dfe5ec;\n  --faq-hover:     #eef4fa;\n  --faq-bg:        #f4f8fc;\n\n  background: var(--faq-bg);\n  padding: 2em 2em 1.5em 2em;\n  border-radius: 10px;\n  max-width: 100%;\n  margin: 2.5em 0;\n}\n\n.io-faq__title {\n  text-align: center;\n  color: var(--faq-navy);\n  margin: 0 0 1.5em 0;\n}\n\n.io-faq__subtitle {\n  display: flex;\n  align-items: center;\n  gap: 1.1em;\n  color: var(--faq-accent);\n  margin: 0 0 1.8em 0;\n  font-size: .95em;\n  white-space: nowrap;\n}\n\n.io-faq__subtitle::before,\n.io-faq__subtitle::after {\n  content: \"\";\n  flex: 1;\n  height: 1px;\n  opacity: .45;\n}\n\n.io-faq__subtitle::before {\n  background: linear-gradient(to right, transparent, var(--faq-accent));\n}\n\n.io-faq__subtitle::after {\n  background: linear-gradient(to left, transparent, var(--faq-accent));\n}\n\n.io-faq__intro {\n  text-align: left;\n  color: var(--faq-text);\n  line-height: 1.7;\n  margin: 0 0 2em 0;\n}\n\n.io-faq__intro p { margin: 0 0 .9em 0; }\n.io-faq__intro p:last-child { margin-bottom: 0; }\n\n.io-faq__item {\n  border-bottom: 1px solid var(--faq-line);\n}\n\n.io-faq__item:first-of-type {\n  border-top: 1px solid var(--faq-line);\n}\n\n.io-faq__q {\n  display: block;\n  padding: 18px 44px 18px 4px;\n  margin: 0;\n  cursor: pointer;\n  position: relative;\n  list-style: none;\n  transition: background .15s ease;\n}\n\n.io-faq__q::-webkit-details-marker { display: none; }\n.io-faq__q::marker { content: \"\"; }\n\n.io-faq__q:hover { background: var(--faq-hover); }\n\n.io-faq__q h3 {\n  margin: 0;\n  padding: 0;\n  font-size: 1.08em;\n  font-weight: 700;\n  line-height: 1.45;\n  color: var(--faq-navy);\n  font-family: inherit;\n  border: 0;\n}\n\n.io-faq__q::after {\n  content: \"\";\n  position: absolute;\n  right: 14px;\n  top: 50%;\n  width: 9px;\n  height: 9px;\n  border-right: 2px solid var(--faq-navy);\n  border-bottom: 2px solid var(--faq-navy);\n  transform: translateY(-70%) rotate(45deg);\n  transition: transform .25s ease;\n}\n\n.io-faq__item[open] .io-faq__q h3 { color: var(--faq-accent); }\n\n.io-faq__item[open] .io-faq__q::after {\n  border-color: var(--faq-accent);\n  transform: translateY(-25%) rotate(-135deg);\n}\n\n.io-faq__a {\n  padding: 0 44px 20px 4px;\n  color: var(--faq-text);\n  line-height: 1.7;\n}\n\n.io-faq__a p { margin: 0 0 .8em 0; }\n.io-faq__a p:last-child { margin-bottom: 0; }\n\n.io-faq__disclaimer {\n  margin: 2em 0 0 0;\n  padding: 16px 18px;\n  border-left: 3px solid var(--faq-accent);\n  background: rgba(255, 255, 255, .55);\n  border-radius: 6px;\n  color: var(--faq-text);\n  font-size: .85em;\n  font-style: italic;\n  line-height: 1.6;\n  opacity: .9;\n}\n\n.io-faq__disclaimer strong {\n  font-style: normal;\n  color: var(--faq-navy);\n}\n\n@media (max-width: 600px) {\n  .io-faq { padding: 1.5em 1.2em 1em 1.2em; }\n  .io-faq__q { padding: 15px 38px 15px 2px; }\n  .io-faq__q h3 { font-size: 1em; }\n  .io-faq__a { padding: 0 10px 16px 2px; }\n  .io-faq__disclaimer { padding: 14px; }\n}\n\n@media (max-width: 480px) {\n  .io-faq__subtitle { gap: .6em; font-size: .85em; }\n}\n<\/style>\n\n<div class=\"io-faq\">\n  <h2 class=\"io-faq__title\">Gyakran Ism\u00e9telt K\u00e9rd\u00e9sek: infl\u00e1ci\u00f3kalkul\u00e1tor<\/h2>\n  <p class=\"io-faq__subtitle\">V\u00e1laszok a leggyakoribb k\u00e9rd\u00e9sekre<\/p>\n  <div class=\"io-faq__intro\">\n    <p>K\u00edv\u00e1ncsi vagy, mennyit \u00e9r ma a r\u00e9gi forintod, vagy mennyit vesz\u00edt majd a p\u00e9nzed a j\u00f6v\u0151ben? Itt t\u00f6m\u00f6r v\u00e1laszokat tal\u00e1lsz az infl\u00e1ci\u00f3kalkul\u00e1tor haszn\u00e1lat\u00e1r\u00f3l \u00e9s a m\u00f6g\u00f6tte \u00e1ll\u00f3 fogalmakr\u00f3l: mi az infl\u00e1ci\u00f3, honnan sz\u00e1rmaznak az adatok, mely orsz\u00e1gokra sz\u00e1molhatsz, hogyan vetheted \u00f6ssze az orsz\u00e1gokat, mi a k\u00fcl\u00f6nbs\u00e9g a nomin\u00e1lis hozam \u00e9s a re\u00e1lhozam k\u00f6z\u00f6tt, \u00e9s hogyan sz\u00e1mol az infl\u00e1ci\u00f3kalkul\u00e1tor a j\u00f6v\u0151beli \u00e9vekkel.<\/p>\n    <p>Kattints b\u00e1rmelyik k\u00e9rd\u00e9sre, \u00e9s kiny\u00edlik a v\u00e1lasz. Ezek sz\u00e1nd\u00e9kosan r\u00f6vid \u00f6sszefoglal\u00f3k: ha a r\u00e9szletek is \u00e9rdekelnek, azokat feljebb, a cikk megfelel\u0151 fejezeteiben bontom ki b\u0151vebben. Fontos: a p\u00e9ld\u00e1kban szerepl\u0151 sz\u00e1mok a cikk \u00edr\u00e1sakor el\u00e9rhet\u0151 KSH-adatokat t\u00fckr\u00f6zik.<\/p>\n  <\/div>\n  <details class=\"io-faq__item\">\n    <summary class=\"io-faq__q\"><h3>Mi az az infl\u00e1ci\u00f3kalkul\u00e1tor?<\/h3><\/summary>\n    <div class=\"io-faq__a\">\n      <p>Az infl\u00e1ci\u00f3kalkul\u00e1tor egy online eszk\u00f6z, amellyel kisz\u00e1molhatod, mennyit \u00e9r egy forint\u00f6sszeg egy m\u00e1sik \u00e9v \u00e1rain. Megmutatja, mennyibe ker\u00fclne ma az, amit \u00e9vekkel ezel\u0151tt vett\u00e9l meg, \u00e9s azt is, mennyit vesz\u00edtett a p\u00e9nzed a v\u00e1s\u00e1rl\u00f3erej\u00e9b\u0151l. Az iO Charts infl\u00e1ci\u00f3kalkul\u00e1tora Magyarorsz\u00e1gra a KSH hivatalos adataival sz\u00e1mol 1989-t\u0151l napjainkig, emellett az EU-\u00e1tlagra, a 26 t\u00f6bbi uni\u00f3s tag\u00e1llamra \u00e9s az USA-ra is, a j\u00f6v\u0151re pedig becsl\u00e9st is ad.<\/p>\n    <\/div>\n  <\/details>\n  <details class=\"io-faq__item\">\n    <summary class=\"io-faq__q\"><h3>Hogyan m\u0171k\u00f6dik az infl\u00e1ci\u00f3kalkul\u00e1tor?<\/h3><\/summary>\n    <div class=\"io-faq__a\">\n      <p>Az infl\u00e1ci\u00f3kalkul\u00e1tor a KSH \u00e9ves fogyaszt\u00f3i\u00e1r-indexeib\u0151l egy \u00e1rszint-id\u0151sort \u00e9p\u00edt, amelyben az 1989-es \u00e1rszint 100. Egy \u00f6sszeg \u00e9rt\u00e9k\u00e9t k\u00e9t \u00e9v k\u00f6z\u00f6tt \u00fagy kapod meg, hogy az \u00f6sszeget megszorozza a k\u00e9t \u00e9v \u00e1rszintj\u00e9nek ar\u00e1ny\u00e1val. Megadod az \u00f6sszeget \u00e9s a k\u00e9t \u00e9vet, a kalkul\u00e1tor pedig ki\u00edrja az \u00f6sszeg megfelel\u0151j\u00e9t, a teljes \u00e1remelked\u00e9st \u00e9s az id\u0151szak \u00e1tlagos \u00e9ves infl\u00e1ci\u00f3j\u00e1t, grafikonnal \u00e9s \u00e9venk\u00e9nti t\u00e1bl\u00e1zattal egy\u00fctt.<\/p>\n    <\/div>\n  <\/details>\n  <details class=\"io-faq__item\">\n    <summary class=\"io-faq__q\"><h3>Honnan sz\u00e1rmaznak az infl\u00e1ci\u00f3kalkul\u00e1tor adatai?<\/h3><\/summary>\n    <div class=\"io-faq__a\">\n      <p>Magyarorsz\u00e1gra az infl\u00e1ci\u00f3kalkul\u00e1tor a K\u00f6zponti Statisztikai Hivatal (KSH) \u00e9ves fogyaszt\u00f3i\u00e1r-index\u00e9t haszn\u00e1lja. A foly\u00f3 \u00e9v magyar adata el\u0151zetes: az eddig k\u00f6zz\u00e9tett havi adatok \u00e1tlaga, ezt a kalkul\u00e1tor csillaggal jel\u00f6li. Az EU-\u00e1tlag \u00e9s a tag\u00e1llamok adata az Eurostat harmoniz\u00e1lt fogyaszt\u00f3i\u00e1r-indexe (HICP), az USA adata a Vil\u00e1gbank infl\u00e1ci\u00f3s mutat\u00f3ja, amely az IMF adatb\u00e1zis\u00e1n alapul. Az adatforr\u00e1st \u00e9s a friss\u00edt\u00e9s d\u00e1tum\u00e1t orsz\u00e1gonk\u00e9nt a kalkul\u00e1tor alj\u00e1n, a l\u00e1bjegyzetben tal\u00e1lod.<\/p>\n    <\/div>\n  <\/details>\n  <details class=\"io-faq__item\">\n    <summary class=\"io-faq__q\"><h3>Mely orsz\u00e1gokra sz\u00e1molhatok az infl\u00e1ci\u00f3kalkul\u00e1torral?<\/h3><\/summary>\n    <div class=\"io-faq__a\">\n      <p>Az infl\u00e1ci\u00f3kalkul\u00e1tor orsz\u00e1gv\u00e1laszt\u00f3j\u00e1ban Magyarorsz\u00e1g mellett az EU-27 \u00e1tlaga, mind a 26 t\u00f6bbi uni\u00f3s tag\u00e1llam \u00e9s az USA is szerepel. Az \u00f6sszegek mindig az adott orsz\u00e1g mai p\u00e9nznem\u00e9ben \u00e9rtend\u0151k: forintban, eur\u00f3ban, doll\u00e1rban, illetve p\u00e9ld\u00e1ul cseh koron\u00e1ban vagy zlotyban. Az eur\u00f3\u00f6vezeti orsz\u00e1gokn\u00e1l az eur\u00f3 bevezet\u00e9se el\u0151tti \u00e9vek eur\u00f3ra \u00e1tsz\u00e1m\u00edtva \u00e9rtend\u0151k. Orsz\u00e1gv\u00e1lt\u00e1skor a v\u00e1rhat\u00f3 infl\u00e1ci\u00f3 alap\u00e9rt\u00e9ke az adott jegybank infl\u00e1ci\u00f3s c\u00e9lj\u00e1ra v\u00e1lt, p\u00e9ld\u00e1ul az EKB \u00e9s a Fed eset\u00e9ben 2%-ra.<\/p>\n    <\/div>\n  <\/details>\n  <details class=\"io-faq__item\">\n    <summary class=\"io-faq__q\"><h3>Mi\u00e9rt nem 1989-t\u0151l indulnak a k\u00fclf\u00f6ldi adatok az infl\u00e1ci\u00f3kalkul\u00e1torban?<\/h3><\/summary>\n    <div class=\"io-faq__a\">\n      <p>Az infl\u00e1ci\u00f3kalkul\u00e1tor mindig onnan indul, ahonnan egys\u00e9ges, val\u00f3s adat van. Az Eurostat harmoniz\u00e1lt indexe a legt\u00f6bb tag\u00e1llamra 1997-t\u0151l k\u00f6zli az \u00e9ves v\u00e1ltoz\u00e1st, ez\u00e9rt ott 1996 a kiindul\u00f3 \u00e9v, Bulg\u00e1ri\u00e1n\u00e1l \u00e9s Szlov\u00e1ki\u00e1n\u00e1l 1997, Horv\u00e1torsz\u00e1gn\u00e1l 1998, az EU-27 \u00e1tlag\u00e1n\u00e1l 2000. A rendszerv\u00e1lt\u00f3 orsz\u00e1gok kor\u00e1bbi \u00e9vein\u00e9l sokszor hi\u00e1nyzik az adat, vagy hiperinfl\u00e1ci\u00f3 \u00e9s valutacsere torz\u00edtja, ez\u00e9rt ezekre nem sz\u00e1molunk. Magyarorsz\u00e1gra a KSH \u00e9s az USA-ra a Vil\u00e1gbank adata 1989-t\u0151l el\u00e9rhet\u0151.<\/p>\n    <\/div>\n  <\/details>\n  <details class=\"io-faq__item\">\n    <summary class=\"io-faq__q\"><h3>Hogyan hasonl\u00edthatom \u00f6ssze az orsz\u00e1gok infl\u00e1ci\u00f3j\u00e1t?<\/h3><\/summary>\n    <div class=\"io-faq__a\">\n      <p>Az infl\u00e1ci\u00f3kalkul\u00e1tor Orsz\u00e1gok \u00f6sszevet\u00e9se r\u00e9sz\u00e9ben legfeljebb n\u00e9gy orsz\u00e1got v\u00e1laszthatsz, \u00e9s a grafikon a k\u00f6z\u00f6s id\u0151szakban mutatja az \u00e1rszint alakul\u00e1s\u00e1t, a kezd\u0151\u00e9vet 100-nak v\u00e9ve, \u00edgy a p\u00e9nznemt\u0151l f\u00fcggetlen\u00fcl \u00f6sszevethet\u0151k. 2000 \u00e9s 2024 k\u00f6z\u00f6tt p\u00e9ld\u00e1ul Magyarorsz\u00e1gon az \u00e1rszint kb. 3.2-szeres\u00e9re n\u0151tt (\u00e9vi \u00e1tlag 5.0%), az EU-27 \u00e1tlag\u00e1ban \u00e9s az USA-ban kb. 1.8-szoros\u00e1ra (\u00e9vi 2.4% \u00e9s 2.5%), N\u00e9metorsz\u00e1gban kb. 1.6-szoros\u00e1ra (\u00e9vi 2.1%). Az \u00f6sszevet\u00e9s csak val\u00f3s adatot mutat, becsl\u00e9st nem.<\/p>\n    <\/div>\n  <\/details>\n  <details class=\"io-faq__item\">\n    <summary class=\"io-faq__q\"><h3>Mennyit \u00e9r ma az 1989-es 100 000 forint?<\/h3><\/summary>\n    <div class=\"io-faq__a\">\n      <p>Az infl\u00e1ci\u00f3kalkul\u00e1tor szerint az 1989-ben 100 000 forint\u00e9rt megvett kos\u00e1r 2026-ban \u00e1tlagosan kb. 2.74 milli\u00f3 forintba ker\u00fcl, vagyis az \u00e1rszint t\u00f6bb mint 27-szeres\u00e9re n\u0151tt. Ford\u00edtva: a mai 100 000 forint 1989-es \u00e1rakon csak kb. 3 650 forintot \u00e9rne. A kalkul\u00e1torban b\u00e1rmelyik k\u00e9t \u00e9vet \u00f6sszevetheted, a pontos \u00f6sszeget pedig \u00e9vr\u0151l \u00e9vre is megn\u00e9zheted.<\/p>\n    <\/div>\n  <\/details>\n  <details class=\"io-faq__item\">\n    <summary class=\"io-faq__q\"><h3>Mi az infl\u00e1ci\u00f3, \u00e9s hogyan m\u00e9ri a KSH?<\/h3><\/summary>\n    <div class=\"io-faq__a\">\n      <p>Az infl\u00e1ci\u00f3 az \u00e1rak \u00e1ltal\u00e1nos \u00e9s tart\u00f3s emelked\u00e9se, amelynek m\u00e1sik oldala a p\u00e9nz v\u00e1s\u00e1rl\u00f3erej\u00e9nek cs\u00f6kken\u00e9se: ugyanannyi forint\u00e9rt id\u0151vel egyre kevesebbet v\u00e1s\u00e1rolhatsz. Magyarorsz\u00e1gon a KSH m\u00e9ri a fogyaszt\u00f3i\u00e1r-indexszel, amely egy \u00e1tlagos h\u00e1ztart\u00e1s v\u00e1s\u00e1rl\u00e1sait t\u00fckr\u00f6z\u0151 fogyaszt\u00f3i kos\u00e1r \u00e1rv\u00e1ltoz\u00e1s\u00e1t k\u00f6veti havonta \u00e9s \u00e9vente. Ha az \u00e9ves infl\u00e1ci\u00f3 4.4%, akkor ami\u00e9rt tavaly 100 000 forintot fizett\u00e9l, az\u00e9rt id\u00e9n \u00e1tlagosan 104 400 forintot kell fizetned.<\/p>\n    <\/div>\n  <\/details>\n  <details class=\"io-faq__item\">\n    <summary class=\"io-faq__q\"><h3>Mi a k\u00fcl\u00f6nbs\u00e9g a nomin\u00e1lis hozam \u00e9s a re\u00e1lhozam k\u00f6z\u00f6tt?<\/h3><\/summary>\n    <div class=\"io-faq__a\">\n      <p>A nomin\u00e1lis hozam azt mutatja, mennyivel n\u0151tt a p\u00e9nzed forintban, a re\u00e1lhozam pedig azt, mennyivel n\u0151tt a v\u00e1s\u00e1rl\u00f3ereje, vagyis az infl\u00e1ci\u00f3val korrig\u00e1lt hozam. Pontosan \u00edgy sz\u00e1molhatod ki: re\u00e1lhozam = (1 + nomin\u00e1lis hozam) \/ (1 + infl\u00e1ci\u00f3) \u2212 1. Ha 2023-ban egy 10%-os hozam\u00fa megtakar\u00edt\u00e1sban tartottad a p\u00e9nzed, a 17.6%-os infl\u00e1ci\u00f3 miatt re\u00e1l\u00e9rt\u00e9ken kb. 6.5%-ot vesz\u00edtett\u00e9l. Az infl\u00e1ci\u00f3kalkul\u00e1torral megn\u00e9zheted, mekkora hozam kellett volna egy adott id\u0151szakban a v\u00e1s\u00e1rl\u00f3er\u0151d meg\u0151rz\u00e9s\u00e9hez.<\/p>\n    <\/div>\n  <\/details>\n  <details class=\"io-faq__item\">\n    <summary class=\"io-faq__q\"><h3>Hogyan sz\u00e1mol az infl\u00e1ci\u00f3kalkul\u00e1tor a j\u00f6v\u0151beli \u00e9vekkel?<\/h3><\/summary>\n    <div class=\"io-faq__a\">\n      <p>A m\u00e9g nem ismert \u00e9vekre az infl\u00e1ci\u00f3kalkul\u00e1tor az \u00e1ltalad megadott v\u00e1rhat\u00f3 \u00e1tlagos infl\u00e1ci\u00f3val sz\u00e1mol, a mai d\u00e1tumot k\u00f6vet\u0151 \u00e9vt\u0151l. Alap\u00e9rt\u00e9ke a v\u00e1lasztott orsz\u00e1g jegybankj\u00e1nak infl\u00e1ci\u00f3s c\u00e9lja, Magyarorsz\u00e1gon az MNB 3%-os c\u00e9lja, de b\u00e1rmire \u00e1t\u00edrhatod. A becs\u00fclt \u00e9veket a grafikonon halv\u00e1ny s\u00e1v \u00e9s szaggatott vonal jel\u00f6li. Ez becsl\u00e9s, nem el\u0151rejelz\u00e9s: a t\u00e9nyleges infl\u00e1ci\u00f3 ett\u0151l \u00e9vr\u0151l \u00e9vre jelent\u0151sen elt\u00e9rhet, ahogy 2023-ban is 17.6% lett.<\/p>\n    <\/div>\n  <\/details>\n  <details class=\"io-faq__item\">\n    <summary class=\"io-faq__q\"><h3>Kisz\u00e1molhatom az infl\u00e1ci\u00f3kalkul\u00e1torral a mai p\u00e9nzem r\u00e9gi \u00e9rt\u00e9k\u00e9t is?<\/h3><\/summary>\n    <div class=\"io-faq__a\">\n      <p>Igen. Az infl\u00e1ci\u00f3kalkul\u00e1tor ir\u00e1nyv\u00e1lt\u00f3j\u00e1val a \u201eMai p\u00e9nz \u2192 r\u00e9gi \u00e9rt\u00e9k\u201d \u00e1ll\u00e1sban azt l\u00e1tod, mennyit \u00e9rt volna a mai p\u00e9nzed egy kor\u00e1bbi \u00e9vben. Ilyenkor a grafikon cs\u00f6kken\u0151 g\u00f6rb\u00e9t mutat: \u00e9vr\u0151l \u00e9vre megmutatja, mennyit \u00e9r az adott \u00e9vi \u00f6sszeg a r\u00e9gi \u00e9v \u00e1rain. A \u201eR\u00e9gi p\u00e9nz \u2192 mai \u00e9rt\u00e9k\u201d \u00e1ll\u00e1sban ford\u00edtva, egy r\u00e9gi \u00f6sszeg mai megfelel\u0151j\u00e9t kapod meg.<\/p>\n    <\/div>\n  <\/details>\n  <details class=\"io-faq__item\">\n    <summary class=\"io-faq__q\"><h3>Sz\u00e1molhatok az infl\u00e1ci\u00f3kalkul\u00e1torral saj\u00e1t infl\u00e1ci\u00f3s r\u00e1t\u00e1val?<\/h3><\/summary>\n    <div class=\"io-faq__a\">\n      <p>Igen. Az infl\u00e1ci\u00f3kalkul\u00e1tor R\u00e9szletes be\u00e1ll\u00edt\u00e1sai k\u00f6z\u00f6tt a val\u00f3s adatok helyett egy saj\u00e1t, \u00e1lland\u00f3 r\u00e1t\u00e1t is megadhatsz, amely minden \u00e9vre \u00e9rv\u00e9nyes, a m\u00faltra is. \u00cdgy kipr\u00f3b\u00e1lhatod p\u00e9ld\u00e1ul, mi lett volna, ha az infl\u00e1ci\u00f3 mindig \u00e9vi 5% lett volna. A kalkul\u00e1tor ilyenkor azt is ki\u00edrja, mennyi lett volna az eredm\u00e9ny a val\u00f3s adatokkal.<\/p>\n    <\/div>\n  <\/details>\n  <details class=\"io-faq__item\">\n    <summary class=\"io-faq__q\"><h3>Mi\u00e9rt t\u00e9rhet el a saj\u00e1t infl\u00e1ci\u00f3m att\u00f3l, amit az infl\u00e1ci\u00f3kalkul\u00e1tor mutat?<\/h3><\/summary>\n    <div class=\"io-faq__a\">\n      <p>Az infl\u00e1ci\u00f3kalkul\u00e1tor az orsz\u00e1gos \u00e1tlagos \u00e1rszinttel sz\u00e1mol, vagyis egy \u00e1tlagos h\u00e1ztart\u00e1s fogyaszt\u00f3i kosar\u00e1val. Ha a kiad\u00e1said nagyobb r\u00e9sze megy p\u00e9ld\u00e1ul \u00e9lelmiszerre, energi\u00e1ra vagy lakhat\u00e1sra, \u00e9s ezek az \u00e1tlagn\u00e1l jobban dr\u00e1gultak, a szem\u00e9lyes infl\u00e1ci\u00f3d magasabb lehet a kalkul\u00e1tor \u00e1ltal mutatott \u00e9rt\u00e9kn\u00e9l. Ford\u00edtott esetben alacsonyabb is lehet.<\/p>\n    <\/div>\n  <\/details>\n  <details class=\"io-faq__item\">\n    <summary class=\"io-faq__q\"><h3>Le tudom t\u00f6lteni vagy meg tudom osztani az infl\u00e1ci\u00f3kalkul\u00e1tor eredm\u00e9nyeit?<\/h3><\/summary>\n    <div class=\"io-faq__a\">\n      <p>Igen. Az infl\u00e1ci\u00f3kalkul\u00e1tor grafikonjait PNG-k\u00e9pk\u00e9nt mentheted el, c\u00edmmel \u00e9s forr\u00e1smegjel\u00f6l\u00e9ssel egy\u00fctt. Az \u00e9venk\u00e9nti t\u00e1bl\u00e1zatot CSV-f\u00e1jlk\u00e9nt t\u00f6ltheted le, amelyet a magyar Excel k\u00f6zvetlen\u00fcl megnyit. Az Eredm\u00e9ny megoszt\u00e1sa gombbal pedig egy linket m\u00e1solhatsz, amely pontosan a be\u00e1ll\u00edtott orsz\u00e1ggal, \u00f6sszeggel \u00e9s \u00e9vekkel nyitja meg a kalkul\u00e1tort.<\/p>\n    <\/div>\n  <\/details>\n<\/div>\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@graph\": [\n    {\n      \"@type\": \"Article\",\n      \"@id\": \"https:\/\/iocharts.io\/blog\/inflaciokalkulator-ennyit-buksz-lathatatlanul\/#article\",\n      \"mainEntityOfPage\": \"https:\/\/iocharts.io\/blog\/inflaciokalkulator-ennyit-buksz-lathatatlanul\/\",\n      \"headline\": \"Infl\u00e1ci\u00f3kalkul\u00e1tor: ennyit buksz l\u00e1thatatlanul\",\n      \"inLanguage\": \"hu\",\n      \"author\": {\n        \"@id\": \"https:\/\/iocharts.io\/blog\/#\/schema\/person\/e285f855a6a9b806cd03c0b62f1c5831\"\n      },\n      \"publisher\": {\n        \"@id\": \"https:\/\/iocharts.io\/blog\/#organization\"\n      },\n      \"about\": {\n        \"@type\": \"Thing\",\n        \"name\": \"Infl\u00e1ci\u00f3\",\n        \"alternateName\": [\n          \"infl\u00e1ci\u00f3kalkul\u00e1tor\",\n          \"infl\u00e1ci\u00f3s kalkul\u00e1tor\",\n          \"fogyaszt\u00f3i\u00e1r-index\",\n          \"p\u00e9nzroml\u00e1s\",\n          \"v\u00e1s\u00e1rl\u00f3er\u0151\"\n        ],\n        \"description\": \"Az infl\u00e1ci\u00f3, a nomin\u00e1lis hozam \u00e9s a re\u00e1lhozam magyar\u00e1zata, valamint egy interakt\u00edv infl\u00e1ci\u00f3kalkul\u00e1tor a KSH 1989 \u00f3ta m\u00e9rt fogyaszt\u00f3i\u00e1r-index\u00e9vel, az Eurostat \u00e9s a Vil\u00e1gbank adataival az EU-ra, a tag\u00e1llamokra \u00e9s az USA-ra, j\u00f6v\u0151beli becsl\u00e9ssel \u00e9s orsz\u00e1gok k\u00f6z\u00f6tti \u00f6sszevet\u00e9ssel.\"\n      },\n      \"mentions\": [\n        {\n          \"@type\": \"GovernmentOrganization\",\n          \"name\": \"K\u00f6zponti Statisztikai Hivatal\",\n          \"alternateName\": \"KSH\",\n          \"url\": \"https:\/\/www.ksh.hu\/\"\n        },\n        {\n          \"@type\": \"Organization\",\n          \"name\": \"Magyar Nemzeti Bank\",\n          \"alternateName\": \"MNB\",\n          \"url\": \"https:\/\/www.mnb.hu\/\"\n        },\n        {\n          \"@type\": \"GovernmentOrganization\",\n          \"name\": \"Eurostat\",\n          \"url\": \"https:\/\/ec.europa.eu\/eurostat\"\n        },\n        {\n          \"@type\": \"Organization\",\n          \"name\": \"Vil\u00e1gbank\",\n          \"alternateName\": \"World Bank\",\n          \"url\": \"https:\/\/www.worldbank.org\/\"\n        }\n      ],\n      \"citation\": [\n        {\n          \"@type\": \"CreativeWork\",\n          \"name\": \"KSH STADAT 1.1.1.1. F\u0151bb \u00e1rmutat\u00f3k\",\n          \"url\": \"https:\/\/www.ksh.hu\/stadat_files\/ara\/hu\/ara0001.html\"\n        },\n        {\n          \"@type\": \"CreativeWork\",\n          \"name\": \"KSH STADAT 1.2.1.1. A f\u0151bb \u00e1rmutat\u00f3k, havonta\",\n          \"url\": \"https:\/\/www.ksh.hu\/stadat_files\/ara\/hu\/ara0039.html\"\n        },\n        {\n          \"@type\": \"CreativeWork\",\n          \"name\": \"Eurostat HICP \u2013 annual data (average index and rate of change), prc_hicp_ainr\",\n          \"url\": \"https:\/\/ec.europa.eu\/eurostat\/databrowser\/view\/prc_hicp_ainr\/default\/table\"\n        },\n        {\n          \"@type\": \"CreativeWork\",\n          \"name\": \"World Bank \u2013 Inflation, consumer prices (annual %), United States\",\n          \"url\": \"https:\/\/data.worldbank.org\/indicator\/FP.CPI.TOTL.ZG?locations=US\"\n        }\n      ]\n    },\n    {\n      \"@type\": \"WebApplication\",\n      \"@id\": \"https:\/\/iocharts.io\/blog\/inflaciokalkulator-ennyit-buksz-lathatatlanul\/#inflaciokalkulator\",\n      \"name\": \"Infl\u00e1ci\u00f3kalkul\u00e1tor\",\n      \"url\": \"https:\/\/iocharts.io\/blog\/inflaciokalkulator-ennyit-buksz-lathatatlanul\/\",\n      \"isPartOf\": {\n        \"@id\": \"https:\/\/iocharts.io\/blog\/inflaciokalkulator-ennyit-buksz-lathatatlanul\/#article\"\n      },\n      \"applicationCategory\": \"FinanceApplication\",\n      \"operatingSystem\": \"Any\",\n      \"browserRequirements\": \"Requires JavaScript\",\n      \"inLanguage\": \"hu\",\n      \"description\": \"Ingyenes infl\u00e1ci\u00f3kalkul\u00e1tor Magyarorsz\u00e1gra (KSH, 1989-t\u0151l), az EU-\u00e1tlagra \u00e9s a tag\u00e1llamokra (Eurostat HICP) \u00e9s az USA-ra (Vil\u00e1gbank): kisz\u00e1molja egy \u00f6sszeg \u00e9rt\u00e9k\u00e9t b\u00e1rmely k\u00e9t \u00e9v \u00e1rain, j\u00f6v\u0151beli becsl\u00e9ssel, orsz\u00e1gok k\u00f6z\u00f6tti \u00f6sszevet\u00e9ssel, grafikonnal, \u00e9venk\u00e9nti t\u00e1bl\u00e1zattal, PNG- \u00e9s CSV-let\u00f6lt\u00e9ssel, megoszthat\u00f3 linkkel.\",\n      \"offers\": {\n        \"@type\": \"Offer\",\n        \"price\": \"0\",\n        \"priceCurrency\": \"HUF\"\n      },\n      \"author\": {\n        \"@id\": \"https:\/\/iocharts.io\/blog\/#\/schema\/person\/e285f855a6a9b806cd03c0b62f1c5831\"\n      }\n    },\n    {\n      \"@type\": \"FAQPage\",\n      \"@id\": \"https:\/\/iocharts.io\/blog\/inflaciokalkulator-ennyit-buksz-lathatatlanul\/#faq\",\n      \"isPartOf\": {\n        \"@id\": \"https:\/\/iocharts.io\/blog\/inflaciokalkulator-ennyit-buksz-lathatatlanul\/#article\"\n      },\n      \"mainEntity\": [\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Mi az az infl\u00e1ci\u00f3kalkul\u00e1tor?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Az infl\u00e1ci\u00f3kalkul\u00e1tor egy online eszk\u00f6z, amellyel kisz\u00e1molhatod, mennyit \u00e9r egy forint\u00f6sszeg egy m\u00e1sik \u00e9v \u00e1rain. Megmutatja, mennyibe ker\u00fclne ma az, amit \u00e9vekkel ezel\u0151tt vett\u00e9l meg, \u00e9s azt is, mennyit vesz\u00edtett a p\u00e9nzed a v\u00e1s\u00e1rl\u00f3erej\u00e9b\u0151l. Az iO Charts infl\u00e1ci\u00f3kalkul\u00e1tora Magyarorsz\u00e1gra a KSH hivatalos adataival sz\u00e1mol 1989-t\u0151l napjainkig, emellett az EU-\u00e1tlagra, a 26 t\u00f6bbi uni\u00f3s tag\u00e1llamra \u00e9s az USA-ra is, a j\u00f6v\u0151re pedig becsl\u00e9st is ad.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Hogyan m\u0171k\u00f6dik az infl\u00e1ci\u00f3kalkul\u00e1tor?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Az infl\u00e1ci\u00f3kalkul\u00e1tor a KSH \u00e9ves fogyaszt\u00f3i\u00e1r-indexeib\u0151l egy \u00e1rszint-id\u0151sort \u00e9p\u00edt, amelyben az 1989-es \u00e1rszint 100. Egy \u00f6sszeg \u00e9rt\u00e9k\u00e9t k\u00e9t \u00e9v k\u00f6z\u00f6tt \u00fagy kapod meg, hogy az \u00f6sszeget megszorozza a k\u00e9t \u00e9v \u00e1rszintj\u00e9nek ar\u00e1ny\u00e1val. Megadod az \u00f6sszeget \u00e9s a k\u00e9t \u00e9vet, a kalkul\u00e1tor pedig ki\u00edrja az \u00f6sszeg megfelel\u0151j\u00e9t, a teljes \u00e1remelked\u00e9st \u00e9s az id\u0151szak \u00e1tlagos \u00e9ves infl\u00e1ci\u00f3j\u00e1t, grafikonnal \u00e9s \u00e9venk\u00e9nti t\u00e1bl\u00e1zattal egy\u00fctt.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Honnan sz\u00e1rmaznak az infl\u00e1ci\u00f3kalkul\u00e1tor adatai?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Magyarorsz\u00e1gra az infl\u00e1ci\u00f3kalkul\u00e1tor a K\u00f6zponti Statisztikai Hivatal (KSH) \u00e9ves fogyaszt\u00f3i\u00e1r-index\u00e9t haszn\u00e1lja. A foly\u00f3 \u00e9v magyar adata el\u0151zetes: az eddig k\u00f6zz\u00e9tett havi adatok \u00e1tlaga, ezt a kalkul\u00e1tor csillaggal jel\u00f6li. Az EU-\u00e1tlag \u00e9s a tag\u00e1llamok adata az Eurostat harmoniz\u00e1lt fogyaszt\u00f3i\u00e1r-indexe (HICP), az USA adata a Vil\u00e1gbank infl\u00e1ci\u00f3s mutat\u00f3ja, amely az IMF adatb\u00e1zis\u00e1n alapul. Az adatforr\u00e1st \u00e9s a friss\u00edt\u00e9s d\u00e1tum\u00e1t orsz\u00e1gonk\u00e9nt a kalkul\u00e1tor alj\u00e1n, a l\u00e1bjegyzetben tal\u00e1lod.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Mely orsz\u00e1gokra sz\u00e1molhatok az infl\u00e1ci\u00f3kalkul\u00e1torral?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Az infl\u00e1ci\u00f3kalkul\u00e1tor orsz\u00e1gv\u00e1laszt\u00f3j\u00e1ban Magyarorsz\u00e1g mellett az EU-27 \u00e1tlaga, mind a 26 t\u00f6bbi uni\u00f3s tag\u00e1llam \u00e9s az USA is szerepel. Az \u00f6sszegek mindig az adott orsz\u00e1g mai p\u00e9nznem\u00e9ben \u00e9rtend\u0151k: forintban, eur\u00f3ban, doll\u00e1rban, illetve p\u00e9ld\u00e1ul cseh koron\u00e1ban vagy zlotyban. Az eur\u00f3\u00f6vezeti orsz\u00e1gokn\u00e1l az eur\u00f3 bevezet\u00e9se el\u0151tti \u00e9vek eur\u00f3ra \u00e1tsz\u00e1m\u00edtva \u00e9rtend\u0151k. Orsz\u00e1gv\u00e1lt\u00e1skor a v\u00e1rhat\u00f3 infl\u00e1ci\u00f3 alap\u00e9rt\u00e9ke az adott jegybank infl\u00e1ci\u00f3s c\u00e9lj\u00e1ra v\u00e1lt, p\u00e9ld\u00e1ul az EKB \u00e9s a Fed eset\u00e9ben 2%-ra.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Mi\u00e9rt nem 1989-t\u0151l indulnak a k\u00fclf\u00f6ldi adatok az infl\u00e1ci\u00f3kalkul\u00e1torban?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Az infl\u00e1ci\u00f3kalkul\u00e1tor mindig onnan indul, ahonnan egys\u00e9ges, val\u00f3s adat van. Az Eurostat harmoniz\u00e1lt indexe a legt\u00f6bb tag\u00e1llamra 1997-t\u0151l k\u00f6zli az \u00e9ves v\u00e1ltoz\u00e1st, ez\u00e9rt ott 1996 a kiindul\u00f3 \u00e9v, Bulg\u00e1ri\u00e1n\u00e1l \u00e9s Szlov\u00e1ki\u00e1n\u00e1l 1997, Horv\u00e1torsz\u00e1gn\u00e1l 1998, az EU-27 \u00e1tlag\u00e1n\u00e1l 2000. A rendszerv\u00e1lt\u00f3 orsz\u00e1gok kor\u00e1bbi \u00e9vein\u00e9l sokszor hi\u00e1nyzik az adat, vagy hiperinfl\u00e1ci\u00f3 \u00e9s valutacsere torz\u00edtja, ez\u00e9rt ezekre nem sz\u00e1molunk. Magyarorsz\u00e1gra a KSH \u00e9s az USA-ra a Vil\u00e1gbank adata 1989-t\u0151l el\u00e9rhet\u0151.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Hogyan hasonl\u00edthatom \u00f6ssze az orsz\u00e1gok infl\u00e1ci\u00f3j\u00e1t?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Az infl\u00e1ci\u00f3kalkul\u00e1tor Orsz\u00e1gok \u00f6sszevet\u00e9se r\u00e9sz\u00e9ben legfeljebb n\u00e9gy orsz\u00e1got v\u00e1laszthatsz, \u00e9s a grafikon a k\u00f6z\u00f6s id\u0151szakban mutatja az \u00e1rszint alakul\u00e1s\u00e1t, a kezd\u0151\u00e9vet 100-nak v\u00e9ve, \u00edgy a p\u00e9nznemt\u0151l f\u00fcggetlen\u00fcl \u00f6sszevethet\u0151k. 2000 \u00e9s 2024 k\u00f6z\u00f6tt p\u00e9ld\u00e1ul Magyarorsz\u00e1gon az \u00e1rszint kb. 3.2-szeres\u00e9re n\u0151tt (\u00e9vi \u00e1tlag 5.0%), az EU-27 \u00e1tlag\u00e1ban \u00e9s az USA-ban kb. 1.8-szoros\u00e1ra (\u00e9vi 2.4% \u00e9s 2.5%), N\u00e9metorsz\u00e1gban kb. 1.6-szoros\u00e1ra (\u00e9vi 2.1%). Az \u00f6sszevet\u00e9s csak val\u00f3s adatot mutat, becsl\u00e9st nem.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Mennyit \u00e9r ma az 1989-es 100 000 forint?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Az infl\u00e1ci\u00f3kalkul\u00e1tor szerint az 1989-ben 100 000 forint\u00e9rt megvett kos\u00e1r 2026-ban \u00e1tlagosan kb. 2.74 milli\u00f3 forintba ker\u00fcl, vagyis az \u00e1rszint t\u00f6bb mint 27-szeres\u00e9re n\u0151tt. Ford\u00edtva: a mai 100 000 forint 1989-es \u00e1rakon csak kb. 3 650 forintot \u00e9rne. A kalkul\u00e1torban b\u00e1rmelyik k\u00e9t \u00e9vet \u00f6sszevetheted, a pontos \u00f6sszeget pedig \u00e9vr\u0151l \u00e9vre is megn\u00e9zheted.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Mi az infl\u00e1ci\u00f3, \u00e9s hogyan m\u00e9ri a KSH?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Az infl\u00e1ci\u00f3 az \u00e1rak \u00e1ltal\u00e1nos \u00e9s tart\u00f3s emelked\u00e9se, amelynek m\u00e1sik oldala a p\u00e9nz v\u00e1s\u00e1rl\u00f3erej\u00e9nek cs\u00f6kken\u00e9se: ugyanannyi forint\u00e9rt id\u0151vel egyre kevesebbet v\u00e1s\u00e1rolhatsz. Magyarorsz\u00e1gon a KSH m\u00e9ri a fogyaszt\u00f3i\u00e1r-indexszel, amely egy \u00e1tlagos h\u00e1ztart\u00e1s v\u00e1s\u00e1rl\u00e1sait t\u00fckr\u00f6z\u0151 fogyaszt\u00f3i kos\u00e1r \u00e1rv\u00e1ltoz\u00e1s\u00e1t k\u00f6veti havonta \u00e9s \u00e9vente. Ha az \u00e9ves infl\u00e1ci\u00f3 4.4%, akkor ami\u00e9rt tavaly 100 000 forintot fizett\u00e9l, az\u00e9rt id\u00e9n \u00e1tlagosan 104 400 forintot kell fizetned.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Mi a k\u00fcl\u00f6nbs\u00e9g a nomin\u00e1lis hozam \u00e9s a re\u00e1lhozam k\u00f6z\u00f6tt?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"A nomin\u00e1lis hozam azt mutatja, mennyivel n\u0151tt a p\u00e9nzed forintban, a re\u00e1lhozam pedig azt, mennyivel n\u0151tt a v\u00e1s\u00e1rl\u00f3ereje, vagyis az infl\u00e1ci\u00f3val korrig\u00e1lt hozam. Pontosan \u00edgy sz\u00e1molhatod ki: re\u00e1lhozam = (1 + nomin\u00e1lis hozam) \/ (1 + infl\u00e1ci\u00f3) \u2212 1. Ha 2023-ban egy 10%-os hozam\u00fa megtakar\u00edt\u00e1sban tartottad a p\u00e9nzed, a 17.6%-os infl\u00e1ci\u00f3 miatt re\u00e1l\u00e9rt\u00e9ken kb. 6.5%-ot vesz\u00edtett\u00e9l. Az infl\u00e1ci\u00f3kalkul\u00e1torral megn\u00e9zheted, mekkora hozam kellett volna egy adott id\u0151szakban a v\u00e1s\u00e1rl\u00f3er\u0151d meg\u0151rz\u00e9s\u00e9hez.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Hogyan sz\u00e1mol az infl\u00e1ci\u00f3kalkul\u00e1tor a j\u00f6v\u0151beli \u00e9vekkel?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"A m\u00e9g nem ismert \u00e9vekre az infl\u00e1ci\u00f3kalkul\u00e1tor az \u00e1ltalad megadott v\u00e1rhat\u00f3 \u00e1tlagos infl\u00e1ci\u00f3val sz\u00e1mol, a mai d\u00e1tumot k\u00f6vet\u0151 \u00e9vt\u0151l. Alap\u00e9rt\u00e9ke a v\u00e1lasztott orsz\u00e1g jegybankj\u00e1nak infl\u00e1ci\u00f3s c\u00e9lja, Magyarorsz\u00e1gon az MNB 3%-os c\u00e9lja, de b\u00e1rmire \u00e1t\u00edrhatod. A becs\u00fclt \u00e9veket a grafikonon halv\u00e1ny s\u00e1v \u00e9s szaggatott vonal jel\u00f6li. Ez becsl\u00e9s, nem el\u0151rejelz\u00e9s: a t\u00e9nyleges infl\u00e1ci\u00f3 ett\u0151l \u00e9vr\u0151l \u00e9vre jelent\u0151sen elt\u00e9rhet, ahogy 2023-ban is 17.6% lett.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Kisz\u00e1molhatom az infl\u00e1ci\u00f3kalkul\u00e1torral a mai p\u00e9nzem r\u00e9gi \u00e9rt\u00e9k\u00e9t is?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Igen. Az infl\u00e1ci\u00f3kalkul\u00e1tor ir\u00e1nyv\u00e1lt\u00f3j\u00e1val a \u201eMai p\u00e9nz \u2192 r\u00e9gi \u00e9rt\u00e9k\u201d \u00e1ll\u00e1sban azt l\u00e1tod, mennyit \u00e9rt volna a mai p\u00e9nzed egy kor\u00e1bbi \u00e9vben. Ilyenkor a grafikon cs\u00f6kken\u0151 g\u00f6rb\u00e9t mutat: \u00e9vr\u0151l \u00e9vre megmutatja, mennyit \u00e9r az adott \u00e9vi \u00f6sszeg a r\u00e9gi \u00e9v \u00e1rain. A \u201eR\u00e9gi p\u00e9nz \u2192 mai \u00e9rt\u00e9k\u201d \u00e1ll\u00e1sban ford\u00edtva, egy r\u00e9gi \u00f6sszeg mai megfelel\u0151j\u00e9t kapod meg.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Sz\u00e1molhatok az infl\u00e1ci\u00f3kalkul\u00e1torral saj\u00e1t infl\u00e1ci\u00f3s r\u00e1t\u00e1val?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Igen. Az infl\u00e1ci\u00f3kalkul\u00e1tor R\u00e9szletes be\u00e1ll\u00edt\u00e1sai k\u00f6z\u00f6tt a val\u00f3s adatok helyett egy saj\u00e1t, \u00e1lland\u00f3 r\u00e1t\u00e1t is megadhatsz, amely minden \u00e9vre \u00e9rv\u00e9nyes, a m\u00faltra is. \u00cdgy kipr\u00f3b\u00e1lhatod p\u00e9ld\u00e1ul, mi lett volna, ha az infl\u00e1ci\u00f3 mindig \u00e9vi 5% lett volna. A kalkul\u00e1tor ilyenkor azt is ki\u00edrja, mennyi lett volna az eredm\u00e9ny a val\u00f3s adatokkal.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Mi\u00e9rt t\u00e9rhet el a saj\u00e1t infl\u00e1ci\u00f3m att\u00f3l, amit az infl\u00e1ci\u00f3kalkul\u00e1tor mutat?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Az infl\u00e1ci\u00f3kalkul\u00e1tor az orsz\u00e1gos \u00e1tlagos \u00e1rszinttel sz\u00e1mol, vagyis egy \u00e1tlagos h\u00e1ztart\u00e1s fogyaszt\u00f3i kosar\u00e1val. Ha a kiad\u00e1said nagyobb r\u00e9sze megy p\u00e9ld\u00e1ul \u00e9lelmiszerre, energi\u00e1ra vagy lakhat\u00e1sra, \u00e9s ezek az \u00e1tlagn\u00e1l jobban dr\u00e1gultak, a szem\u00e9lyes infl\u00e1ci\u00f3d magasabb lehet a kalkul\u00e1tor \u00e1ltal mutatott \u00e9rt\u00e9kn\u00e9l. Ford\u00edtott esetben alacsonyabb is lehet.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Le tudom t\u00f6lteni vagy meg tudom osztani az infl\u00e1ci\u00f3kalkul\u00e1tor eredm\u00e9nyeit?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Igen. Az infl\u00e1ci\u00f3kalkul\u00e1tor grafikonjait PNG-k\u00e9pk\u00e9nt mentheted el, c\u00edmmel \u00e9s forr\u00e1smegjel\u00f6l\u00e9ssel egy\u00fctt. Az \u00e9venk\u00e9nti t\u00e1bl\u00e1zatot CSV-f\u00e1jlk\u00e9nt t\u00f6ltheted le, amelyet a magyar Excel k\u00f6zvetlen\u00fcl megnyit. Az Eredm\u00e9ny megoszt\u00e1sa gombbal pedig egy linket m\u00e1solhatsz, amely pontosan a be\u00e1ll\u00edtott orsz\u00e1ggal, \u00f6sszeggel \u00e9s \u00e9vekkel nyitja meg a kalkul\u00e1tort.\"\n          }\n        }\n      ]\n    }\n  ]\n}\n<\/script>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>R\u00e9g\u00f3ta tervezem, hogy csin\u00e1ljak egy infl\u00e1ci\u00f3kalkul\u00e1tor jelleg\u0171 megold\u00e1st, amivel kisz\u00e1molhatod, hogyan eszi meg a vagyonodat a l\u00e1thatatlan hozamgyilkos. Az\u00e9rt kell neked is a befektet\u00e9sekkel foglalkoznod, mert ha nem csin\u00e1lsz semmit, akkor is megeszi az infl\u00e1ci\u00f3 a vagyonodat, csak l\u00e1thatatlanul. De mit is jelent az, hogy infl\u00e1ci\u00f3, \u00e9s mi\u00e9rt kell infl\u00e1ci\u00f3kalkul\u00e1tort neked is haszn\u00e1lnod? \ud83d\udd22Csak a [&hellip;]<\/p>\n<div class=\"read-more\"><a href=\"https:\/\/iocharts.io\/blog\/inflaciokalkulator-ennyit-buksz-lathatatlanul\/\" class=\"btn btn-primary btn-lg\">Tov\u00e1bb<\/a><\/div>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":2,"featured_media":12728,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[459],"tags":[46,460,461,74],"class_list":["post-12707","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kalkulatorok","tag-inflacio","tag-inflaciokalkulator","tag-jelenertek","tag-portfolioblogger"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Infl\u00e1ci\u00f3kalkul\u00e1tor: ennyit buksz l\u00e1thatatlanul<\/title>\n<meta name=\"description\" content=\"Ingyenes infl\u00e1ci\u00f3kalkul\u00e1tor: mennyit \u00e9rne ma az 1989-es 100 000 Ft? Val\u00f3s KSH-adatok, j\u00f6v\u0151beli becsl\u00e9s, grafikon \u00e9s adatlet\u00f6lt\u00e9s.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/iocharts.io\/blog\/inflaciokalkulator-ennyit-buksz-lathatatlanul\/\" \/>\n<meta property=\"og:locale\" content=\"hu_HU\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Infl\u00e1ci\u00f3kalkul\u00e1tor: ennyit buksz l\u00e1thatatlanul\" \/>\n<meta property=\"og:description\" content=\"Ingyenes infl\u00e1ci\u00f3kalkul\u00e1tor: mennyit \u00e9rne ma az 1989-es 100 000 Ft? Val\u00f3s KSH-adatok, j\u00f6v\u0151beli becsl\u00e9s, grafikon \u00e9s adatlet\u00f6lt\u00e9s.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/iocharts.io\/blog\/inflaciokalkulator-ennyit-buksz-lathatatlanul\/\" \/>\n<meta property=\"og:site_name\" content=\"iO Charts\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/iOCharts\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-20T06:01:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-21T18:20:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/iocharts.io\/blog\/wp-content\/uploads\/inflaciokalkulator-002.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"836\" \/>\n\t<meta property=\"og:image:height\" content=\"470\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Marton J. Bulla\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@iOCharts\" \/>\n<meta name=\"twitter:site\" content=\"@iOCharts\" \/>\n<meta name=\"twitter:label1\" content=\"Szerz\u0151:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Marton J. Bulla\" \/>\n\t<meta name=\"twitter:label2\" content=\"Becs\u00fclt olvas\u00e1si id\u0151\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 perc\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/iocharts.io\\\/blog\\\/inflaciokalkulator-ennyit-buksz-lathatatlanul\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/iocharts.io\\\/blog\\\/inflaciokalkulator-ennyit-buksz-lathatatlanul\\\/\"},\"author\":{\"name\":\"Marton J. Bulla\",\"@id\":\"https:\\\/\\\/iocharts.io\\\/blog\\\/#\\\/schema\\\/person\\\/e285f855a6a9b806cd03c0b62f1c5831\"},\"headline\":\"Infl\u00e1ci\u00f3kalkul\u00e1tor: ennyit buksz l\u00e1thatatlanul\",\"datePublished\":\"2026-10-20T06:01:00+00:00\",\"dateModified\":\"2026-10-21T18:20:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/iocharts.io\\\/blog\\\/inflaciokalkulator-ennyit-buksz-lathatatlanul\\\/\"},\"wordCount\":3076,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/iocharts.io\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/iocharts.io\\\/blog\\\/inflaciokalkulator-ennyit-buksz-lathatatlanul\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/iocharts.io\\\/blog\\\/wp-content\\\/uploads\\\/inflaciokalkulator-002.jpg\",\"keywords\":[\"infl\u00e1ci\u00f3\",\"infl\u00e1ci\u00f3kalkul\u00e1tor\",\"jelen\u00e9rt\u00e9k\",\"portfolioblogger\"],\"articleSection\":[\"Kalkul\u00e1torok\"],\"inLanguage\":\"hu\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/iocharts.io\\\/blog\\\/inflaciokalkulator-ennyit-buksz-lathatatlanul\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/iocharts.io\\\/blog\\\/inflaciokalkulator-ennyit-buksz-lathatatlanul\\\/\",\"url\":\"https:\\\/\\\/iocharts.io\\\/blog\\\/inflaciokalkulator-ennyit-buksz-lathatatlanul\\\/\",\"name\":\"Infl\u00e1ci\u00f3kalkul\u00e1tor: ennyit buksz l\u00e1thatatlanul\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/iocharts.io\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/iocharts.io\\\/blog\\\/inflaciokalkulator-ennyit-buksz-lathatatlanul\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/iocharts.io\\\/blog\\\/inflaciokalkulator-ennyit-buksz-lathatatlanul\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/iocharts.io\\\/blog\\\/wp-content\\\/uploads\\\/inflaciokalkulator-002.jpg\",\"datePublished\":\"2026-10-20T06:01:00+00:00\",\"dateModified\":\"2026-10-21T18:20:21+00:00\",\"description\":\"Ingyenes infl\u00e1ci\u00f3kalkul\u00e1tor: mennyit \u00e9rne ma az 1989-es 100 000 Ft? Val\u00f3s KSH-adatok, j\u00f6v\u0151beli becsl\u00e9s, grafikon \u00e9s adatlet\u00f6lt\u00e9s.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/iocharts.io\\\/blog\\\/inflaciokalkulator-ennyit-buksz-lathatatlanul\\\/#breadcrumb\"},\"inLanguage\":\"hu\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/iocharts.io\\\/blog\\\/inflaciokalkulator-ennyit-buksz-lathatatlanul\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"hu\",\"@id\":\"https:\\\/\\\/iocharts.io\\\/blog\\\/inflaciokalkulator-ennyit-buksz-lathatatlanul\\\/#primaryimage\",\"url\":\"https:\\\/\\\/iocharts.io\\\/blog\\\/wp-content\\\/uploads\\\/inflaciokalkulator-002.jpg\",\"contentUrl\":\"https:\\\/\\\/iocharts.io\\\/blog\\\/wp-content\\\/uploads\\\/inflaciokalkulator-002.jpg\",\"width\":836,\"height\":470},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/iocharts.io\\\/blog\\\/inflaciokalkulator-ennyit-buksz-lathatatlanul\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/iocharts.io\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Infl\u00e1ci\u00f3kalkul\u00e1tor: ennyit buksz l\u00e1thatatlanul\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/iocharts.io\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/iocharts.io\\\/blog\\\/\",\"name\":\"iO Charts\",\"description\":\"Befektet\u00e9s kezd\u0151knek: r\u00e9szv\u00e9ny, ETF, \u00e1llampap\u00edr, kript\u00f3\",\"publisher\":{\"@id\":\"https:\\\/\\\/iocharts.io\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/iocharts.io\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"hu\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/iocharts.io\\\/blog\\\/#organization\",\"name\":\"iO Charts\",\"url\":\"https:\\\/\\\/iocharts.io\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"hu\",\"@id\":\"https:\\\/\\\/iocharts.io\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/iocharts.io\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/01\\\/logo_no_text-1.png\",\"contentUrl\":\"https:\\\/\\\/iocharts.io\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/01\\\/logo_no_text-1.png\",\"width\":113,\"height\":113,\"caption\":\"iO Charts\"},\"image\":{\"@id\":\"https:\\\/\\\/iocharts.io\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/iOCharts\",\"https:\\\/\\\/x.com\\\/iOCharts\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/io-charts\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/iocharts.io\\\/blog\\\/#\\\/schema\\\/person\\\/e285f855a6a9b806cd03c0b62f1c5831\",\"name\":\"Marton J. Bulla\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"hu\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9de36d5ad5c3e201c61d9296de2ac511a3176fe676b33d3949658f37497f5b4d?s=96&d=retro&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9de36d5ad5c3e201c61d9296de2ac511a3176fe676b33d3949658f37497f5b4d?s=96&d=retro&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9de36d5ad5c3e201c61d9296de2ac511a3176fe676b33d3949658f37497f5b4d?s=96&d=retro&r=g\",\"caption\":\"Marton J. Bulla\"},\"description\":\"M\u00e1rton J. Bulla is a fundamental analyst and a committed long-term investor. Instead of forecasting macroeconomic trends, he dives deep into individual companies, focusing on capital allocation, value creation, and sustainable growth. His primary interest lies in the world of serial acquirers, and he increasingly focuses on a concentrated portfolio. M\u00e1rton believes in transparency and authenticity: he manages his entire wealth according to the strategy he publishes on the iO Charts blog. 95% of his assets are invested in individual stocks, while the remaining 5% make up his startup portfolio, a journey he has been documenting since 2021. He holds a degree from IBS, complemented by a background in IT, SEO, and marketing, which allows him to evaluate a company\u2019s technological edge and market position with a unique perspective. When he isn't analyzing financial statements, he is a passionate table soccer player.\",\"url\":\"https:\\\/\\\/iocharts.io\\\/blog\\\/author\\\/marton-bulla\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Infl\u00e1ci\u00f3kalkul\u00e1tor: ennyit buksz l\u00e1thatatlanul","description":"Ingyenes infl\u00e1ci\u00f3kalkul\u00e1tor: mennyit \u00e9rne ma az 1989-es 100 000 Ft? Val\u00f3s KSH-adatok, j\u00f6v\u0151beli becsl\u00e9s, grafikon \u00e9s adatlet\u00f6lt\u00e9s.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/iocharts.io\/blog\/inflaciokalkulator-ennyit-buksz-lathatatlanul\/","og_locale":"hu_HU","og_type":"article","og_title":"Infl\u00e1ci\u00f3kalkul\u00e1tor: ennyit buksz l\u00e1thatatlanul","og_description":"Ingyenes infl\u00e1ci\u00f3kalkul\u00e1tor: mennyit \u00e9rne ma az 1989-es 100 000 Ft? Val\u00f3s KSH-adatok, j\u00f6v\u0151beli becsl\u00e9s, grafikon \u00e9s adatlet\u00f6lt\u00e9s.","og_url":"https:\/\/iocharts.io\/blog\/inflaciokalkulator-ennyit-buksz-lathatatlanul\/","og_site_name":"iO Charts","article_publisher":"https:\/\/www.facebook.com\/iOCharts","article_published_time":"2026-10-20T06:01:00+00:00","article_modified_time":"2026-10-21T18:20:21+00:00","og_image":[{"width":836,"height":470,"url":"https:\/\/iocharts.io\/blog\/wp-content\/uploads\/inflaciokalkulator-002.jpg","type":"image\/jpeg"}],"author":"Marton J. Bulla","twitter_card":"summary_large_image","twitter_creator":"@iOCharts","twitter_site":"@iOCharts","twitter_misc":{"Szerz\u0151:":"Marton J. Bulla","Becs\u00fclt olvas\u00e1si id\u0151":"12 perc"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/iocharts.io\/blog\/inflaciokalkulator-ennyit-buksz-lathatatlanul\/#article","isPartOf":{"@id":"https:\/\/iocharts.io\/blog\/inflaciokalkulator-ennyit-buksz-lathatatlanul\/"},"author":{"name":"Marton J. Bulla","@id":"https:\/\/iocharts.io\/blog\/#\/schema\/person\/e285f855a6a9b806cd03c0b62f1c5831"},"headline":"Infl\u00e1ci\u00f3kalkul\u00e1tor: ennyit buksz l\u00e1thatatlanul","datePublished":"2026-10-20T06:01:00+00:00","dateModified":"2026-10-21T18:20:21+00:00","mainEntityOfPage":{"@id":"https:\/\/iocharts.io\/blog\/inflaciokalkulator-ennyit-buksz-lathatatlanul\/"},"wordCount":3076,"commentCount":0,"publisher":{"@id":"https:\/\/iocharts.io\/blog\/#organization"},"image":{"@id":"https:\/\/iocharts.io\/blog\/inflaciokalkulator-ennyit-buksz-lathatatlanul\/#primaryimage"},"thumbnailUrl":"https:\/\/iocharts.io\/blog\/wp-content\/uploads\/inflaciokalkulator-002.jpg","keywords":["infl\u00e1ci\u00f3","infl\u00e1ci\u00f3kalkul\u00e1tor","jelen\u00e9rt\u00e9k","portfolioblogger"],"articleSection":["Kalkul\u00e1torok"],"inLanguage":"hu","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/iocharts.io\/blog\/inflaciokalkulator-ennyit-buksz-lathatatlanul\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/iocharts.io\/blog\/inflaciokalkulator-ennyit-buksz-lathatatlanul\/","url":"https:\/\/iocharts.io\/blog\/inflaciokalkulator-ennyit-buksz-lathatatlanul\/","name":"Infl\u00e1ci\u00f3kalkul\u00e1tor: ennyit buksz l\u00e1thatatlanul","isPartOf":{"@id":"https:\/\/iocharts.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/iocharts.io\/blog\/inflaciokalkulator-ennyit-buksz-lathatatlanul\/#primaryimage"},"image":{"@id":"https:\/\/iocharts.io\/blog\/inflaciokalkulator-ennyit-buksz-lathatatlanul\/#primaryimage"},"thumbnailUrl":"https:\/\/iocharts.io\/blog\/wp-content\/uploads\/inflaciokalkulator-002.jpg","datePublished":"2026-10-20T06:01:00+00:00","dateModified":"2026-10-21T18:20:21+00:00","description":"Ingyenes infl\u00e1ci\u00f3kalkul\u00e1tor: mennyit \u00e9rne ma az 1989-es 100 000 Ft? Val\u00f3s KSH-adatok, j\u00f6v\u0151beli becsl\u00e9s, grafikon \u00e9s adatlet\u00f6lt\u00e9s.","breadcrumb":{"@id":"https:\/\/iocharts.io\/blog\/inflaciokalkulator-ennyit-buksz-lathatatlanul\/#breadcrumb"},"inLanguage":"hu","potentialAction":[{"@type":"ReadAction","target":["https:\/\/iocharts.io\/blog\/inflaciokalkulator-ennyit-buksz-lathatatlanul\/"]}]},{"@type":"ImageObject","inLanguage":"hu","@id":"https:\/\/iocharts.io\/blog\/inflaciokalkulator-ennyit-buksz-lathatatlanul\/#primaryimage","url":"https:\/\/iocharts.io\/blog\/wp-content\/uploads\/inflaciokalkulator-002.jpg","contentUrl":"https:\/\/iocharts.io\/blog\/wp-content\/uploads\/inflaciokalkulator-002.jpg","width":836,"height":470},{"@type":"BreadcrumbList","@id":"https:\/\/iocharts.io\/blog\/inflaciokalkulator-ennyit-buksz-lathatatlanul\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/iocharts.io\/blog\/"},{"@type":"ListItem","position":2,"name":"Infl\u00e1ci\u00f3kalkul\u00e1tor: ennyit buksz l\u00e1thatatlanul"}]},{"@type":"WebSite","@id":"https:\/\/iocharts.io\/blog\/#website","url":"https:\/\/iocharts.io\/blog\/","name":"iO Charts","description":"Befektet\u00e9s kezd\u0151knek: r\u00e9szv\u00e9ny, ETF, \u00e1llampap\u00edr, kript\u00f3","publisher":{"@id":"https:\/\/iocharts.io\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/iocharts.io\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"hu"},{"@type":"Organization","@id":"https:\/\/iocharts.io\/blog\/#organization","name":"iO Charts","url":"https:\/\/iocharts.io\/blog\/","logo":{"@type":"ImageObject","inLanguage":"hu","@id":"https:\/\/iocharts.io\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/iocharts.io\/blog\/wp-content\/uploads\/2020\/01\/logo_no_text-1.png","contentUrl":"https:\/\/iocharts.io\/blog\/wp-content\/uploads\/2020\/01\/logo_no_text-1.png","width":113,"height":113,"caption":"iO Charts"},"image":{"@id":"https:\/\/iocharts.io\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/iOCharts","https:\/\/x.com\/iOCharts","https:\/\/www.linkedin.com\/company\/io-charts"]},{"@type":"Person","@id":"https:\/\/iocharts.io\/blog\/#\/schema\/person\/e285f855a6a9b806cd03c0b62f1c5831","name":"Marton J. Bulla","image":{"@type":"ImageObject","inLanguage":"hu","@id":"https:\/\/secure.gravatar.com\/avatar\/9de36d5ad5c3e201c61d9296de2ac511a3176fe676b33d3949658f37497f5b4d?s=96&d=retro&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/9de36d5ad5c3e201c61d9296de2ac511a3176fe676b33d3949658f37497f5b4d?s=96&d=retro&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9de36d5ad5c3e201c61d9296de2ac511a3176fe676b33d3949658f37497f5b4d?s=96&d=retro&r=g","caption":"Marton J. Bulla"},"description":"M\u00e1rton J. Bulla is a fundamental analyst and a committed long-term investor. Instead of forecasting macroeconomic trends, he dives deep into individual companies, focusing on capital allocation, value creation, and sustainable growth. His primary interest lies in the world of serial acquirers, and he increasingly focuses on a concentrated portfolio. M\u00e1rton believes in transparency and authenticity: he manages his entire wealth according to the strategy he publishes on the iO Charts blog. 95% of his assets are invested in individual stocks, while the remaining 5% make up his startup portfolio, a journey he has been documenting since 2021. He holds a degree from IBS, complemented by a background in IT, SEO, and marketing, which allows him to evaluate a company\u2019s technological edge and market position with a unique perspective. When he isn't analyzing financial statements, he is a passionate table soccer player.","url":"https:\/\/iocharts.io\/blog\/author\/marton-bulla\/"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/iocharts.io\/blog\/wp-content\/uploads\/inflaciokalkulator-002.jpg","gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/iocharts.io\/blog\/wp-json\/wp\/v2\/posts\/12707","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/iocharts.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/iocharts.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/iocharts.io\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/iocharts.io\/blog\/wp-json\/wp\/v2\/comments?post=12707"}],"version-history":[{"count":38,"href":"https:\/\/iocharts.io\/blog\/wp-json\/wp\/v2\/posts\/12707\/revisions"}],"predecessor-version":[{"id":12808,"href":"https:\/\/iocharts.io\/blog\/wp-json\/wp\/v2\/posts\/12707\/revisions\/12808"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/iocharts.io\/blog\/wp-json\/wp\/v2\/media\/12728"}],"wp:attachment":[{"href":"https:\/\/iocharts.io\/blog\/wp-json\/wp\/v2\/media?parent=12707"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/iocharts.io\/blog\/wp-json\/wp\/v2\/categories?post=12707"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/iocharts.io\/blog\/wp-json\/wp\/v2\/tags?post=12707"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}