{"version":3,"sources":["webpack:///./src/components/read-next.js","webpack:///./src/video/home/covid-fade.mp4","webpack:///./node_modules/observe-element-in-viewport/dist/index.esm.js","webpack:///./node_modules/use-is-in-viewport/built/index.esm.js","webpack:///./src/components/scroll-slideshow.js","webpack:///./src/pages/index.js","webpack:///./src/video/home/covid-intro-fade.mp4","webpack:///./src/helpers/find-object.js","webpack:///./src/components/sub-navigation.js"],"names":["ReadNext","sectionID","pageID","menu","findObject","menuData","content","children","className","to","href","name","path","featured_image","alt","module","exports","o","r","t","e","Error","n","Object","assign","viewport","modTop","modRight","modBottom","modLeft","threshold","i","a","u","s","f","d","Array","isArray","h","map","Math","floor","c","min","apply","m","root","Node","rootMargin","l","IntersectionObserver","filter","target","unobserve","isInViewport","isIntersecting","intersectionRatio","observe","call","p","v","prototype","hasOwnProperty","indexOf","w","y","b","current","ScrollSlideshow","contentRef","useIsInViewport","isSlide2InViewport","slide2","isSlide2Centered","slide2Centered","isSlide3InViewport","slide3","isSlide3Centered","slide3Centered","isSlide4InViewport","slide4","isSlide4Centered","slide4Centered","isSlide5InViewport","slide5","isSlide5Centered","slide5Centered","isContentInViewport","wrappedTargetRef","ref","src","IntroVideo1","muted","loop","playsInline","autoPlay","IntroVideo2","Home","mainContent","useRef","id","dataSource","dataSourceProperty","valueToMatch","find","object","SubNavigation","location","findIndex","item","includes","activeItem","handleScroll","height","document","documentElement","scrollHeight","window","innerHeight","scrollY","pageYOffset","progress","round","style","width","useEffect","addEventListener","index","key","flex","length"],"mappings":"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","file":"component---src-pages-index-js-00df0c950b871a436c7e.js","sourcesContent":["import React from \"react\"\nimport Image from \"../components/image\"\nimport menuData from \"../data/menu.json\"\nimport findObject from \"../helpers/find-object\"\nimport { Link } from \"gatsby\"\n\nexport default function ReadNext({ sectionID, pageID }) {\n const menu = findObject(menuData, \"id\", sectionID)\n const content =\n menu && pageID ? findObject(menu.children, \"id\", pageID) : menu\n\n return (\n \n
\n \n Read Next\n \n

{content.name}

\n
\n\n \n \n )\n}\n","module.exports = __webpack_public_path__ + \"static/covid-fade-794148e6778d4d0285b36a43b20c8455.mp4\";","import \"core-js/modules/es6.promise\";\nimport \"core-js/modules/es6.object.to-string\";\nimport \"core-js/modules/es6.object.assign\";\n\nfunction o(o, r, t, e) {\n if (void 0 === t && (t = function t() {}), void 0 === e && (e = {}), !o) throw new Error(\"Target element to observe should be a valid DOM Node\");\n var n = Object.assign({}, {\n viewport: null,\n modTop: \"0px\",\n modRight: \"0px\",\n modBottom: \"0px\",\n modLeft: \"0px\",\n threshold: [0]\n }, e),\n i = n.viewport,\n a = n.modTop,\n u = n.modLeft,\n s = n.modBottom,\n f = n.modRight,\n d = n.threshold;\n if (!Array.isArray(d) && \"number\" != typeof d) throw new Error(\"threshold should be a number or an array of numbers\");\n var h = Array.isArray(d) ? d.map(function (o) {\n return Math.floor(o % 101) / 100;\n }) : [Math.floor(d ? d % 101 : 0) / 100],\n c = Math.min.apply(Math, h),\n m = {\n root: i instanceof Node ? i : null,\n rootMargin: a + \" \" + f + \" \" + s + \" \" + u,\n threshold: h\n },\n l = new IntersectionObserver(function (e, n) {\n var i = e.filter(function (r) {\n return r.target === o;\n })[0],\n a = function a() {\n return n.unobserve(o);\n };\n\n i && (i.isInViewport = i.isIntersecting && i.intersectionRatio >= c, i.isInViewport ? r(i, a, o) : t(i, a, o));\n }, m);\n return l.observe(o), function () {\n return l.unobserve(o);\n };\n}\n\nvar r = function r(_r, t) {\n return void 0 === t && (t = {}), new Promise(function (e, n) {\n try {\n o(_r, function (o, r) {\n r(), e(!0);\n }, function (o, r) {\n r(), e(!1);\n }, t);\n } catch (o) {\n n(o);\n }\n });\n};\n\nexport { o as observeElementInViewport, r as isInViewport };","import \"core-js/modules/es6.object.assign\";\nimport { observeElementInViewport as r } from \"observe-element-in-viewport\";\nimport { useCallback as t, useEffect as n, useRef as e, useState as u } from \"react\";\n\nfunction o(r) {\n return \"object\" == typeof r && \"current\" in r;\n}\n\nfunction c(r) {\n return \"function\" == typeof r && \"function\" == typeof r.call;\n}\n\nexport default function (i) {\n void 0 === i && (i = {});\n\n var f = u(null),\n p = f[0],\n l = f[1],\n a = i.target,\n v = i.viewport,\n m = function (r, t) {\n var n = {};\n\n for (var e in r) {\n Object.prototype.hasOwnProperty.call(r, e) && -1 === t.indexOf(e) && (n[e] = r[e]);\n }\n\n return n;\n }(i, [\"target\", \"viewport\"]),\n w = e(null),\n y = e(null),\n b = t(function (r) {\n w.current = r, v && (c(v) ? v(r) : o(v) && (v.current = r));\n }, [w, v]),\n s = t(function (r) {\n y.current = r, a && (c(a) ? a(r) : o(a) && (a.current = r));\n }, [y, a]);\n\n return n(function () {\n if (y.current) return r(y.current, function () {\n return l(!0);\n }, function () {\n return l(!1);\n }, Object.assign({}, m, {\n viewport: w.current\n }));\n }, [y.current, m, w]), [p, s, b];\n}","import React from \"react\"\nimport useIsInViewport from \"use-is-in-viewport\"\nimport Image from \"../components/image\"\nimport IntroVideo1 from \"../video/home/covid-intro-fade.mp4\"\nimport IntroVideo2 from \"../video/home/covid-fade.mp4\"\n\nexport default function ScrollSlideshow({ contentRef }) {\n const [isSlide2InViewport, slide2] = useIsInViewport()\n const [isSlide2Centered, slide2Centered] = useIsInViewport({\n modBottom: \"-25%\",\n })\n const [isSlide3InViewport, slide3] = useIsInViewport()\n const [isSlide3Centered, slide3Centered] = useIsInViewport({\n modBottom: \"-25%\",\n })\n const [isSlide4InViewport, slide4] = useIsInViewport()\n const [isSlide4Centered, slide4Centered] = useIsInViewport({\n modBottom: \"-25%\",\n })\n const [isSlide5InViewport, slide5] = useIsInViewport()\n const [isSlide5Centered, slide5Centered] = useIsInViewport({\n modBottom: \"-25%\",\n })\n const [isContentInViewport, wrappedTargetRef] = useIsInViewport({\n target: contentRef,\n })\n\n return (\n
\n
\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n )\n}\n","import React, { useRef } from \"react\"\nimport Layout from \"../components/layout\"\nimport Image from \"../components/image\"\nimport SubNavigation from \"../components/sub-navigation\"\nimport ScrollSlideshow from \"../components/scroll-slideshow\"\nimport ReadNext from \"../components/read-next\"\n\nexport default function Home() {\n const mainContent = useRef()\n\n return (\n \n \n \n \n
\n
\n
\n

\n Message from the managing director\n

\n
\n

Dear Reader,

\n

\n This year, as the world faced a crisis like no other, the IMF and\n its members swung into action.\n

\n

\n National governments took bold steps to save lives and put a floor\n under the world economy, with nearly $12 trillion in fiscal actions\n and about $7.5 trillion in monetary actions.\n

\n

\n The package of measures endorsed as part of the quota review\n approved by the Board of Governors in February 2020 preserves our\n financial firepower. These measures include the doubling of the New\n Arrangements to Borrow and a new round of bilateral borrowing\n arrangements, which are expected to be effective in January 2021.\n

\n

\n Member countries also stepped up with essential contributions to our\n Catastrophe Containment and Relief Trust and Poverty Reduction and\n Growth Trust.{\" \"}\n

\n

\n These resources have allowed the IMF to commit over $100 billion to\n help members in need since the pandemic began. This includes\n providing our low-income members with much-needed debt relief,\n extended until April 2021, and concessional lending—including about\n 10 times more such lending since the crisis hit than we usually\n disburse in a year. Our response was comprehensive, supporting both\n members that entered the crisis with vulnerabilities such as high\n debt and those that have good fundamentals but needed buffers.\n

\n

\n In response to the crisis, we quickly focused on our members’ most\n critical needs. We streamlined our procedures and rapidly embraced\n remote work to speed up decision-making, policy discussions,\n technical assistance, and training. We created a policy tracker\n summarizing the key economic responses of 196 economies, because\n sharing information, data, and analysis is a unique way we can add\n value for our members.{\" \"}\n

\n

\n While the IMF has taken unprecedented action, the outlook remains\n uncertain. Countries now face a long ascent that will be difficult,\n uneven, uncertain, and prone to setbacks.{\" \"}\n

\n

\n With substantial space in our $1 trillion lending capacity, the IMF\n is ready to help even more. Working with our members—now numbering\n 190 with the addition of Andorra—we can build a recovery that is\n more resilient and inclusive for all.\n

\n

\n This Annual Report reflects the policy advice, lending, and\n capacity development work of the Executive Board and staff to help\n our member countries before and during the pandemic—with a focus on\n policies for people that recognize the impact of macroeconomic\n policies on individuals.{\" \"}\n

\n

\n This report also highlights how we have continued to deepen our work\n on debt sustainability, governance and the control of corruption,\n social spending, financial technology and digital money, and climate\n change. Action in many of these areas offers the potential for a\n transformational recovery through job-rich growth that benefits all.\n

\n
\n \n
\n \n

Kristalina Georgieva

\n \n Managing Director\n \n
\n
\n
\n \n
\n
\n )\n}\n","module.exports = __webpack_public_path__ + \"static/covid-intro-fade-f740166987a377fb48b3cb5a3616ac20.mp4\";","export default function findObject(\n dataSource,\n dataSourceProperty,\n valueToMatch\n) {\n return dataSource.find(object => object[dataSourceProperty] === valueToMatch)\n}\n","import React, { useEffect, useRef } from \"react\"\nimport menuData from \"../data/menu.json\"\nimport findObject from \"../helpers/find-object\"\nimport { Link } from \"gatsby\"\n\nexport default function SubNavigation({ current, id }) {\n const menu = findObject(menuData, \"name\", id).children\n const location = menu.findIndex(item => item.id.includes(current))\n const activeItem = useRef()\n\n const handleScroll = () => {\n var height = document.documentElement.scrollHeight - window.innerHeight\n var scrollY = window.pageYOffset\n var progress = Math.round((scrollY / height) * 100)\n if (activeItem.current) {\n activeItem.current.style.width = progress + \"%\"\n }\n }\n\n const setActive = name => {\n if (current === name) {\n return \"sub-navigation--active\"\n } else if (!current) {\n return \"sub-navigation--active\"\n } else {\n return null\n }\n }\n\n useEffect(() => {\n window.addEventListener(\"scroll\", handleScroll)\n })\n\n return (\n \n )\n}\n"],"sourceRoot":""}