1<!DOCTYPE html> 2<html lang="en-GB" prefix="og: https://ogp.me/ns#"> 3<head> 4 <meta charset="UTF-8" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1" /> 6 7<!-- Search Engine Optimisation by Rank Math PRO - https://rankmath.com/ --> 8<meta name="description" content="Founded in 1954 to be a dynamic force in developing choral music in Ireland, the Cork International Choral Festival is held annually over the five days preceding the first Monday in May in venues across the city, centring around the City Hall, one of the most attractive and acoustically superb venues in Ireland."/> 9<meta name="robots" content="follow, index, max-snippet:-1, max-video-preview:-1, max-image-preview:large"/> 10<link rel="canonical" href="https://www.corkchoral.ie/about/" /> 11<meta property="og:locale" content="en_GB" /> 12<meta property="og:type" content="article" /> 13<meta property="og:title" content="About Us - Cork International Choral Festival" /> 14<meta property="og:description" content="Founded in 1954 to be a dynamic force in developing choral music in Ireland, the Cork International Choral Festival is held annually over the five days preceding the first Monday in May in venues across the city, centring around the City Hall, one of the most attractive and acoustically superb venues in Ireland." /> 15<meta property="og:url" content="https://www.corkchoral.ie/about/" /> 16<meta property="og:site_name" content="Cork International Choral Festival" /> 17<meta property="article:publisher" content="https://www.facebook.com/CorkChoralFestival/" /> 18<meta property="og:updated_time" content="2026-06-03T15:20:43+01:00" /> 19<meta property="og:image" content="https://www.corkchoral.ie/wp-content/uploads/2021/08/venividi.ie_Choral-19_Day-5_09_High-Res-1.jpg" /> 20<meta property="og:image:secure_url" content="https://www.corkchoral.ie/wp-content/uploads/2021/08/venividi.ie_Choral-19_Day-5_09_High-Res-1.jpg" /> 21<meta property="og:image:width" content="1920" /> 22<meta property="og:image:height" content="1234" /> 23<meta property="og:image:alt" content="Competition Winning choir at Awards Ceremony" /> 24<meta property="og:image:type" content="image/jpeg" /> 25<meta name="twitter:card" content="summary_large_image" /> 26<meta name="twitter:title" content="About Us - Cork International Choral Festival" /> 27<meta name="twitter:description" content="Founded in 1954 to be a dynamic force in developing choral music in Ireland, the Cork International Choral Festival is held annually over the five days preceding the first Monday in May in venues across the city, centring around the City Hall, one of the most attractive and acoustically superb venues in Ireland." /> 28<meta name="twitter:site" content="@corkchoralfest" /> 29<meta name="twitter:creator" content="@corkchoralfest" /> 30<meta name="twitter:image" content="https://www.corkchoral.ie/wp-content/uploads/2021/08/venividi.ie_Choral-19_Day-5_09_High-Res-1.jpg" /> 31<meta name="twitter:label1" content="Time to read" /> 32<meta name="twitter:data1" content="2 minutes" />
33<script type="application/ld+json" class="rank-math-schema-pro">{"@context":"https://schema.org","@graph":[{"@type":"Place","@id":"https://www.corkchoral.ie/#place","address":{"@type":"PostalAddress","streetAddress":"Civic Trust House, 50 Pope's Quay","addressLocality":"Shandon","addressRegion":"Cork","addressCountry":"IE","postalCode":"T23 R6XC"}},{"@type":"Organization","@id":"https://www.corkchoral.ie/#organization","name":"Cork International Choral Festival","url":"https://www.corkchoral.ie","sameAs":["https://www.facebook.com/CorkChoralFestival/","https://twitter.com/corkchoralfest"],"email":"[email protected]","address":{"@type":"PostalAddress","streetAddress":"Civic Trust House, 50 Pope's Quay","addressLocality":"Shandon","addressRegion":"Cork","addressCountry":"IE","postalCode":"T23 R6XC"},"logo":{"@type":"ImageObject","@id":"https://www.corkchoral.ie/#logo","url":"https://www.corkchoral.ie/wp-content/uploads/2021/08/CCF-Logo-Black-Colour-On-White.jpg","contentUrl":"https://www.corkchoral.ie/wp-content/uploads/2021/08/CCF-Logo-Black-Colour-On-White.jpg","caption":"Cork International Choral Festival","inLanguage":"en-GB","width":"1920","height":"1920"},"contactPoint":[{"@type":"ContactPoint","telephone":"+353-21-421-5125","contactType":"customer support"}],"location":{"@id":"https://www.corkchoral.ie/#place"}},{"@type":"WebSite","@id":"https://www.corkchoral.ie/#website","url":"https://www.corkchoral.ie","name":"Cork International Choral Festival","publisher":{"@id":"https://www.corkchoral.ie/#organization"},"inLanguage":"en-GB"},{"@type":"ImageObject","@id":"https://www.corkchoral.ie/wp-content/uploads/2021/08/venividi.ie_Choral-19_Day-5_09_High-Res-1.jpg","url":"https://www.corkchoral.ie/wp-content/uploads/2021/08/venividi.ie_Choral-19_Day-5_09_High-Res-1.jpg","width":"1920","height":"1234","caption":"Competition Winning choir at Awards Ceremony","inLanguage":"en-GB"},{"@type":"BreadcrumbList","@id":"https://www.corkchoral.ie/about/#breadcrumb","itemListElement":[{"@type":"ListItem","position":"1","item":{"@id":"https://www.corkchoral.ie","name":"Home"}},{"@type":"ListItem","position":"2","item":{"@id":"https://www.corkchoral.ie/about/","name":"About Us"}}]},{"@type":"AboutPage","@id":"https://www.corkchoral.ie/about/#webpage","url":"https://www.corkchoral.ie/about/","name":"About Us - Cork International Choral Festival","datePublished":"2021-08-19T22:01:48+01:00","dateModified":"2026-06-03T15:20:43+01:00","isPartOf":{"@id":"https://www.corkchoral.ie/#website"},"primaryImageOfPage":{"@id":"https://www.corkchoral.ie/wp-content/uploads/2021/08/venividi.ie_Choral-19_Day-5_09_High-Res-1.jpg"},"inLanguage":"en-GB","breadcrumb":{"@id":"https://www.corkchoral.ie/about/#breadcrumb"}}]}</script>
33 34<!-- /Rank Math WordPress SEO plugin --> 35 36<title>About Us - Cork International Choral Festival</title><link rel="preload" href="/wp-content/uploads/2021/08/cork-international-choral-festival-logo-2020-light-01_compressed.svg" as="image"> 37<link rel="alternate" type="application/rss+xml" title="Cork International Choral Festival » Feed" href="https://www.corkchoral.ie/feed/" /> 38<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://www.corkchoral.ie/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.corkchoral.ie%2Fabout%2F" /> 39<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://www.corkchoral.ie/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.corkchoral.ie%2Fabout%2F&format=xml" /> 40<style id="wp-block-paragraph-inline-css"> 41.is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}:root :where(p.has-background){padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"]{rotate:180deg} 42/*# sourceURL=https://www.corkchoral.ie/wp-includes/blocks/paragraph/style.min.css */ 43</style> 44<style id="wp-block-heading-inline-css"> 45h1:where(.wp-block-heading).has-background,h2:where(.wp-block-heading).has-background,h3:where(.wp-block-heading).has-background,h4:where(.wp-block-heading).has-background,h5:where(.wp-block-heading).has-background,h6:where(.wp-block-heading).has-background{padding:1.25em 2.375em}h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]){rotate:180deg} 46/*# sourceURL=https://www.corkchoral.ie/wp-includes/blocks/heading/style.min.css */ 47</style> 48<style id="wp-block-post-content-inline-css"> 49.wp-block-post-content{display:flow-root} 50/*# sourceURL=https://www.corkchoral.ie/wp-includes/blocks/post-content/style.min.css */ 51</style> 52 53<link rel='stylesheet' id='edd-blocks-css' href='https://www.corkchoral.ie/wp-content/plugins/easy-digital-downloads/includes/blocks/assets/css/edd-blocks.css?ver=3.7.0' media='all' /> 54<style id="edd-blocks-inline-css"> 55body{--edd-blocks-button-background:#000000; --edd-blocks-button-text:#ffffff;}.edd-submit,.has-edd-button-background-color{background-color: var(--edd-blocks-button-background) !important;} .has-edd-button-background-text-color{color: var(--edd-blocks-button-background) !important;} .edd-submit,.has-edd-button-text-color{color: var(--edd-blocks-button-text) !important;} 56/*# sourceURL=edd-blocks-inline-css */ 57</style> 58 59<style id="wpgb-head-inline-css"> 60.wp-grid-builder:not(.wpgb-template),.wpgb-facet{opacity:0.01}.wpgb-facet fieldset{margin:0;padding:0;border:none;outline:none;box-shadow:none}.wpgb-facet fieldset:last-child{margin-bottom:40px;}.wpgb-facet fieldset legend.wpgb-sr-only{height:1px;width:1px} 61/*# sourceURL=wpgb-head-inline-css */ 62</style> 63<link rel='stylesheet' id='trp-popup-style-css' href='https://www.corkchoral.ie/wp-content/plugins/translatepress-business/add-ons-pro/automatic-language-detection/assets/css/trp-popup.css?ver=7.0' media='all' /> 64<link rel='stylesheet' id='cmplz-general-css' href='https://www.corkchoral.ie/wp-content/plugins/complianz-gdpr/assets/css/cookieblocker.min.css?ver=1789651989' media='all' /> 65<link rel='stylesheet' id='trp-language-switcher-v2-css' href='https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/css/trp-language-switcher-v2.css?ver=3.3.4' media='all' /> 66<link rel='stylesheet' id='cmplz-banner-1-optin-css' href='https://www.corkchoral.ie/wp-content/uploads/complianz/css/banner-1-optin.css?ver=1789654304' media='all' />
67<script id="jquery-core-js" src="https://www.corkchoral.ie/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 67
67
68<script id="trp-language-cookie-js-extra" defer src="data:text/javascript;base64,CnZhciB0cnBfbGFuZ3VhZ2VfY29va2llX2RhdGEgPSB7ImFic19ob21lIjoiaHR0cHM6Ly93d3cuY29ya2Nob3JhbC5pZSIsInVybF9zbHVncyI6eyJlbl9HQiI6ImVuX2diIiwiYmdfQkciOiJiZyIsImNzX0NaIjoiY3MiLCJkYV9ESyI6ImRhIiwiZGVfREUiOiJkZSIsImVsIjoiZWwiLCJlc19FUyI6ImVzIiwiZXQiOiJldCIsImZyX0ZSIjoiZnIiLCJodV9IVSI6Imh1IiwiaXRfSVQiOiJpdCIsInBsX1BMIjoicGwiLCJwdF9QVCI6InB0IiwidWsiOiJ1ayJ9LCJjb29raWVfbmFtZSI6InRycF9sYW5ndWFnZSIsImNvb2tpZV9hZ2UiOiIzMCIsImNvb2tpZV9wYXRoIjoiLyIsImRlZmF1bHRfbGFuZ3VhZ2UiOiJlbl9HQiIsInB1Ymxpc2hfbGFuZ3VhZ2VzIjpbImVuX0dCIiwiYmdfQkciLCJjc19DWiIsImRhX0RLIiwiZGVfREUiLCJlbCIsImVzX0VTIiwiZXQiLCJmcl9GUiIsImh1X0hVIiwiaXRfSVQiLCJwbF9QTCIsInB0X1BUIiwidWsiXSwidHJwX2FsZF9hamF4X3VybCI6Imh0dHBzOi8vd3d3LmNvcmtjaG9yYWwuaWUvd3AtY29udGVudC9wbHVnaW5zL3RyYW5zbGF0ZXByZXNzLWJ1c2luZXNzL2FkZC1vbnMtcHJvL2F1dG9tYXRpYy1sYW5ndWFnZS1kZXRlY3Rpb24vaW5jbHVkZXMvdHJwLWFsZC1hamF4LnBocCIsImRldGVjdGlvbl9tZXRob2QiOiJicm93c2VyLWlwIiwicG9wdXBfb3B0aW9uIjoicG9wdXAiLCJwb3B1cF90eXBlIjoibm9ybWFsX3BvcHVwIiwicG9wdXBfdGV4dGFyZWEiOiJXZSd2ZSBkZXRlY3RlZCB5b3UgbWlnaHQgYmUgc3BlYWtpbmcgYSBkaWZmZXJlbnQgbGFuZ3VhZ2UuIERvIHlvdSB3YW50IHRvIGNoYW5nZSB0bzoiLCJwb3B1cF90ZXh0YXJlYV9jaGFuZ2VfYnV0dG9uIjoiQ2hhbmdlIExhbmd1YWdlIiwicG9wdXBfdGV4dGFyZWFfY2xvc2VfYnV0dG9uIjoiQ2xvc2UgYW5kIGRvIG5vdCBzd2l0Y2ggbGFuZ3VhZ2UiLCJpc29fY29kZXMiOnsiZW5fR0IiOiJlbiIsImJnX0JHIjoiYmciLCJjc19DWiI6ImNzIiwiZGFfREsiOiJkYSIsImRlX0RFIjoiZGUiLCJlbCI6ImVsIiwiZXNfRVMiOiJlcyIsImV0IjoiZXQiLCJmcl9GUiI6ImZyIiwiaHVfSFUiOiJodSIsIml0X0lUIjoiaXQiLCJwbF9QTCI6InBsIiwicHRfUFQiOiJwdCIsInVrIjoidWsiLCJlbl9VUyI6ImVuIn0sImxhbmd1YWdlX3VybHMiOnsiZW5fR0IiOiJodHRwczovL3d3dy5jb3JrY2hvcmFsLmllL2Fib3V0LyIsImJnX0JHIjoiaHR0cHM6Ly93d3cuY29ya2Nob3JhbC5pZS9iZy8lZDAlYmUlZDElODIlZDAlYmQlZDAlYmUlZDElODElZDAlYmQlZDAlYmUvIiwiY3NfQ1oiOiJodHRwczovL3d3dy5jb3JrY2hvcmFsLmllL2NzL28vIiwiZGFfREsiOiJodHRwczovL3d3dy5jb3JrY2hvcmFsLmllL2RhL29tLyIsImRlX0RFIjoiaHR0cHM6Ly93d3cuY29ya2Nob3JhbC5pZS9kZS91YmVyLyIsImVsIjoiaHR0cHM6Ly93d3cuY29ya2Nob3JhbC5pZS9lbC8lY2YlODMlY2YlODclY2UlYjUlY2YlODQlY2UlYjklY2UlYmElY2UlYWMtJWNlJWJjJWNlJWI1LyIsImVzX0VTIjoiaHR0cHM6Ly93d3cuY29ya2Nob3JhbC5pZS9lcy9hY2VyY2EtZGUvIiwiZXQiOiJodHRwczovL3d3dy5jb3JrY2hvcmFsLmllL2V0L3VtYmVzLyIsImZyX0ZSIjoiaHR0cHM6Ly93d3cuY29ya2Nob3JhbC5pZS9mci9zdXItMi8iLCJodV9IVSI6Imh0dHBzOi8vd3d3LmNvcmtjaG9yYWwuaWUvaHUvcm9sLXJvbC0yLyIsIml0X0lUIjoiaHR0cHM6Ly93d3cuY29ya2Nob3JhbC5pZS9pdC9kaS8iLCJwbF9QTCI6Imh0dHBzOi8vd3d3LmNvcmtjaG9yYWwuaWUvcGwvby8iLCJwdF9QVCI6Imh0dHBzOi8vd3d3LmNvcmtjaG9yYWwuaWUvcHQvc29icmUvIiwidWsiOiJodHRwczovL3d3dy5jb3JrY2hvcmFsLmllL3VrLyVkMCViZiVkMSU4MCVkMCViOCVkMCViMSVkMCViYiVkMCViOCVkMCViNyVkMCViZCVkMCViZS8ifSwiZW5nbGlzaF9uYW1lIjp7ImVuX0dCIjoiRW5nbGlzaCIsImJnX0JHIjoiQnVsZ2FyaWFuIiwiY3NfQ1oiOiJDemVjaCIsImRhX0RLIjoiRGFuaXNoIiwiZGVfREUiOiJHZXJtYW4iLCJlbCI6IkdyZWVrIiwiZXNfRVMiOiJTcGFuaXNoIiwiZXQiOiJFc3RvbmlhbiIsImZyX0ZSIjoiRnJlbmNoIiwiaHVfSFUiOiJIdW5nYXJpYW4iLCJpdF9JVCI6Ikl0YWxpYW4iLCJwbF9QTCI6IlBvbGlzaCIsInB0X1BUIjoiUG9ydHVndWVzZSIsInVrIjoiVWtyYWluaWFuIn0sImlzX2lwaG9uZV91c2VyX2NoZWNrIjoiIn07Ci8vIyBzb3VyY2VVUkw9dHJwLWxhbmd1YWdlLWNvb2tpZS1qcy1leHRyYQo="></script>
vendor: 1 bytes, line 68
68
69<script id="trp-language-cookie-js" src="https://www.corkchoral.ie/wp-content/plugins/translatepress-business/add-ons-pro/automatic-language-detection/assets/js/trp-language-cookie.js?ver=1.1.1" defer></script>
vendor: 1 bytes, line 69
69
70<script id="trp-language-switcher-js-v2-js" src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/js/trp-frontend-language-switcher.js?ver=3.3.4" defer></script>
70 71<link rel="https://api.w.org/" href="https://www.corkchoral.ie/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.corkchoral.ie/wp-json/wp/v2/pages/640" /> <style id="etch-defaults-css-styles"> 72 @layer etch-defaults { 73 body { 74 line-height: 1.5; 75 -webkit-font-smoothing: antialiased; 76 font-family: system-ui; 77 display: flex; 78 flex-direction: column; 79 } 80} 81 </style> 82 <style id="etch-reset-css-styles"> 83 @layer etch-reset { 84 /* Box sizing rules */ 85 *, 86 *::before, 87 *::after { 88 box-sizing: border-box; 89 } 90 91 /* Remove default margins */ 92 * { 93 margin: 0; 94 } 95 96 /* Prevent font size inflation */ 97 html { 98 -moz-text-size-adjust: none; 99 -webkit-text-size-adjust: none; 100 text-size-adjust: none; 101 scrollbar-gutter: stable; 102 } 103 104 /* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */ 105 ul[role='list'], 106 ol[role='list'] { 107 list-style: none; 108 } 109 110 ul[class]:not( 111 [data-etch-has-custom-classes='false'], /* data-etch-has-custom-classes is builder only (not output on frontend) */ 112 .wp-block-list, 113 .list, 114 [class*='marker'] 115 ),
116 ol[class]:not( 117 [data-etch-has-custom-classes='false'], /* data-etch-has-custom-classes is builder only (not output on frontend) */ 118 .wp-block-list, 119 .list, 120 [class*='marker'] 121 ) { 122 padding: 0; 123 list-style: none; 124 } 125 126 /* Set body min height */ 127 body { 128 min-block-size: 100svh; 129 display: flex; 130 flex-direction: column; 131 132 main { 133 flex-grow: 1; 134 } 135 } 136 137 /* A elements that don't have a class get default styles */ 138 a:not([class]) { 139 text-decoration-skip-ink: auto; 140 } 141 142 /* Make media easier to work with */ 143 img, 144 picture, 145 video, 146 canvas, 147 svg:not(.block-editor-list-view-tree svg), 148 a:not( 149 p > a, 150 span > a, 151 h1 > a, 152 h2 > a, 153 h3 > a, 154 h4 > a, 155 h5 > a, 156 h6 > a, 157 li > a, 158 em > a, 159 q > a, 160 label > a, 161 strong > a, 162 figcaption > a, 163 .editor-styles-wrapper a 164 ) { 165 max-inline-size: 100%; 166 height: auto; 167 display: block; 168 } 169 170 /* Inherit fonts for inputs and buttons */ 171 input, 172 button, 173 textarea, 174 select { 175 font: inherit; 176 font-size: inherit; 177 } 178 179 button { 180 cursor: pointer; 181 background-color: transparent; 182 border: none; 183 color: currentColor; 184 } 185 186 /* Make sure textareas without a rows attribute are not tiny */ 187 textarea:not([rows]) { 188 min-height: 10em; 189 } 190 191 /* Avoid text overflows */ 192 p, 193 h1, 194 h2, 195 h3, 196 h4, 197 h5, 198 h6 { 199 overflow-wrap: break-word; 200 } 201 202 figure > img { 203 inline-size: 100%; 204 } 205 206 img { 207 block-size: auto; 208 } 209 210 /* Add back select GB styles that are removed by global settings toggle */ 211 .has-text-align-center { 212 text-align: center; 213 } 214 215 .has-text-align-left { 216 text-align: left; 217 } 218 219 .has-text-align-right { 220 text-align: right; 221 } 222 223 .has-fit-text { 224 white-space: nowrap !important; 225 } 226 227 #end-resizable-editor-section { 228 display: none; 229 } 230 231 .aligncenter { 232 clear: both; 233 } 234 235 .items-justified-left { 236 justify-content: flex-start; 237 } 238 239 .items-justified-center { 240 justify-content: center; 241 } 242 243 .items-justified-right { 244 justify-content: flex-end; 245 } 246 247 .items-justified-space-between { 248 justify-content: space-between; 249 } 250 251 .screen-reader-text { 252 border: 0; 253 clip-path: inset(50%); 254 height: 1px; 255 margin: -1px; 256 overflow: hidden; 257 padding: 0; 258 position: absolute; 259 width: 1px; 260 word-wrap: normal !important; 261 } 262 263 .screen-reader-text:focus { 264 background-color: #ddd; 265 clip-path: none; 266 color: #444; 267 display: block; 268 font-size: 1em; 269 height: auto; 270 left: 5px; 271 line-height: normal; 272 padding: 15px 23px 14px; 273 text-decoration: none; 274 top: 5px; 275 width: auto; 276 z-index: 100000; 277 } 278} 279 </style> 280
280<script src="https://unpkg.com/embla-carousel/embla-carousel.umd.js" defer></script>
280 281
281<script defer src='https://unpkg.com/embla-carousel-auto-scroll/embla-carousel-auto-scroll.umd.js'></script>
281 282
282<script defer src='https://unpkg.com/embla-carousel-auto-height/embla-carousel-auto-height.umd.js'></script>
282 283 <!-- Google Tag Manager -->
284<script defer src="data:text/javascript;base64,KGZ1bmN0aW9uKHcsZCxzLGwsaSl7d1tsXT13W2xdfHxbXTt3W2xdLnB1c2goeydndG0uc3RhcnQnOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSxldmVudDonZ3RtLmpzJ30pO3ZhciBmPWQuZ2V0RWxlbWVudHNCeVRhZ05hbWUocylbMF0saj1kLmNyZWF0ZUVsZW1lbnQocyksZGw9bCE9J2RhdGFMYXllcic/JyZsPScrbDonJztqLmFzeW5jPXRydWU7ai5zcmM9J2h0dHBzOi8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tL2d0bS5qcz9pZD0nK2krZGw7Zi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShqLGYpO30pKHdpbmRvdyxkb2N1bWVudCwnc2NyaXB0JywnZGF0YUxheWVyJywnR1RNLVQyOTdWSFonKTs="></script>
284 285<!-- End Google Tag Manager --> 286 <link rel="apple-touch-icon" sizes="180x180" href="/wp-content/uploads/favicon/apple-touch-icon.png"> 287<link rel="icon" type="image/png" sizes="32x32" href="/wp-content/uploads/favicon/favicon-32x32.png"> 288<link rel="icon" type="image/png" sizes="16x16" href="/wp-content/uploads/favicon/favicon-16x16.png"> 289<link rel="manifest" href="/wp-content/uploads/favicon/site.webmanifest"> 290<link rel="mask-icon" href="/wp-content/uploads/favicon/safari-pinned-tab.svg" color="#e53d78"> 291<link rel="shortcut icon" href="/wp-content/uploads/favicon/favicon.ico"> 292<meta name="msapplication-TileColor" content="#2b5797"> 293<meta name="msapplication-config" content="/wp-content/uploads/favicon/browserconfig.xml"> 294<meta name="theme-color" content="#ffffff"> 295 <noscript><style>.wp-grid-builder .wpgb-card.wpgb-card-hidden .wpgb-card-wrapper{opacity:1!important;visibility:visible!important;transform:none!important}.wpgb-facet {opacity:1!important;pointer-events:auto!important}.wpgb-facet *:not(.wpgb-pagination-facet){display:none}</style></noscript><link rel="alternate" hreflang="en-GB" href="https://www.corkchoral.ie/about/"/> 296<link rel="alternate" hreflang="bg-BG" href="https://www.corkchoral.ie/bg/%d0%be%d1%82%d0%bd%d0%be%d1%81%d0%bd%d0%be/"/> 297<link rel="alternate" hreflang="cs-CZ" href="https://www.corkchoral.ie/cs/o/"/> 298<link rel="alternate" hreflang="da-DK" href="https://www.corkchoral.ie/da/om/"/> 299<link rel="alternate" hreflang="de-DE" href="https://www.corkchoral.ie/de/uber/"/> 300<link rel="alternate" hreflang="el" href="https://www.corkchoral.ie/el/%cf%83%cf%87%ce%b5%cf%84%ce%b9%ce%ba%ce%ac-%ce%bc%ce%b5/"/> 301<link rel="alternate" hreflang="es-ES" href="https://www.corkchoral.ie/es/acerca-de/"/> 302<link rel="alternate" hreflang="et" href="https://www.corkchoral.ie/et/umbes/"/> 303<link rel="alternate" hreflang="fr-FR" href="https://www.corkchoral.ie/fr/sur-2/"/> 304<link rel="alternate" hreflang="hu-HU" href="https://www.corkchoral.ie/hu/rol-rol-2/"/> 305<link rel="alternate" hreflang="it-IT" href="https://www.corkchoral.ie/it/di/"/> 306<link rel="alternate" hreflang="pl-PL" href="https://www.corkchoral.ie/pl/o/"/> 307<link rel="alternate" hreflang="pt-PT" href="https://www.corkchoral.ie/pt/sobre/"/> 308<link rel="alternate" hreflang="uk" href="https://www.corkchoral.ie/uk/%d0%bf%d1%80%d0%b8%d0%b1%d0%bb%d0%b8%d0%b7%d0%bd%d0%be/"/> 309<link rel="alternate" hreflang="en" href="https://www.corkchoral.ie/about/"/> 310<link rel="alternate" hreflang="bg" href="https://www.corkchoral.ie/bg/%d0%be%d1%82%d0%bd%d0%be%d1%81%d0%bd%d0%be/"/> 311<link rel="alternate" hreflang="cs" href="https://www.corkchoral.ie/cs/o/"/> 312<link rel="alternate" hreflang="da" href="https://www.corkchoral.ie/da/om/"/> 313<link rel="alternate" hreflang="de" href="https://www.corkchoral.ie/de/uber/"/> 314<link rel="alternate" hreflang="es" href="https://www.corkchoral.ie/es/acerca-de/"/> 315<link rel="alternate" hreflang="fr" href="https://www.corkchoral.ie/fr/sur-2/"/> 316<link rel="alternate" hreflang="hu" href="https://www.corkchoral.ie/hu/rol-rol-2/"/> 317<link rel="alternate" hreflang="it" href="https://www.corkchoral.ie/it/di/"/> 318<link rel="alternate" hreflang="pl" href="https://www.corkchoral.ie/pl/o/"/> 319<link rel="alternate" hreflang="pt" href="https://www.corkchoral.ie/pt/sobre/"/> 320<meta name="generator" content="Easy Digital Downloads v3.7.0" /> 321 <style>.cmplz-hidden { 322 display: none !important; 323 }</style> 324 <link rel="icon" href="https://www.corkchoral.ie/wp-content/uploads/2023/02/cropped-CCF-Logo-Circle-Transparent-Colour-32x32.png" sizes="32x32" /> 325<link rel="icon" href="https://www.corkchoral.ie/wp-content/uploads/2023/02/cropped-CCF-Logo-Circle-Transparent-Colour-192x192.png" sizes="192x192" /> 326<link rel="apple-touch-icon" href="https://www.corkchoral.ie/wp-content/uploads/2023/02/cropped-CCF-Logo-Circle-Transparent-Colour-180x180.png" /> 327<meta name="msapplication-TileImage" content="https://www.corkchoral.ie/wp-content/uploads/2023/02/cropped-CCF-Logo-Circle-Transparent-Colour-270x270.png" /> 328<style id="etch-page-styles">.skip-link { z-index: 99999 !important; } 329:where([data-etch-element="section"]) { inline-size: 100%; 330 display: flex; 331 flex-direction: column; 332 align-items: center; } 333.header { display: flex; 334 flex-direction: column; 335 align-items: center; 336 padding-inline: var(--gutter); 337 padding-block: 0; 338 .header__inner { 339 display: flex; 340 flex-direction: row; 341 align-items: center; 342 justify-content: space-between; 343 gap: var(--space-m); 344 padding-block: var(--space-s); 345 /* position: relative; */ 346 } } 347.top-bar { --top-bar-height: 2.5rem; 348 block-size: var(--top-bar-height); 349 width: 100%; 350 background: var(--bg-ultra-dark); 351 padding-block: 0rem; 352 width: 100vw; 353 padding-inline: var(--gutter); 354 z-index: 9999; 355 position: relative; 356 .top-bar__inner { 357 display: flex; 358 flex-direction: row; 359 align-items: center; 360 justify-content: space-between; 361 gap: calc(var(--content-gap) / 2); 362 margin-inline: auto; 363 position: relative; 364 } 365 .top-bar__links-wrapper { 366 display: flex; 367 flex-direction: row; 368 align-items: center; 369 gap: 0.35em; 370 @media (width <= 31.25rem) { 371 & > li:nth-child(n + 2) { 372 display: none; 373 } 374 } 375 } 376 .top-bar__link { 377 font-size: var(--text-xs); 378 text-decoration: none; 379 color: var(--primary-light); 380 } 381 a:hover { 382 color: var(--white); 383 } } 384:where([data-etch-element="container"]) { inline-size: 100%; 385 display: flex; 386 flex-direction: column; 387 max-inline-size: var(--content-width, 1366px); 388 align-self: center; margin-inline: auto; } 389:where([data-etch-element="flex-div"]) { inline-size: 100%; 390 display: flex; 391 flex-direction: column; } 392.top-bar__right { display: flex; 393 flex-direction: row; 394 align-items: center; 395 gap: 0.5em; } 396.header-logo-link { width: 13.75rem; 397 color: var(--white); 398 /* flex-shrink: 0; */ 399 z-index: 1; 400 & > img { 401 border-radius: 0; 402 } 403 @media (width <= 25rem) { 404 width: 11.25rem; 405 } } 406.mobile-navbar-cta { flex: 1; 407 display: flex; 408 justify-content: end; 409 .mobile-navbar-cta__link {} 410 @media (width >= 70.9375rem) { 411 display: none; 412 } } 413.etch-burger { --burger-width: 30px; 414 --burger-line-thickness: 2px; 415 --burger-line-spacing: 6px; 416 --burger-dark-color: #242424; 417 --transition-duration: 0.3s; 418 --transition-timing-function: ease-in-out; 419 420 inline-size: var(--burger-width); 421 block-size: calc(var(--burger-line-thickness) * 3 + var(--burger-line-spacing) * 2); 422 padding: 0; 423 cursor: pointer; 424 display: flex; 425 align-items: center; 426 justify-content: center; 427 428 /* Hide Burger above X breakpoint */ 429 @media (min-width: 1135px) { 430 display: none; 431 } 432 433 .etch-burger__lines { 434 position: relative; 435 width: var(--burger-width); 436 height: var(--burger-line-thickness); 437 min-height: 0; 438 min-width: 0; 439 background: var(--burger-dark-color); 440 transition: 441 transform var(--transition-duration) var(--transition-timing-function), 442 background var(--transition-duration) var(--transition-timing-function); 443 444 &::before, 445 &::after { 446 content: ''; 447 position: absolute; 448 left: 0; 449 width: 100%; 450 height: var(--burger-line-thickness); 451 background: var(--burger-dark-color); 452 transition: 453 transform var(--transition-duration) var(--transition-timing-function), 454 opacity var(--transition-duration) var(--transition-timing-function); 455 } 456 457 &::before { 458 top: calc(-1 * (var(--burger-line-thickness) + var(--burger-line-spacing))); 459 } 460 461 &::after { 462 bottom: calc(-1 * (var(--burger-line-thickness) + var(--burger-line-spacing))); 463 } 464 } 465 466 /* Animated state */ 467 &[aria-expanded='true'] .etch-burger__lines { 468 background: transparent; 469 470 &::before { 471 transform: translateY(calc(var(--burger-line-thickness) + var(--burger-line-spacing))) rotate(45deg); 472 } 473 474 &::after { 475 transform: translateY(calc(-1 * (var(--burger-line-thickness) + var(--burger-line-spacing)))) rotate(-45deg); 476 } 477 } } 478.etch-nav { /* Nav */ 479 --nav-background-color: #fff; 480 --nav-foreground-color: #000; 481 --nav-mobile-background-color: #fff; 482 --nav-z-index: 999; 483 484 /* Nav List */ 485 --nav-list-style: none; 486 --nav-list-padding: 0; 487 --nav-list-margin: 0; 488 489 /* Nav Items */ 490 --nav-item-block-padding: 0.35em; 491 --nav-item-inline-padding: 0.1em; 492 --nav-item-padding: var(--nav-item-block-padding) var(--nav-item-inline-padding); 493 --nav-item-focus-line: 2px; 494 --nav-item-focus-outline-color: var(--nav-foreground-color); 495 --transition-duration: 0.3s; 496 --transition-timing-function: ease-in-out; 497 --nav-item-icon-rotation: 180deg; 498 499 /* Nav Current Active Item */ 500 --nav-item-current-active-decoration: underline; 501 --nav-item-current-active-offset: 5px; 502 503 /* Nav Button Icons */ 504 --nav-button-icon-size: 20px; 505 506 /* Nav Links */ 507 --nav-link-padding: 0.5em 1em; 508 --nav-link-color: var(--nav-foreground-color); 509 --nav-link-color-contrast: var(--nav-background-color); 510 --nav-link-color-hover: var(--primary, #444); 511 --nav-link-background-hover: transparent; 512
513 /* Nav Dropdowns and flyouts */ 514 --nav-dropdown-background: var(--nav-background-color); 515 --nav-flyout-background: var(--nav-background-color); 516 --nav-flyout-icon-desktop-initial-angle: -90deg; 517 --nav-flyout-icon-desktop-rotation: 90deg; 518 519 /* Set header to relative */ 520 header:has(&) { 521 /* position: relative; */ 522 } 523 524 background-color: transparent; 525 display: none; 526 z-index: var(--nav-z-index); 527 528 &[aria-expanded='true'] { 529 --nav-background-color: var(--nav-mobile-background-color); 530 display: flex; 531 position: absolute; 532 top: 100%; 533 left: 0; 534 right: 0; 535 } 536 537 :where(.etch-nav__list) { 538 display: flex; 539 flex-direction: column; 540 align-items: center; 541 width: 100%; 542 margin: var(--nav-list-margin); 543 padding: var(--nav-list-padding); 544 list-style: var(--nav-list-style); 545 } 546 547 :where(.etch-nav__list, .etch-nav__dropdown, .etch-nav__flyout) { 548 margin: var(--nav-list-margin); 549 padding: var(--nav-list-padding); 550 list-style: var(--nav-list-style); 551 } 552 553 :where(.etch-nav__item) { 554 display: flex; 555 flex-direction: column; 556 } 557 558 :where(.etch-nav__link:focus, .etch-nav__link:focus-visible, .etch-nav__button:focus, .etch-nav__button:focus-visible) { 559 outline: var(--nav-item-focus-line) solid var(--nav-item-focus-outline-color); 560 } 561 562 :where(.etch-nav__item .etch-nav__link, .etch-nav__item .etch-nav__button) { 563 text-decoration: none; 564 color: var(--nav-link-color); 565 padding: var(--nav-item-padding); 566 } 567 568 :where(.etch-nav__link[aria-current='page']) { 569 text-decoration: var(--nav-item-current-active-decoration); 570 text-underline-offset: var(--nav-item-current-active-offset); 571 } 572 573 :where(.etch-nav__button) { 574 display: flex; 575 justify-content: space-between; 576 align-items: center; 577 color: var(--nav-link-color); 578 579 svg { 580 width: var(--nav-button-icon-size); 581 min-width: var(--nav-button-icon-size); /* There seems to be some issue with etch.reset and max-width 100%*/ 582 height: var(--nav-button-icon-size); 583 transition: transform var(--transition-duration) var(--transition-timing-function); 584 } 585 } 586 587 :where(.etch-nav__button--dropdown-toggle[aria-expanded='true'] svg, .etch-nav__button--flyout-toggle[aria-expanded='true'] svg) { 588 transform: rotate(var(--nav-item-icon-rotation)); 589 } 590 591 :where(.etch-nav__item:hover > .etch-nav__link, .etch-nav__item:hover > .etch-nav__button[aria-expanded='true']) { 592 /* color: var(--nav-link-color-hover); 593 background-color: var(--nav-link-background-hover); */ 594 } 595 596 :where(.etch-nav__item--has-dropdown, .etch-nav__item--has-flyout) { 597 position: relative; 598 } 599 600 :where(.etch-nav__dropdown) { 601 position: relative; 602 background-color: var(--nav-dropdown-background); 603 transition: 604 max-height calc(var(--transition-duration) / 2) var(--transition-timing-function), 605 opacity var(--transition-duration) var(--transition-timing-function), 606 visibility var(--transition-duration) var(--transition-timing-function); 607 } 608 609 :where(.etch-nav__button--dropdown-toggle[aria-expanded='false'] ~ .etch-nav__dropdown, .etch-nav__button--flyout-toggle[aria-expanded='false'] ~ .etch-nav__flyout) { 610 opacity: 0; 611 pointer-events: none; 612 visibility: hidden; 613 transition: 614 max-height var(--transition-duration) var(--transition-timing-function), 615 opacity var(--transition-duration) var(--transition-timing-function), 616 visibility var(--transition-duration) var(--transition-timing-function); 617 } 618 619 :where(.etch-nav__flyout) { 620 background-color: var(--nav-flyout-background); 621 transition: 622 max-height calc(var(--transition-duration) / 2) var(--transition-timing-function), 623 opacity var(--transition-duration) var(--transition-timing-function), 624 visibility var(--transition-duration) var(--transition-timing-function); 625 } 626 627 /* Set the desired breakpoint */ 628 @media (min-width: 1135px) { 629 display: flex; 630 631 :where(.etch-nav__item) { 632 text-wrap: nowrap; 633 } 634 635 :where(.etch-nav__list) { 636 flex-direction: row; 637 } 638 639 :where(.etch-nav__button:nth-child(2)) { 640 padding-inline: 0 var(--nav-item-horizontal-padding); 641 } 642 643 :where(.etch-nav__dropdown) { 644 position: absolute; 645 top: 100%; 646 left: 0; 647 overflow: inherit; 648 max-height: 0; /* desktop flicker fix */ 649 box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1); 650 } 651 652 :where(.etch-nav__button--flyout-toggle svg) { 653 transform: rotate(var(--nav-flyout-icon-desktop-initial-angle)); 654 } 655 656 :where(.etch-nav__button--flyout-toggle[aria-expanded='true'] svg) { 657 transform: rotate(var(--nav-flyout-icon-desktop-rotation)); 658 } 659 660 :where(.etch-nav__flyout) { 661 position: absolute; 662 top: 0; 663 left: 100%; 664 box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1); 665 } 666 } } 667.page-hero { position: relative; 668 isolation: isolate; 669 670 .page-hero__heading { 671 max-inline-size: 24ch; 672 } 673 .page-hero__lede { 674 max-inline-size: 65ch; 675 } 676 677 &[data-header-style='Style 1'] { 678 padding-block-end: 0; 679 .page-hero__inner { 680 gap: var(--container-gap); 681 } 682 .page-hero__intro { 683 display: flex; 684 text-align: center; 685 flex-direction: column; 686 flex-wrap: nowrap; 687 align-items: center; 688 @media (width <= 48rem) { 689 text-align: left; 690 align-items: flex-start; 691 } 692 } 693 & figure {
694 max-inline-size: 61.9375rem; 695 margin-inline: auto; 696 aspect-ratio: 16/9; 697 overflow: hidden; 698 border-radius: var(--radius); 699 & > img { 700 object-fit: cover; 701 } 702 } 703 } 704 &[data-header-style='Style 2'] { 705 background-color: var(--bg-ultra-light); 706 .page-hero__inner { 707 display: grid; 708 grid-template-columns: repeat(2, minmax(0, 1fr)); 709 grid-template-rows: 1fr; 710 max-width: var(--content-width, 1366px); 711 @media (width <= 48rem) { 712 grid-template-columns: repeat(1, minmax(0, 1fr)); 713 } 714 } 715 .page-hero__intro { 716 justify-content: center; 717 gap: var(--content-gap); 718 @media (width <= 30rem) { 719 text-align: left; 720 align-items: flex-start; 721 } 722 } 723 .page-hero__heading { 724 max-width: 21ch; 725 } 726 .page-hero__lede { 727 max-width: 54ch; 728 } 729 & figure { 730 & > img { 731 object-fit: cover; 732 } 733 } 734 } 735 &[data-header-style='Style 3'] { 736 background-color: var(--bg-ultra-light); 737 .page-hero__intro { 738 display: flex; 739 text-align: center; 740 flex-direction: column; 741 flex-wrap: nowrap; 742 align-items: center; 743 @media (width <= 30rem) { 744 text-align: left; 745 align-items: flex-start; 746 } 747 } 748 .page-hero__media-wrapper { 749 display: none; 750 } 751 } 752 &[data-header-style='Style 4'] { 753 overflow: hidden; 754 .page-hero__intro { 755 display: flex; 756 text-align: center; 757 flex-direction: column; 758 flex-wrap: nowrap; 759 align-items: center; 760 color: var(--text-light); 761 @media (width <= 30rem) { 762 text-align: left; 763 align-items: flex-start; 764 } 765 } 766 .page-hero__media-wrapper { 767 position: absolute; 768 top: 0; 769 left: 0; 770 right: 0; 771 bottom: 0; 772 z-index: -1; 773 & > img { 774 height: 100%; 775 width: 100%; 776 object-fit: cover; 777 border-radius: 0; 778 } 779 } 780 &:after { 781 content: ''; 782 position: absolute; 783 background: rgba(0, 0, 0, 0.5); 784 width: 100%; 785 height: 100%; 786 top: 0; 787 left: 0; 788 z-index: -1; 789 } 790 } } 791.page-content-section { gap: var(--content-gap); 792 /* Begin Content Grid */ 793 :where(&) { 794 --content-width: 70ch; 795 --feature-width: 13px; 796 --feature-max-width: 19px; 797 --full: minmax(var(--gutter), 1fr); 798 padding-inline: 0; 799 column-gap: 0 !important; 800 display: grid !important; 801 grid-template-columns: 802 [full-start] 803 var(--full) 804 [feature-max-start] 805 minmax(0, var(--feature-max-width, var(--feature-max-width))) 806 [feature-start] 807 minmax(0, var(--feature-width, var(--feature-width))) 808 [content-start] 809 min(var(--content-width), 100% - var(--gutter) * 2) 810 [content-end] 811 minmax(0, var(--feature-width, var(--feature-width))) 812 [feature-end] 813 minmax(0, var(--feature-max-width, var(--feature-max-width))) 814 [feature-max-end] 815 var(--full) 816 [full-end]; 817 818 > :not(.content--feature, .content--feature-max, .content--full, .content--full-safe) { 819 max-width: 100%; 820 width: 100%; 821 } 822 823 > :where(:not(.content--feature, .content--feature-max, .content--full, .content--full-safe)) { 824 grid-column: content; 825 } 826 827 > .is-bg { 828 grid-column: full; 829 } 830 831 > figure { 832 grid-column: feature; 833 } 834 835 &:is([class*='section--'], [class*='header--'], [data-etch-element='section']) { 836 padding-inline: 0; 837 } 838 } 839 /* End Content Grid */ } 840.icon-card-alpha { padding-block: var(--space-m); 841 padding-inline: var(--space-m); 842 border-radius: var(--radius); 843 background: color-mix(in oklch, white 25%, black); 844 overflow: hidden; 845 .icon-link { 846 font-weight: 600; 847 --relative-link-color: var(--secondary-light); 848 } 849 850 /* inline card style */ 851 &[data-inline-card='true'] { 852 display: flex; 853 flex-direction: row; 854 align-items: center; 855 flex-wrap: wrap; 856 gap: calc(var(--content-gap) / 2); 857 858 .icon-card-alpha__heading { 859 flex: 1; 860 font-size: var(--text-l); 861 } 862 .icon-card-alpha__icon { 863 --icon-size: var(--h3); 864 } 865 .icon-card-alpha__text { 866 width: 100%; 867 padding-inline-start: calc(var(--icon-size) + calc(var(--content-gap) / 2)); 868 } 869 & .icon-link { 870 background: var(--primary); 871 color: var(--white); 872 padding-block: var(--btn-padding-block); 873 padding-inline: var(--btn-padding-inline); 874 margin-inline-start: calc(var(--icon-size) + calc(var(--content-gap) / 2)); 875 border-radius: var(--btn-radius); 876 text-decoration: var(--btn-text-decoration); 877 font-weight: var(--btn-font-weight); 878 font-size: var(--text-s); 879 & svg { 880 fill: var(--white); 881 } 882 } 883 } 884 .icon-card-alpha__icon { 885 --icon-size: var(--h2); 886 } 887 &.bg--dark > svg { 888 --icon-scheme: var(--bg-light-icon); 889 } 890 .icon-card-alpha__text { 891 max-width: 54ch; 892 } 893 & figure {
894 object-fit: cover; 895 overflow: hidden; 896 & > img { 897 width: 100%; 898 height: 100%; 899 } 900 &:after { 901 content: ''; 902 width: 100%; 903 height: 100%; 904 top: 0; 905 left: 0; 906 position: absolute; 907 background-image: linear-gradient(45deg, var(--neutral) 0%, rgba(0, 0, 0, 0.9) 50%, rgba(0, 0, 0, 0)); 908 } 909 } 910 911 /* Begin Clickable Parent - Ensure this is placed on the clickable parent element. */ 912 position: relative; 913 /* Configure your selector if you have more than one link */ 914 a::after { 915 content: ''; 916 position: absolute; 917 inset: 0; 918 z-index: 10; 919 } 920 /* Remove effect in builder. */ 921 &.etch-builder-block a::after { 922 content: ''; 923 position: relative; 924 } 925 /* End Clickable Parent */ 926 /* Begin Focus Parent */ 927 &:focus-within:not(:has(:focus-visible)) { 928 outline: none; 929 outline-offset: 0; 930 box-shadow: none; 931 } 932 &:focus-within { 933 outline: var(--focus-width, 1.5px) solid var(--focus-color, blue); 934 outline-offset: var(--focus-offset, 0); 935 } 936 937 :focus { 938 outline: none !important; 939 box-shadow: none !important; 940 } 941 /* End Focus Parent */ } 942.icon-card-alpha__icon { fill: var(--white); } 943.grid-component { --min-formula: min(100%, max(var(--min), (100% - (var(--column-count) - 1) * var(--gap)) / var(--column-count))); 944 display: grid; 945 grid-template-columns: var(--grid-columns); 946 grid-template-rows: var(--grid-rows, 1fr); 947 gap: var(--grid-gap, var(--gap)); 948 inline-size: 100%; } 949.newsletter-signup-section { background: var(--secondary-semi-dark) !important; 950 .newsletter-signup-section__inner { 951 display: flex; 952 flex-direction: column; 953 align-items: center; 954 } 955 @media (width <= 49.5625rem) { 956 .newsletter-signup-section__inner { 957 align-items: flex-start; 958 } 959 } } 960.section-intro { :has(> &) { 961 container-type: inline-size; 962 } 963 display: flex; 964 flex-direction: column; 965 gap: var(--content-gap); 966 967 &[data-intro-style='center' i] { 968 @container (inline-size >= 43.75rem) { 969 align-items: center; 970 text-align: center; 971 .section-intro__headline { 972 align-self: center; 973 } 974 & .accent-heading { 975 align-self: center; 976 } 977 .section-intro__lede { 978 align-self: center; 979 } 980 } 981 } 982 &[data-intro-style='two column' i] { 983 @container (inline-size >= 43.75rem) { 984 display: grid; 985 grid-template-columns: var(--grid-3-2); 986 align-items: center; 987 } 988 } } 989.section-intro__content-wrapper { display: flex; 990 gap: var(--content-gap, 1em); 991 /* max-inline-size: 60ch; */ } 992.accent-heading { order: -1; 993 font-family: Optima, Candara, 'Noto Sans', source-sans-pro, sans-serif; 994 /* text-transform: uppercase; */ 995 font-size: var(--text-m); 996 font-weight: 700; 997 /* font-style: italic; */ 998 letter-spacing: 0; 999 /* opacity: 0.8; */ 1000 display: inline-flex; 1001 align-items: center; 1002 gap: 0.625rem; 1003 1004 &:after, 1005 &:before { 1006 content: ''; 1007 width: 8px; 1008 height: 8px; 1009 background: var(--secondary); 1010 transform: rotate(45deg); 1011 opacity: 0.5; 1012 } } 1013.section-intro__headline { max-width: 22ch; } 1014.h1 { font-size: var(--h1) } 1015.section-intro__lede { max-width: 56ch; } 1016.etch-dialog { /* Placement Offset */ 1017 --etch-dialog-y-placement--offset: 1em; 1018 --etch-dialog-x-placement--offset: 1em; 1019 1020 /* Close Button */ 1021 --etch-dialog-close-btn-top-position: 1em; 1022 --etch-dialog-close-btn-right-position: 1em; 1023 --etch-dialog-close-btn-background-color: transparent; 1024 --etch-dialog-close-btn-hover-background-color: transparent; 1025 --etch-dialog-close-btn-outline: 2px solid #2466e8; 1026 --etch-dialog-close-btn-outline-offset: 2px; 1027 --etch-dialog-close-btn-svg-size: 20px; 1028 1029 /* Dialog Element */ 1030 width: 100%; 1031 max-width: var(--etch-dialog-max-width); /* set by props */ 1032 border: none; 1033 border-radius: var(--radius); 1034 padding: var(--etch-dialog-padding, 1em); 1035 background-color: var(--etch-dialog-background-color); /* set by props */ 1036 overflow: visible; 1037 1038 /* Content Body Wrapper */ 1039 :where(.etch-dialog__body-wrapper) { 1040 overflow: hidden; 1041 } 1042 1043 /* Dialog Placements */ 1044 &:where([data-etch-dialog-placement='center']) { 1045 top: 50%; 1046 left: 50%; 1047 transform: translate(-50%, -50%); 1048 } 1049 1050 &:where([data-etch-dialog-placement='center-left']) { 1051 top: 50%; 1052 left: var(--etch-dialog-x-placement--offset); 1053 transform: translateY(-50%); 1054 } 1055 1056 &:where([data-etch-dialog-placement='center-right']) { 1057 top: 50%; 1058 right: var(--etch-dialog-x-placement--offset); 1059 left: auto; 1060 transform: translateY(-50%); 1061 } 1062 1063 &:where([data-etch-dialog-placement='top-left']) {
1064 top: var(--etch-dialog-y-placement--offset); 1065 left: var(--etch-dialog-x-placement--offset); 1066 } 1067 1068 &:where([data-etch-dialog-placement='top-center']) { 1069 top: var(--etch-dialog-y-placement--offset); 1070 left: 50%; 1071 transform: translateX(-50%); 1072 } 1073 1074 &:where([data-etch-dialog-placement='top-right']) { 1075 top: var(--etch-dialog-y-placement--offset); 1076 right: var(--etch-dialog-x-placement--offset); 1077 left: auto; 1078 } 1079 1080 &:where([data-etch-dialog-placement='bottom-left']) { 1081 bottom: var(--etch-dialog-y-placement--offset); 1082 left: var(--etch-dialog-x-placement--offset); 1083 top: auto; 1084 } 1085 1086 &:where([data-etch-dialog-placement='bottom-center']) { 1087 bottom: var(--etch-dialog-y-placement--offset); 1088 left: 50%; 1089 top: auto; 1090 transform: translateX(-50%); 1091 } 1092 1093 &:where([data-etch-dialog-placement='bottom-right']) { 1094 bottom: var(--etch-dialog-y-placement--offset); 1095 right: var(--etch-dialog-x-placement--offset); 1096 left: auto; 1097 top: auto; 1098 } 1099 1100 /* Backdrop */ 1101 &::backdrop { 1102 background-color: var(--etch-dialog-backdrop-color); 1103 } 1104 1105 /* Close Button */ 1106 :where(.etch-dialog__close) { 1107 position: absolute; 1108 top: var(--etch-dialog-close-btn-top-position); 1109 right: var(--etch-dialog-close-btn-right-position); 1110 background-color: var(--etch-dialog-close-btn-background-color); 1111 border: none; 1112 cursor: pointer; 1113 transition: background-color 0.2s ease; 1114 & > span { 1115 font-size: var(--text-xs); 1116 } 1117 } 1118 1119 :where(.etch-dialog__close:hover) { 1120 background-color: var(--etch-dialog-close-btn-hover-background-color); 1121 } 1122 1123 :where(.etch-dialog__close:focus-visible) { 1124 outline: var(--etch-dialog-close-btn-outline); 1125 outline-offset: var(--etch-dialog-close-btn-outline-offset); 1126 } 1127 1128 /* Close Button Variants */ 1129 :where(.etch-dialog-close--label-icon) { 1130 display: flex; 1131 align-items: center; 1132 gap: 0.5rem; 1133 } 1134 1135 :where(.etch-dialog-close--label-icon svg), 1136 :where(.etch-dialog-close--icon-only svg) { 1137 width: var(--etch-dialog-close-btn-svg-size); 1138 height: var(--etch-dialog-close-btn-svg-size); 1139 } } 1140.dialog__inner { display: flex; 1141 flex-direction: column; 1142 gap: .5em; } 1143.footer { row-gap: var(--container-gap); 1144 background-color: var(--bg-ultra-dark); 1145 color: var(--text-light); 1146 padding-block: var(--section-padding-block); 1147 padding-inline: var(--gutter); 1148 position: relative; 1149 .footer__grid { 1150 display: grid; 1151 align-items: initial; 1152 grid-template-columns: var(--grid-5); 1153 grid-template-rows: var(--grid-1); 1154 grid-gap: var(--container-gap); 1155 align-content: stretch; 1156 align-items: flex-start; 1157 position: relative; 1158 & > *:first-child::after, 1159 &::after { 1160 content: ''; 1161 position: absolute; 1162 bottom: calc((var(--container-gap) / 2) * -1); 1163 width: 100%; 1164 height: 0.1em; 1165 background-color: var(--border-color-light); 1166 } 1167 @media (width <= 61.9375rem) { 1168 display: flex; 1169 flex-direction: column; 1170 } 1171 } 1172 .footer__heading { 1173 font-size: var(--h4); 1174 } 1175 .footer__content-wrapper { 1176 position: relative; 1177 display: flex; 1178 flex-direction: row; 1179 align-items: stretch; 1180 row-gap: var(--grid-gap); 1181 justify-content: space-between; 1182 width: 100%; 1183 grid-column: 1 / end; 1184 @media (width <= 47.9375rem) { 1185 flex-direction: column; 1186 } 1187 } 1188 .footer__logo { 1189 width: 15em; 1190 & > img { 1191 width: 100%; 1192 height: auto; 1193 border-radius: 0; 1194 } 1195 } 1196 .footer__nav-wrapper { 1197 grid-column: 1 / 4; 1198 display: grid; 1199 align-items: initial; 1200 grid-template-columns: var(--grid-3); 1201 grid-template-rows: var(--grid-1); 1202 grid-gap: var(--grid-gap); 1203 width: 100%; 1204 @media (width <= 47.9375rem) { 1205 grid-template-columns: var(--grid-2); 1206 } 1207 @media (width <= 29.875rem) { 1208 grid-template-columns: var(--grid-1); 1209 } 1210 } 1211 .footer__nav-col { 1212 display: flex; 1213 row-gap: var(--content-gap); 1214 flex-direction: column; 1215 align-items: flex-start; 1216 & > ul { 1217 gap: var(--space-xs); 1218 & > li a { 1219 color: var(--primary-light); 1220 text-decoration: none; 1221 &:hover { 1222 color: var(--white); 1223 } 1224 } 1225 } 1226 }
1227 .footer__contact-wrapper { 1228 grid-column: 4 / end; 1229 display: flex; 1230 row-gap: var(--content-gap); 1231 flex-direction: column; 1232 & form { 1233 flex-wrap: wrap; 1234 } 1235 address { 1236 font-style: normal; 1237 } 1238 } 1239 .footer__legal-wrapper { 1240 display: flex; 1241 flex-direction: row; 1242 flex-wrap: wrap; 1243 column-gap: var(--content-gap); 1244 row-gap: var(--content-gap); 1245 font-size: var(--text-s); 1246 justify-content: space-between; 1247 @media (width <= 41.25rem) { 1248 flex-direction: column; 1249 } 1250 & nav { 1251 flex: 1; 1252 } 1253 & nav ul { 1254 display: flex; 1255 flex-direction: row; 1256 align-items: center; 1257 flex-wrap: wrap; 1258 justify-content: flex-end; 1259 column-gap: var(--content-gap); 1260 row-gap: 0.5em; 1261 @media (width <= 41.25rem) { 1262 justify-content: flex-start; 1263 } 1264 } 1265 & nav a { 1266 color: var(--text-light-muted); 1267 text-decoration: none; 1268 &:hover { 1269 color: var(--white); 1270 } 1271 } 1272 } } 1273.social-links-alpha { display: flex; 1274 flex-wrap: wrap; 1275 column-gap: 1em; 1276 row-gap: 1em; 1277 margin-top: 0; 1278 margin-bottom: 0; 1279 padding-left: 0; 1280 flex-direction: row; 1281 width: fit-content; 1282 .social-links-alpha__link { 1283 display: flex; 1284 align-items: center; 1285 text-decoration: none; 1286 transition: all var(--transition); 1287 &:hover { 1288 transform: translateY(-0.15em); 1289 } 1290 &:hover svg { 1291 fill: var(--secondary); 1292 } 1293 } 1294 & svg { 1295 width: 2em; 1296 height: 2em; 1297 fill: var(--neutral); 1298 display: flex; 1299 align-self: center; 1300 justify-content: center; 1301 align-items: center; 1302 flex-direction: column; 1303 padding-top: 0.25em; 1304 padding-right: 0.25em; 1305 padding-bottom: 0.25em; 1306 padding-left: 0.25em; 1307 background-color: var(--bg-ultra-light); 1308 border-radius: 0.3125rem; 1309 } } 1310.hidden-accessible { position: absolute !important; 1311 inline-size: 1px !important; 1312 block-size: 1px !important; 1313 padding: 0; 1314 margin: -1px; 1315 overflow: hidden; 1316 -webkit-clip-path: inset(100%); 1317 clip-path: inset(100%); 1318 white-space: nowrap; /* added line */ 1319 border: 0; } 1320.contact-details-list { display: flex; 1321 flex-direction: row; 1322 flex-wrap: wrap; 1323 width: 100%; 1324 .contact-details-list__item { 1325 max-inline-size: fit-content; 1326 gap: var(--space-xs); 1327 } 1328 .contact-details-list__heading { 1329 font-size: var(--h5); 1330 } 1331 .contact-details-list__link { 1332 display: flex; 1333 flex-direction: row; 1334 font-size: var(--text-s); 1335 align-items: center; 1336 gap: 0.2em; 1337 color: var(--white); 1338 text-decoration: none; 1339 } 1340 .contact-details-list__icon { 1341 width: 1.6em; 1342 & > svg { 1343 fill: white; 1344 } 1345 } 1346 .contact-details-list__text { 1347 } } 1348[data-search-alpha-form] { display: grid; 1349 gap: 0.5rem; 1350 :has(> &) { 1351 container-type: inline-size; 1352 } 1353 @container (inline-size >= 25rem) { 1354 grid-template-columns: minmax(0, 1fr) auto; 1355 } } 1356[data-search-alpha] { inline-size: 100%; 1357 max-inline-size: var(--max-width); 1358 margin-block: var(--margin-block); 1359 margin-inline: var(--margin-inline); } 1360[data-search-alpha-label] { position: absolute; 1361 width: 1px; 1362 height: 1px; 1363 padding: 0; 1364 margin: -1px; 1365 overflow: hidden; 1366 clip: rect(0, 0, 0, 0); 1367 white-space: nowrap; 1368 border: 0; } 1369[data-search-alpha-input] { border: var(--input-border, var(--border)); 1370 border-radius: var(--radius, 5px); 1371 padding-inline: var(--input-padding-inline); 1372 block-size: var(--input-height); 1373 font-family: inherit; 1374 font-size: inherit; 1375 color: inherit; } 1376[data-search-alpha-button] { cursor: pointer; 1377 block-size: var(--input-height); } 1378[data-search-alpha-hint] { position: absolute; 1379 width: 1px; 1380 height: 1px; 1381 padding: 0; 1382 margin: -1px; 1383 overflow: hidden; 1384 clip: rect(0, 0, 0, 0); 1385 white-space: nowrap; 1386 border: 0; }</style>
1386<script id="etch-script-u1a-d" type="module" defer src="data:text/javascript;base64,KGZ1bmN0aW9uKCkgewogICd1c2Ugc3RyaWN0JzsKICAKICAvLyBDb25maWd1cmF0aW9uCiAgY29uc3QgQlJFQUtQT0lOVCA9IDMwMDsKICBjb25zdCBISURFX1RIUkVTSE9MRCA9IDQwMDAwOwogIGNvbnN0IFNDUk9MTF9ERUxUQV9USFJFU0hPTEQgPSA1OyAvLyBNaW5pbXVtIHNjcm9sbCBjaGFuZ2UgdG8gdHJpZ2dlciBhY3Rpb24KICAKICAvLyBDYWNoZSBET00gZWxlbWVudHMKICBjb25zdCBoZWFkZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuaGVhZGVyJyk7CiAgY29uc3QgaGVhZGVySW5uZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuaGVhZGVyX19pbm5lcicpOwogIGNvbnN0IHRvcEJhciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy50b3AtYmFyJyk7CiAgY29uc3QgaHRtbCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDsKICAKICBpZiAoIWhlYWRlcikgcmV0dXJuOwogIAogIC8vIFN0YXRlIG1hbmFnZW1lbnQKICBsZXQgbGFzdFNjcm9sbFRvcCA9IDA7CiAgbGV0IGlzSGVhZGVySGlkZGVuID0gZmFsc2U7CiAgbGV0IHRpY2tpbmcgPSBmYWxzZTsKICBsZXQgdG9wQmFySGVpZ2h0ID0gMDsKICBsZXQgaXNEZXNrdG9wID0gd2luZG93LmlubmVyV2lkdGggPj0gQlJFQUtQT0lOVDsKICAKICAvLyBTZXQgQ1NTIGN1c3RvbSBwcm9wZXJ0aWVzCiAgZnVuY3Rpb24gc2V0SGVpZ2h0VmFyaWFibGVzKCkgewogICAgaWYgKCFpc0Rlc2t0b3ApIHJldHVybjsKICAgIAogICAgY29uc3QgaGVhZGVySGVpZ2h0ID0gaGVhZGVyLm9mZnNldEhlaWdodDsKICAgIHRvcEJhckhlaWdodCA9IHRvcEJhciA/IHRvcEJhci5vZmZzZXRIZWlnaHQgOiAwOwogICAgY29uc3QgYWRtaW5CYXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnd3BhZG1pbmJhcicpOwogICAgY29uc3QgYWRtaW5CYXJIZWlnaHQgPSBhZG1pbkJhciA/IGFkbWluQmFyLm9mZnNldEhlaWdodCA6IDA7CiAgICAKICAgIGh0bWwuc3R5bGUuc2V0UHJvcGVydHkoJy0taGVhZGVyLWhlaWdodCcsIGAke2hlYWRlckhlaWdodH1weGApOwogICAgaHRtbC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS10b3AtYmFyLWhlaWdodCcsIGAke3RvcEJhckhlaWdodH1weGApOwogICAgCiAgICAvLyBPbmx5IHNldCBhZG1pbiBiYXIgaGVpZ2h0IGlmIFdvcmRQcmVzcyBoYXNuJ3QgYWxyZWFkeQogICAgY29uc3QgZXhpc3RpbmdBZG1pbkJhckhlaWdodCA9IGdldENvbXB1dGVkU3R5bGUoaHRtbCkuZ2V0UHJvcGVydHlWYWx1ZSgnLS13cC1hZG1pbi0tYWRtaW4tYmFyLS1oZWlnaHQnKTsKICAgIGlmICghZXhpc3RpbmdBZG1pbkJhckhlaWdodCB8fCBleGlzdGluZ0FkbWluQmFySGVpZ2h0ID09PSAnMHB4JykgewogICAgICBodG1sLnN0eWxlLnNldFByb3BlcnR5KCctLXdwLWFkbWluLS1hZG1pbi1iYXItLWhlaWdodCcsIGAke2FkbWluQmFySGVpZ2h0fXB4YCk7CiAgICB9CiAgfQogIAogIC8vIEhhbmRsZSBzY3JvbGwgbG9naWMKICBmdW5jdGlvbiBoYW5kbGVTY3JvbGwoKSB7CiAgICBjb25zdCBzY3JvbGxUb3AgPSB3aW5kb3cucGFnZVlPZmZzZXQgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDsKICAgIGNvbnN0IHNjcm9sbERlbHRhID0gTWF0aC5hYnMoc2Nyb2xsVG9wIC0gbGFzdFNjcm9sbFRvcCk7CiAgICAKICAgIC8vIElnbm9yZSB0aW55IHNjcm9sbCBjaGFuZ2VzIGZvciBwZXJmb3JtYW5jZQogICAgaWYgKHNjcm9sbERlbHRhIDwgU0NST0xMX0RFTFRBX1RIUkVTSE9MRCkgewogICAgICB0aWNraW5nID0gZmFsc2U7CiAgICAgIHJldHVybjsKICAgIH0KICAgIAogICAgLy8gU3RhdGUgMTogQXQgdG9wIC0gc2hvdyBldmVyeXRoaW5nIG5vcm1hbGx5CiAgICBpZiAoc2Nyb2xsVG9wIDwgdG9wQmFySGVpZ2h0ICsgNTApIHsKICAgICAgaWYgKGhlYWRlci5jbGFzc0xpc3QuY29udGFpbnMoJ2hlYWRlci0tdmlzaWJsZScpIHx8IGhlYWRlci5jbGFzc0xpc3QuY29udGFpbnMoJ2hlYWRlci0taGlkZGVuJykpIHsKICAgICAgICBoZWFkZXIuY2xhc3NMaXN0LnJlbW92ZSgnaGVhZGVyLS1oaWRkZW4nLCAnaGVhZG
1386VyLS12aXNpYmxlJyk7CiAgICAgICAgaXNIZWFkZXJIaWRkZW4gPSBmYWxzZTsKICAgICAgfQogICAgfQogICAgLy8gU3RhdGUgMjogUGFzdCB0b3AgYmFyIGJ1dCBiZWZvcmUgaGlkZSB0aHJlc2hvbGQgLSBzaG93IGhlYWRlciB3aXRob3V0IHRvcCBiYXIKICAgIGVsc2UgaWYgKHNjcm9sbFRvcCA8IEhJREVfVEhSRVNIT0xEKSB7CiAgICAgIGlmICghaGVhZGVyLmNsYXNzTGlzdC5jb250YWlucygnaGVhZGVyLS12aXNpYmxlJykpIHsKICAgICAgICBoZWFkZXIuY2xhc3NMaXN0LmFkZCgnaGVhZGVyLS12aXNpYmxlJyk7CiAgICAgICAgaGVhZGVyLmNsYXNzTGlzdC5yZW1vdmUoJ2hlYWRlci0taGlkZGVuJyk7CiAgICAgICAgaXNIZWFkZXJIaWRkZW4gPSBmYWxzZTsKICAgICAgfQogICAgfQogICAgLy8gU3RhdGUgMzogUGFzdCB0aHJlc2hvbGQgLSBzaG93L2hpZGUgYmFzZWQgb24gc2Nyb2xsIGRpcmVjdGlvbgogICAgZWxzZSB7CiAgICAgIGlmIChzY3JvbGxUb3AgPiBsYXN0U2Nyb2xsVG9wICYmICFpc0hlYWRlckhpZGRlbikgewogICAgICAgIC8vIFNjcm9sbGluZyBkb3duIC0gaGlkZSBoZWFkZXIKICAgICAgICBoZWFkZXIuY2xhc3NMaXN0LnJlbW92ZSgnaGVhZGVyLS12aXNpYmxlJyk7CiAgICAgICAgaGVhZGVyLmNsYXNzTGlzdC5hZGQoJ2hlYWRlci0taGlkZGVuJyk7CiAgICAgICAgaXNIZWFkZXJIaWRkZW4gPSB0cnVlOwogICAgICB9IGVsc2UgaWYgKHNjcm9sbFRvcCA8IGxhc3RTY3JvbGxUb3AgJiYgaXNIZWFkZXJIaWRkZW4pIHsKICAgICAgICAvLyBTY3JvbGxpbmcgdXAgLSBzaG93IGhlYWRlcgogICAgICAgIGhlYWRlci5jbGFzc0xpc3QucmVtb3ZlKCdoZWFkZXItLWhpZGRlbicpOwogICAgICAgIGhlYWRlci5jbGFzc0xpc3QuYWRkKCdoZWFkZXItLXZpc2libGUnKTsKICAgICAgICBpc0hlYWRlckhpZGRlbiA9IGZhbHNlOwogICAgICB9CiAgICB9CiAgICAKICAgIGxhc3RTY3JvbGxUb3AgPSBzY3JvbGxUb3AgPD0gMCA/IDAgOiBzY3JvbGxUb3A7CiAgICB0aWNraW5nID0gZmFsc2U7CiAgfQogIAogIC8vIE9wdGltaXplZCBzY3JvbGwgZXZlbnQgd2l0aCByZXF1ZXN0QW5pbWF0aW9uRnJhbWUKICBmdW5jdGlvbiBvblNjcm9sbCgpIHsKICAgIGlmICghaXNEZXNrdG9wIHx8IHRpY2tpbmcpIHJldHVybjsKICAgIAogICAgdGlja2luZyA9IHRydWU7CiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoaGFuZGxlU2Nyb2xsKTsKICB9CiAgCiAgLy8gSGFuZGxlIHJlc2l6ZSB3aXRoIGRlYm91bmNpbmcKICBsZXQgcmVzaXplVGltZXI7CiAgZnVuY3Rpb24gb25SZXNpemUoKSB7CiAgICBjbGVhclRpbWVvdXQocmVzaXplVGltZXIpOwogICAgcmVzaXplVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHsKICAgICAgY29uc3Qgd2FzRGVza3RvcCA9IGlzRGVza3RvcDsKICAgICAgaXNEZXNrdG9wID0gd2luZG93LmlubmVyV2lkdGggPj0gQlJFQUtQT0lOVDsKICAgICAgCiAgICAgIC8vIFN3aXRjaGVkIGZyb20gZGVza3RvcCB0byBtb2JpbGUKICAgICAgaWYgKHdhc0Rlc2t0b3AgJiYgIWlzRGVza3RvcCkgewogICAgICAgIGhlYWRlci5jbGFzc0xpc3QucmVtb3ZlKCdoZWFkZXItLWhpZGRlbicsICdoZWFkZXItLXZpc2libGUnKTsKICAgICAgICBoZWFkZXIuY2xhc3NMaXN0LmFkZCgnY29udGVudC1vZmZzZXQtLW9mZicpOwogICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1RvcCA9ICcnOwogICAgICB9CiAgICAgIC8vIFN3aXRjaGVkIGZyb20gbW9iaWxlIHRvIGRlc2t0b3AKICAgICAgZWxzZSBpZiAoIXdhc0Rlc2t0b3AgJiYgaXNEZXNrdG9wKSB7CiAgICAgICAgaGVhZGVyLmNsYXNzTGlzdC5yZW1vdmUoJ2NvbnRlbnQtb2Zmc2V0LS1vZmYnKTsKICAgICAgICBzZXRIZWlnaHRWYXJpYWJsZXMoKTsKICAgICAgICBsYXN0U2Nyb2xsVG9wID0gLTE7IC8vIEZvcmNlIHJlLWV2YWx1YXRpb24KICAgICAgICBoYW5kbGVTY3JvbGwoKTsKICAgICAgfQogICAgICAvLyBSZXNpemVkIG9uIGRlc2t0b3AKICAgICAgZWxzZSBpZiAoaXNEZXNrdG9wKSB7CiAgICAgICAgc2V0SGVpZ2h0VmFyaWFibGVzKCk7CiAgICAgICAgbGFzdFNjcm9sbFRvcCA9IC0xOyAvLyBGb3JjZSByZS1ldmFsdWF0aW9uCiAgICAgICAgaGFuZGxlU2Nyb2xsKCk7CiAgICAgIH0KICAgIH0sIDI1MCk7CiAgfQogIAogIC8vIEluaXRpYWxpemUKICBmdW5jdGlvbiBpbml0KCkgewogICAgaWYgKGlzRGVza3RvcCkgewogICAgICBoZWFkZXIuY2xhc3NMaXN0LnJlbW92ZSgnY29udGVudC1vZmZzZXQtLW9mZicpOwogICAgICBzZXRIZWlnaHRWYXJpYWJsZXMoKTsKICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uU2Nyb2xsLCB7IHBhc3NpdmU6IHRydWUgfSk7CiAgICB9IGVsc2UgewogICAgICBoZWFkZXIuY2xhc3NMaXN0LmFkZCgnY29udGVudC1vZmZzZXQtLW9mZicpOwogICAgfQogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIG9uUmVzaXplKTsKICB9CiAgCiAgLy8gV2FpdCBmb3IgRE9NIHRvIGJlIGZ1bGx5IHJlYWR5CiAgaWYgKGRvY3VtZW50LnJlYWR5U3RhdGUgPT09ICdsb2FkaW5nJykgewogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGluaXQpOwogIH0gZWxzZSB7CiAgICBpbml0KCk7CiAgfQogIAp9KSgpOwo="></script>
1386<script id="etch-script-iiq99" type="module" defer src="data:text/javascript;base64,Y2xhc3MgRXRjaEJ1cmdlclNjcmlwdCB7CiAgY29uc3RydWN0b3Iob3B0aW9ucyA9IHt9KSB7CiAgICB0aGlzLmJ1dHRvbiA9IG9wdGlvbnMuYnV0dG9uOwogICAgdGhpcy50YXJnZXQgPSB0aGlzLnJlc29sdmVUYXJnZXQob3B0aW9ucy50YXJnZXQpOwogICAgdGhpcy5zZWxmQXJpYUV4cGFuZGVkID0gb3B0aW9ucy5zZWxmQXJpYUV4cGFuZGVkID8/IGZhbHNlOwogICAgY29uc3QgdGFyZ2V0Q29uZmlnID0gb3B0aW9ucy50YXJnZXRPcHRpb25zID8/IHt9OwogICAgdGhpcy50YXJnZXRDbGFzcyA9IHRhcmdldENvbmZpZy5jbGFzcyA/PyBudWxsOwogICAgdGhpcy50YXJnZXRBcmlhRXhwYW5kZWQgPSB0YXJnZXRDb25maWcuYXJpYUV4cGFuZGVkID8/IGZhbHNlOwogICAgdGhpcy5vblRvZ2dsZSA9CiAgICAgIHR5cGVvZiBvcHRpb25zLm9uVG9nZ2xlID09PSAnZnVuY3Rpb24nID8gb3B0aW9ucy5vblRvZ2dsZSA6IG51bGw7CiAgICB0aGlzLm9uQ2xvc2UgPQogICAgICB0eXBlb2Ygb3B0aW9ucy5vbkNsb3NlID09PSAnZnVuY3Rpb24nID8gb3B0aW9ucy5vbkNsb3NlIDogbnVsbDsKICAgIHRoaXMuZm9jdXNhYmxlRWxlbWVudHMgPSBbXTsKICAgIHRoaXMua2V5ZG93bkhhbmRsZXIgPSAoZSkgPT4gdGhpcy5oYW5kbGVLZXlEb3duKGUpOwogICAgdGhpcy5mb2N1c1RyYXBIYW5kbGVyID0gKGUpID0+IHRoaXMuaGFuZGxlRm9jdXNUcmFwKGUpOwogICAgdGhpcy5pbml0KCk7CiAgfQoKICBpbml0KCkgewogICAgaWYgKCF0aGlzLmJ1dHRvbikgcmV0dXJuIGNvbnNvbGUuZXJyb3IoJ0Nhbm5vdCBmaW5kIEJ1cmdlciBidXR0b24nKTsKICAgIHRoaXMuYXR0YWNoRXZlbnRMaXN0ZW5lcnMoKTsKICB9CgogIGlzRXRjaEVkaXRvcigpIHsKICAgIGNvbnN0IGlzSW5FZGl0b3IgPQogICAgICB3aW5kb3cgIT09IHdpbmRvdy50b3AgJiYgZnJhbWVFbGVtZW50LmlkID09PSAnZXRjaC1pZnJhbWUnOwogICAgcmV0dXJuIGlzSW5FZGl0b3I7CiAgfQoKICBpc01lbnVPcGVuKCkgewogICAgaWYgKHRoaXMuc2VsZkFyaWFFeHBhbmRlZCkgewogICAgICByZXR1cm4gdGhpcy5idXR0b24uZ2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJykgPT09ICd0cnVlJzsKICAgIH0KICAgIHJldHVybiBmYWxzZTsKICB9CgogIHJlc29sdmVUYXJnZXQodGFyZ2V0KSB7CiAgICBpZiAodGFyZ2V0ID09IG51bGwpIHJldHVybiBudWxsOwogICAgaWYgKHRoaXMuaXNFdGNoRWRpdG9yKCkpIHJldHVybiBudWxsOwogICAgaWYgKHR5cGVvZiB0YXJnZXQgPT09ICdzdHJpbmcnKSB7CiAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRhcmdldCk7CiAgICAgIGlmICghZWxlbWVudCkgcmV0dXJuIGNvbnNvbGUuZXJyb3IoJ0Nhbm5vdCBmaW5kIHRhcmdldCBlbGVtZW50Jyk7CiAgICAgIHJldHVybiBlbGVtZW50OwogICAgfQogICAgaWYgKHRhcmdldCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSByZXR1cm4gdGFyZ2V0OwogICAgY29uc29sZS5lcnJvcigKICAgICAgJ0ludmFsaWQgdGFyZ2V0IOKAlCBtdXN0IGJlIGEgc2VsZWN0b3Igc3RyaW5nIG9yIEhUTUxFbGVtZW50JwogICAgKTsKICAgIHJldHVybiBudWxsOwogIH0KCiAgYXR0YWNoRXZlbnRMaXN0ZW5lcnMoKSB7CiAgICB0aGlzLmJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMuaGFuZGxlQ2xpY2soKSk7CiAgfQoKICBoYW5kbGVDbGljaygpIHsKICAgIGNvbnN0IG5ld1N0YXRlID0gdGhpcy5nZXRUb2dnbGVTdGF0ZSgpOwogICAgdGhpcy51cGRhdGVCdXJnZXJTdGF0ZShuZXdTdGF0ZSk7CiAgICB0aGlzLnVwZGF0ZVRhcmdldFN0YXRlKG5ld1N0YXRlKTsKICAgIHRoaXMudXBkYXRlQm9keVNjcm9sbChuZXdTdGF0ZSk7ICAvLyA8LS0gQWRkZWQKCiAgICBpZiAobmV3U3RhdGUpIHsKICAgICAgdGhpcy5zZXRGb2N1c1RyYXAoKTsKICAgIH0gZWxzZSB7CiAgICAgIHRoaXMucmVtb3ZlRm9jdXNUcmFwKCk7CiAgICB9CgogICAgdHJ5IHsKICAgICAgaWYgKHRoaXMub25Ub2dnbGUpIHRoaXMub25Ub2dnbGUobmV3U3RhdGUpOwogICAgICBpZiAoIW5ld1N0YXRlICYmIHRoaXMub25DbG9zZSkgdGhpcy5vbkNsb3NlKCk7CiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBvbiBjYWxsYmFjazonLCBlcnJvcik7CiAgICB9CiAgfQoKICBjbG9zZU1lbnUoKSB7CiAgICBjb25zb2xlLmxvZygnYnVyZ2VyIGNsb3NlTWVudSBjYWxsZWQnKTsKICAgIHRoaXMudXBkYXRlQnVyZ2VyU3RhdGUoZmFsc2UpOwogICAgdGhpcy51cGRhdGVUYXJnZXRTdGF0ZShmYWxzZSk7CiAgICB0aGlzLnVwZGF0ZUJvZHlTY3JvbGwoZmFsc2UpOyAgLy8gPC0tIEFkZGVkCiAgICB0aGlzLnJlbW92ZUZvY3VzVHJhcCgpOwogICAgdGhpcy5idXR0b24uZm9jdXMoKTsKICAgIHRyeSB7CiAgICAgIGlmICh0aGlzLm9uQ2xvc2UpIHRoaXMub25DbG9zZSgpOwogICAgfSBjYXRjaCAoZXJyb3IpIHsKICAgICAgY29uc29sZS5lcnJvcignRXJyb3Igb24gY2FsbGJhY2s6JywgZXJyb3IpOwogICAgfQogIH0KCiAgLy8gTmV3IG1ldGhvZCB0byB0b2dnbGUgYm9keSBzY3JvbGwKICB1cGRhdGVCb2R5U2Nyb2xsKGlzT3BlbikgewogICAgaWYgKGlzT3BlbikgewogICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ25vLXNjcm9sbCcpOwogICAgfSBlbHNlIHsKICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCduby1zY3JvbGwnKTsKICAgIH0KICB9CgogIGdldFRvZ2dsZVN0YXRlKCkgewogICAgaWYgKHRoaXMuc2VsZkFyaWFFeHBhbmRlZCkgewogICAgICBjb25zdCBpc09wZW4gPSB0aGlzLmJ1dHRvbi5nZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnKSA9PT0gJ3RydWUnOwogICAgICByZXR1cm4gIWlzT3BlbjsKICAgIH0KICAgIHJldHVybiBmYWxzZTsKICB9CgogIGdldEFyaWFMYWJlbCgpIHsKICAgIHJldHVybiB0aGlzLmJ1dHRvbi5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnKSB8fCAnJzsKICB9CgogIHNldEZvY3VzYWJsZUVsZW1lbnRzKCkgewogICAgdGhpcy5mb2N1c2FibGVFbGVtZW50cyA9IEFycmF5LmZyb20oCiAgICAgI
1386HRoaXMudGFyZ2V0LnF1ZXJ5U2VsZWN0b3JBbGwoCiAgICAgICAgJ2EsIGJ1dHRvbiwgW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PSItMSJdKScKICAgICAgKQogICAgKS5maWx0ZXIoCiAgICAgIChlbCkgPT4KICAgICAgICAhZWwuZGlzYWJsZWQgJiYKICAgICAgICBlbC5vZmZzZXRQYXJlbnQgIT09IG51bGwgJiYKICAgICAgICBnZXRDb21wdXRlZFN0eWxlKGVsKS52aXNpYmlsaXR5ICE9PSAnaGlkZGVuJwogICAgKTsKICB9CgogIHNldEZvY3VzVHJhcCgpIHsKICAgIGlmICghdGhpcy50YXJnZXQpIHJldHVybjsKICAgIHRoaXMuc2V0Rm9jdXNhYmxlRWxlbWVudHMoKTsKICAgIHRoaXMudGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLmtleWRvd25IYW5kbGVyLCB0cnVlKTsKICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLmZvY3VzVHJhcEhhbmRsZXIsIHRydWUpOwogICAgdGhpcy5mb2N1c2FibGVFbGVtZW50c1swXT8uZm9jdXMoKTsKICB9CgogIHJlbW92ZUZvY3VzVHJhcCgpIHsKICAgIGlmICh0aGlzLnRhcmdldCkgewogICAgICB0aGlzLnRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKAogICAgICAgICdrZXlkb3duJywKICAgICAgICB0aGlzLmtleWRvd25IYW5kbGVyLAogICAgICAgIHRydWUKICAgICAgKTsKICAgIH0KICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLmZvY3VzVHJhcEhhbmRsZXIsIHRydWUpOwogICAgdGhpcy5mb2N1c2FibGVFbGVtZW50cyA9IFtdOwogIH0KCiAgdXBkYXRlQXJpYUxhYmVsKG5ld1N0YXRlKSB7CiAgICBjb25zdCBhcmlhTGFiZWwgPSB0aGlzLmdldEFyaWFMYWJlbCgpOwogICAgaWYgKCFhcmlhTGFiZWwpIHJldHVybjsKICAgIGNvbnN0IG1hdGNoID0gYXJpYUxhYmVsLm1hdGNoKC9eXHMqKFteXHNdKykoLiopJC8pOwogICAgY29uc3QgcmVzdCA9IG1hdGNoWzJdOwogICAgY29uc3QgYWN0aW9uID0gbmV3U3RhdGUgPyAnQ2xvc2UnIDogJ09wZW4nOwogICAgdGhpcy5idXR0b24uc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywgYCR7YWN0aW9ufSR7cmVzdH1gKTsKICB9CgogIHVwZGF0ZUJ1cmdlclN0YXRlKG5ld1N0YXRlKSB7CiAgICBpZiAodGhpcy5zZWxmQXJpYUV4cGFuZGVkKSB7CiAgICAgIHRoaXMuYnV0dG9uLnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsIFN0cmluZyhuZXdTdGF0ZSkpOwogICAgfQogICAgdGhpcy51cGRhdGVBcmlhTGFiZWwobmV3U3RhdGUpOwogIH0KCiAgdXBkYXRlVGFyZ2V0U3RhdGUobmV3U3RhdGUpIHsKICAgIGlmICh0aGlzLnRhcmdldCA9PSBudWxsKSByZXR1cm47CiAgICBpZiAoIXRoaXMudGFyZ2V0KSB7CiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Nhbm5vdCBmaW5kIHRhcmdldCBlbGVtZW50Jyk7CiAgICAgIHJldHVybjsKICAgIH0KICAgIGlmICh0aGlzLnRhcmdldENsYXNzKSB7CiAgICAgIHRoaXMudGFyZ2V0LmNsYXNzTGlzdC50b2dnbGUodGhpcy50YXJnZXRDbGFzcywgbmV3U3RhdGUpOwogICAgfQogICAgaWYgKHRoaXMudGFyZ2V0QXJpYUV4cGFuZGVkKSB7CiAgICAgIHRoaXMudGFyZ2V0LnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsIFN0cmluZyhuZXdTdGF0ZSkpOwogICAgfQogIH0KCiAgaGFuZGxlS2V5RG93bihlKSB7CiAgICBjb25zdCB7IGtleSB9ID0gZTsKICAgIGlmIChrZXkgPT09ICdFc2NhcGUnICYmIHRoaXMuaXNNZW51T3BlbigpKSB7CiAgICAgIGlmICh0aGlzLmhhc09wZW5TdWJtZW51cygpKSByZXR1cm47CiAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgdGhpcy5jbG9zZU1lbnUoKTsKICAgIH0KICB9CgogIGhhbmRsZUZvY3VzVHJhcChlKSB7CiAgICBjb25zdCB7IGtleSB9ID0gZTsKICAgIGlmICgKICAgICAgIXRoaXMuaXNNZW51T3BlbigpIHx8CiAgICAgIGtleSAhPT0gJ1RhYicgfHwKICAgICAgIXRoaXMuZm9jdXNhYmxlRWxlbWVudHMubGVuZ3RoCiAgICApCiAgICAgI
1386HJldHVybjsKCiAgICBjb25zdCBmb2N1c2VkRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7CiAgICBjb25zdCBmb2N1c2VkSW5kZXggPSB0aGlzLmZvY3VzYWJsZUVsZW1lbnRzLmluZGV4T2YoZm9jdXNlZEVsZW1lbnQpOwoKICAgIGlmIChlLnNoaWZ0S2V5KSB7CiAgICAgIGlmIChmb2N1c2VkSW5kZXggPT09IDApIHsKICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgdGhpcy5mb2N1c2FibGVFbGVtZW50c1t0aGlzLmZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCAtIDFdPy5mb2N1cygpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBpZiAoZm9jdXNlZEluZGV4ID09PSB0aGlzLmZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCAtIDEpIHsKICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgdGhpcy5mb2N1c2FibGVFbGVtZW50c1swXT8uZm9jdXMoKTsKICAgICAgfQogICAgfQogIH0KCiAgaGFzT3BlblN1Ym1lbnVzKCkgewogICAgaWYgKCF0aGlzLnRhcmdldCkgcmV0dXJuIGZhbHNlOwogICAgY29uc3Qgb3BlblN1Ym1lbnVzID0gdGhpcy50YXJnZXQucXVlcnlTZWxlY3RvckFsbCgKICAgICAgJy5ldGNoLW5hdl9fYnV0dG9uLS1kcm9wZG93bi10b2dnbGVbYXJpYS1leHBhbmRlZD0idHJ1ZSJdLCAuZXRjaC1uYXZfX2J1dHRvbi0tZmx5b3V0LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSJ0cnVlIl0nCiAgICApOwogICAgcmV0dXJuIG9wZW5TdWJtZW51cy5sZW5ndGggPiAwOwogIH0KfQoKLy8gVGhlIHJlc3Qgb2YgeW91ciBpbnN0YW50aWF0aW9uIGNvZGUgcmVtYWlucyB1bmNoYW5nZWQKZnVuY3Rpb24gaW5zdGFudGlhdGVCdXJnZXJDbGFzcyhldGNoTmF2LCBvbkNsb3NlKSB7CiAgY29uc3QgYnVyZ2VyQnRuID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmV0Y2gtYnVyZ2VyJyk7CiAgY29uc3QgYnVyZ2VySW5zdGFuY2UgPSBuZXcgRXRjaEJ1cmdlclNjcmlwdCh7CiAgICBidXR0b246IGJ1cmdlckJ0biwKICAgIHRhcmdldDogZXRjaE5hdiwKICAgIHNlbGZBcmlhRXhwYW5kZWQ6IHRydWUsCiAgICB0YXJnZXRPcHRpb25zOiB7CiAgICAgIGFyaWFFeHBhbmRlZDogdHJ1ZQogICAgfSwKICAgIG9uQ2xvc2UKICB9KTsKICB3aW5kb3cuZXRjaEVsZW1lbnRzID0gd2luZG93LmV0Y2hFbGVtZW50cyB8fCBbXTsKICB3aW5kb3cuZXRjaEVsZW1lbnRzLmV0Y2hCdXJnZXIgPSBidXJnZXJJbnN0YW5jZTsKfQoKY29uc3QgZXRjaE5hdiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWV0Y2gtbmF2PSJtYWluIl0nKTsKaWYgKCFldGNoTmF2KSB7CiAgY29uc29sZS5lcnJvcignQnVyZ2VyIGNhbm5vdCBmaW5kIE5hdiBlbGVtZW50Jyk7Cn0gZWxzZSB7CiAgaW5zdGFudGlhdGVCdXJnZXJDbGFzcyhldGNoTmF2LCBjbG9zZUV0Y2hOYXYpOwp9CgpmdW5jdGlvbiBjbG9zZUV0Y2hOYXYoKSB7CiAgd2luZG93LmV0Y2hFbGVtZW50cz8uZXRjaE5hdj8uY2xvc2VBbGxOYXZzKCk7Cn0="></script>
1386<script id="etch-script-pkqp0" type="module" defer src="data:text/javascript;base64,Y2xhc3MgRXRjaE5hdlNjcmlwdCB7Cgljb25zdHJ1Y3RvcihuYXZFbGVtZW50LCBvcHRpb25zID0ge30pIHsKCQl0aGlzLm5hdkVsID0gbmF2RWxlbWVudDsKCQl0aGlzLm9wdGlvbnMgPSBvcHRpb25zOwoJCXRoaXMuaG92ZXJUaW1lb3V0cyA9IG5ldyBNYXAoKTsKCQl0aGlzLmlzVG91Y2hEZXZpY2UgPSB0aGlzLmRldGVjdFRvdWNoRGV2aWNlKCk7CgkJdGhpcy5pbml0KCk7Cgl9CgoJZGV0ZWN0VG91Y2hEZXZpY2UoKSB7CgkJcmV0dXJuICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyB8fCBuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMgPiAwOwoJfQoKCWluaXQoKSB7CgkJaWYgKCF0aGlzLm5hdkVsKSByZXR1cm4gY29uc29sZS5lcnJvcignQ2Fubm90IGZpbmQgTmF2IGVsZW1lbnQnKTsKCgkJdGhpcy5uYXZMaXN0ID0gdGhpcy5nZXROYXZMaXN0KCk7CgkJdGhpcy50b3BMZXZlbE5hdkl0ZW1zID0gdGhpcy5nZXRUb3BMZXZlbE5hdkl0ZW1zKHRoaXMubmF2TGlzdCk7CgkJdGhpcy5zZXRUYWJJbmRleCh0aGlzLnRvcExldmVsTmF2SXRlbXMpOwoKCQl0aGlzLmludGVyYWN0aW9uTW9kZSA9IHRoaXMubmF2RWwuZGF0YXNldD8ubmF2SW50ZXJhY3Rpb24gfHwgJ2hvdmVyJzsKCgkJW3RoaXMuZHJvcGRvd25CdXR0b25zLCB0aGlzLmZseW91dEJ1dHRvbnNdID0gdGhpcy5nZXRCdXR0b25zKAoJCQl0aGlzLm5hdkxpc3QKCQkpOwoJCVt0aGlzLmRyb3Bkb3duTmF2LCB0aGlzLmZseW91dE5hdl0gPSB0aGlzLmdldEFyZWFOYXYodGhpcy5uYXZMaXN0KTsKCgkJdGhpcy5zZXRCdXR0b25OYXZNYXAoKTsKCQl0aGlzLmJ1aWxkRm9jdXNNYXBzKCk7CgoJCXRoaXMuYXR0YWNoRXZlbnRMaXN0ZW5lcnMoKTsKCQl0aGlzLnNldEluaXRpYWxOYXZTdGF0ZXMoKTsKCgkJaWYgKHRoaXMuaXNBcmlhQ3VycmVudFBhZ2VFbmFibGVkKCkpIHsKCQkJdGhpcy5zZXRBcmlhQ3VycmVudFBhZ2UoKTsKCQl9Cgl9CgoJZ2V0TmF2TGlzdCgpIHsKCQlyZXR1cm4gdGhpcy5uYXZFbC5xdWVyeVNlbGVjdG9yKCcuZXRjaC1uYXZfX2xpc3QnKTsKCX0KCglnZXRBcmlhQ3VycmVudFBhZ2VDb25maWcoKSB7CgkJY29uc3QgdmFsdWUgPSB0aGlzLm9wdGlvbnM/LmFyaWFDdXJyZW50UGFnZTsKCgkJaWYgKHZhbHVlID09PSB0cnVlKQoJCQlyZXR1cm4gewoJCQkJZW5hYmxlZDogdHJ1ZSwKCQkJCWhvbWVQYWdlOiB0cnVlCgkJCX07CgoJCWlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKQoJCQlyZXR1cm4gewoJCQkJZW5hYmxlZDogdHJ1ZSwKCQkJCWhvbWVQYWdlOiB2YWx1ZS5ob21lUGFnZSA9PT0gZmFsc2UgPyBmYWxzZSA6IHRydWUKCQkJfTsKCgkJcmV0dXJuIHsKCQkJZW5hYmxlZDogZmFsc2UKCQl9OwoJfQoKCXNldEFyaWFDdXJyZW50UGFnZSgpIHsKCQljb25zdCB7IGhvbWVQYWdlIH0gPSB0aGlzLmdldEFyaWFDdXJyZW50UGFnZUNvbmZpZygpOwoKCQljb25zdCBjdXJyZW50VXJsID0gdGhpcy5ub3JtYWxpemVVcmwod2luZG93LmxvY2F0aW9uLmhyZWYpOwoJCWNvbnN0IGhvbWVwYWdlVXJsID0gdGhpcy5ub3JtYWxpemVVcmwod2luZG93LmxvY2F0aW9uLm9yaWdpbik7CgoJCWlmICghaG9tZVBhZ2UgJiYgY3VycmVudFVybCA9PT0gaG9tZXBhZ2VVcmwpIHJldHVybjsKCgkJY29uc3QgbmF2TGlua3MgPSB0aGlzLnRvcExldmVsTmF2SXRlbXMuZmlsdGVyKAoJCQkoZWwpID0+CgkJCQllbC5jbGFzc0xpc3QuY29udGFpbnMoJ2V0Y2gtbmF2X19saW5rJykgJiYKCQkJCWVsLmhhc0F0dHJpYnV0ZSgnaHJlZicpCgkJKTsKCgkJZm9yIChjb25zdCBpdGVtIG9mIG5hdkxpbmtzKSB7CgkJCWNvbnN0IGl0ZW1VcmwgPSB0aGlzLm5vcm1hbGl6ZVVybCgKCQkJCW5ldyBVUkwoaXRlbS5ocmVmLCB3aW5kb3cubG9jYXRpb24ub3JpZ2luKS5ocmVmCgkJCSk7CgkJCWlmIChpdGVtVXJsID09PSBjdXJyZW50VXJsKSB7CgkJCQlpdGVtLnNldEF0dHJpYnV0ZSgnYXJpYS1jdXJyZW50JywgJ3BhZ2UnKTsKCQkJCWJyZWFrOwoJCQl9CgkJfQoJfQoKCWlzQXJpYUN1cnJlbnRQYWdlRW5hYmxlZCgpIHsKCQlyZXR1cm4gdGhpcy5nZXRBcmlhQ3VycmVudFBhZ2VDb25maWcoKS5lbmFibGVkOwoJfQoKCW5vcm1hbGl6ZVVybCh1cmwpIHsKCQlsZXQgbm9ybWFsaXplZCA9IHVybC5yZXBsYWNlKC9cLyskLywgJycpOwoJCWlmIChub3JtYWxpemVkID09PSB3aW5kb3cubG9jYXRpb24ub3JpZ2luKSB7CgkJCW5vcm1hbGl6ZWQgKz0gJy8nOwoJCX0KCQlyZXR1cm4gbm9ybWFsaXplZDsKCX0KCglnZXRUb3BMZXZlbE5hdkl0ZW1zKG5hdkxpc3QpIHsKCQlyZXR1cm4gQXJyYXkuZnJvbShuYXZMaXN0LmNoaWxkcmVuKS5mbGF0TWFwKChsaSkgPT4KCQkJQXJyYXkuZnJvbShsaS5jaGlsZHJlbikuZmlsdGVyKAoJCQkJKGVsKSA9PgoJCQkJCWVsLmNsYXNzTGlzdC5jb250YWlucygnZXRjaC1uYXZfX2xpbmsnKSB8fAoJCQkJCWVsLmNsYXNzTGlzdC5jb250YWlucygnZXRjaC1uYXZfX2J1dHRvbicpCgkJCSkKCQkpOwoJfQoKCWdldEJ1dHRvbnMobmF2TGlzdCkgewoJCXJldHVybiBbCgkJCUFycmF5LmZyb20oCgkJCQluYXZMaXN0LnF1ZXJ5U2VsZWN0b3JBbGwoJy5ldGNoLW5hdl9fYnV0dG9uLS1kcm9wZG93bi10b2dnbGUnKQoJCQkpLAoJCQlBcnJheS5mcm9tKAoJCQkJbmF2TGlzdC5xdWVyeVNlbGVjdG9yQWxsKCcuZXRjaC1uYXZfX2J1dHRvbi0tZmx5b3V0LXRvZ2dsZScpCgkJCSkKCQldOwoJfQoKCWdldEFyZWFOYXYobmF2TGlzdCkgewoJCXJldHVybiBbCgkJCUFycmF5LmZyb20obmF2TGlzdC5xdWVyeVNlbGVjdG9yQWxsKCcuZXRjaC1uYXZfX2Ryb3Bkb3duJykpLAoJCQlBcnJheS5mcm9tKG5hdkxpc3QucXVlcnlTZWxlY3RvckFsbCgnLmV0Y2gtbmF2X19mbHlvdXQnKSkKCQldOwoJfQoKCWdldEZvY3VzYWJsZUFyZWFFbGVtZW50cyhhcmVhTmF2KSB7CgkJcmV0dXJuIEFycmF5LmZyb20oYXJlYU5hdi5jaGlsZHJlbikuZmxhdE1hcCgobGkpID0+CgkJCUFycmF5LmZyb20oCgkJCQlsaS5xdWVyeVNlbGVjdG9yQWxsKAoJCQkJCSc6c2NvcGUgPiBhLCA6c2NvcGUgPiBidXR0b24sIDpzY29wZSA+IFt0YWJpbmRleF06bm90KFt0YWJpbmRleD0iLT
1386EiXSknCgkJCQkpCgkJCSkKCQkpOwoJfQoKCWdldE9wZW5GbHlvdXRzSW5Ecm9wZG93bihkcm9wZG93bikgewoJCWNvbnN0IGZseW91dHMgPSBkcm9wZG93bi5xdWVyeVNlbGVjdG9yQWxsKCcuZXRjaC1uYXZfX2ZseW91dCcpOwoJCXJldHVybiBBcnJheS5mcm9tKGZseW91dHMpLmZpbHRlcigoZmx5b3V0KSA9PiB7CgkJCWNvbnN0IGJ1dHRvbiA9IHRoaXMuYXJlYVRyaWdnZXJNYXAuZ2V0KGZseW91dCk7CgkJCXJldHVybiBidXR0b24/LmdldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcpID09PSAndHJ1ZSc7CgkJfSk7Cgl9CgoJZ2V0T3Blbk5hdkZyb21CdXR0b24oYnV0dG9uKSB7CgkJY29uc3QgbmF2ID0gdGhpcy5idXR0b25OYXZNYXAuZ2V0KGJ1dHRvbik7CgkJY29uc3QgaXNPcGVuID0gYnV0dG9uLmdldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcpID09PSAndHJ1ZSc7CgkJcmV0dXJuIGlzT3BlbiA/IG5hdiA6IG51bGw7Cgl9CgoJZ2V0Q29udGV4dEZvclRhcmdldCh0YXJnZXQpIHsKCQljb25zdCBhcmVhID0gdGhpcy5lbGVtZW50QXJlYU1hcC5nZXQodGFyZ2V0KTsKCQlpZiAoIWFyZWEpIHsKCQkJcmV0dXJuIHsKCQkJCXR5cGU6ICd0b3AtbGV2ZWwnLAoJCQkJaXRlbXM6IHRoaXMudG9wTGV2ZWxOYXZJdGVtcywKCQkJCWFyZWE6IG51bGwKCQkJfTsKCQl9CgkJY29uc3QgaXRlbXMgPSB0aGlzLmFyZWFGb2N1c01hcC5nZXQoYXJlYSk7CgkJY29uc3QgdHlwZSA9IGFyZWEuY2xhc3NMaXN0LmNvbnRhaW5zKCdldGNoLW5hdl9fZmx5b3V0JykKCQkJPyAnZmx5b3V0JwoJCQk6ICdkcm9wZG93bic7CgkJcmV0dXJuIHsgdHlwZSwgaXRlbXMsIGFyZWEgfTsKCX0KCglnZXRQYXJlbnREcm9wZG93bihlbGVtZW50KSB7CgkJbGV0IHBhcmVudCA9IGVsZW1lbnQucGFyZW50RWxlbWVudDsKCQl3aGlsZSAocGFyZW50KSB7CgkJCWlmIChwYXJlbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdldGNoLW5hdl9fZHJvcGRvd24nKSkgcmV0dXJuIHBhcmVudDsKCQkJcGFyZW50ID0gcGFyZW50LnBhcmVudEVsZW1lbnQ7CgkJfQoJCXJldHVybiBudWxsOwoJfQoKCXNldFRhYkluZGV4KGl0ZW1zKSB7CgkJaXRlbXMuZm9yRWFjaCgoZWwpID0+IGVsLnNldEF0dHJpYnV0ZSgndGFiaW5kZXgnLCAnMCcpKTsKCX0KCglzZXRCdXR0b25OYXZNYXAoKSB7CgkJdGhpcy5idXR0b25OYXZNYXAgPSBuZXcgTWFwKCk7CgoJCXRoaXMuZHJvcGRvd25CdXR0b25zPy5mb3JFYWNoKChidXR0b24pID0+IHsKCQkJY29uc3QgbGkgPSBidXR0b24uY2xvc2VzdCgnbGknKTsKCQkJY29uc3QgZHJvcGRvd24gPSB0aGlzLmRyb3Bkb3duTmF2LmZpbmQoCgkJCQkobSkgPT4gbS5jbG9zZXN0KCdsaScpID09PSBsaQoJCQkpOwoJCQlpZiAoZHJvcGRvd24pIHRoaXMuYnV0dG9uTmF2TWFwLnNldChidXR0b24sIGRyb3Bkb3duKTsKCQl9KTsKCgkJdGhpcy5mbHlvdXRCdXR0b25zPy5mb3JFYWNoKChidXR0b24pID0+IHsKCQkJY29uc3QgbGkgPSBidXR0b24uY2xvc2VzdCgnbGknKTsKCQkJY29uc3QgZmx5b3V0ID0gdGhpcy5mbHlvdXROYXYuZmluZCgobSkgPT4gbS5jbG9zZXN0KCdsaScpID09PSBsaSk7Cg
1386kJCWlmIChmbHlvdXQpIHRoaXMuYnV0dG9uTmF2TWFwLnNldChidXR0b24sIGZseW91dCk7CgkJfSk7Cgl9CgoJc2V0QXJlYU5hdlN0YXRlKGJ1dHRvbiwgb3BlbikgewoJCWNvbnN0IG5hdiA9IHRoaXMuYnV0dG9uTmF2TWFwLmdldChidXR0b24pOwoJCWlmICghbmF2KSByZXR1cm47CgoJCWJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCBTdHJpbmcob3BlbikpOwoKCQlpZiAob3BlbikgewoJCQl0aGlzLnNldEV4cGFuZGVkTmF2SGVpZ2h0KG5hdik7CgkJfSBlbHNlIHsKCQkJdGhpcy5zZXRDb2xsYXBzZWROYXZIZWlnaHQobmF2KTsKCgkJCWlmIChuYXYuY2xhc3NMaXN0LmNvbnRhaW5zKCdldGNoLW5hdl9fZHJvcGRvd24nKSkgewoJCQkJY29uc3Qgb3BlbkZseW91dHMgPSB0aGlzLmdldE9wZW5GbHlvdXRzSW5Ecm9wZG93bihuYXYpOwoJCQkJZm9yIChjb25zdCBmbHlvdXQgb2Ygb3BlbkZseW91dHMpIHsKCQkJCQljb25zdCBmbHlvdXRCdXR0b24gPSB0aGlzLmFyZWFUcmlnZ2VyTWFwLmdldChmbHlvdXQpOwoJCQkJCWZseW91dEJ1dHRvbj8uc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgJ2ZhbHNlJyk7CiAgICAgICAgICAgICAgICAgIGZseW91dC5zdHlsZS5tYXhIZWlnaHQgPSAnMHB4JzsKCQkJCX0KCQkJfQoKCQl9CgoJCWlmIChuYXYuY2xhc3NMaXN0LmNvbnRhaW5zKCdldGNoLW5hdl9fZmx5b3V0JykpIHsKCQkJdGhpcy5jYWxjdWxhdGVEcm9wZG93bkV4dHJhSGVpZ2h0KG5hdik7CgkJfQoJfQoKCXNldEluaXRpYWxOYXZTdGF0ZXMoKSB7CgkJZm9yIChjb25zdCBbYnV0dG9uXSBvZiB0aGlzLmJ1dHRvbk5hdk1hcC5lbnRyaWVzKCkpIHsKCQkJY29uc3QgaXNPcGVuID0gYnV0dG9uLmdldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcpID09PSAndHJ1ZSc7CgkJCXRoaXMuc2V0QXJlYU5hdlN0YXRlKGJ1dHRvbiwgaXNPcGVuKTsKCQl9Cgl9CgoJc2V0RXhwYW5kZWROYXZIZWlnaHQobmF2KSB7CgkJY29uc3QgaGVpZ2h0ID0gdGhpcy5jYWxjdWxhdGVOYXZIZWlnaHQobmF2KTsKCQluYXYuc3R5bGUubWF4SGVpZ2h0ID0gJzBweCc7CgkJbmF2Lm9mZnNldEhlaWdodDsgLy8gZm9yY2UgcmVmbG93CgkJbmF2LnN0eWxlLm1heEhlaWdodCA9IGAke2hlaWdodH1weGA7Cgl9CgoJc2V0Q29sbGFwc2VkTmF2SGVpZ2h0KG5hdikgewoJCW5hdi5zdHlsZS5tYXhIZWlnaHQgPSBgJHtuYXYuc2Nyb2xsSGVpZ2h0fXB4YDsKCQluYXYub2Zmc2V0SGVpZ2h0OyAvLyBmb3JjZSByZWZsb3cKCQluYXYuc3R5bGUubWF4SGVpZ2h0ID0gJzBweCc7Cgl9CgoJYnVpbGRGb2N1c01hcHMoKSB7CgkJdGhpcy5hcmVhRm9jdXNNYXAgPSBuZXcgTWFwKCk7CgkJdGhpcy5hcmVhVHJpZ2dlck1hcCA9IG5ldyBNYXAoKTsKCQl0aGlzLmVsZW1lbnRBcmVhTWFwID0gbmV3IE1hcCgpOwoKCQlmb3IgKGNvbnN0IGVsIG9mIHRoaXMudG9wTGV2ZWxOYXZJdGVtcykgewoJCQl0aGlzLmVsZW1lbnRBcmVhTWFwLnNldChlbCwgdW5kZWZpbmVkKTsKCQl9CgoJCVsuLi50aGlzLmRyb3Bkb3duTmF2LCAuLi50aGlzLmZseW91dE5hdl0uZm9yRWFjaCgobmF2KSA9PiB7CgkJCWNvbnN0IGJ1dHRvbiA9IFsuLi50aGlzLmJ1dHRvbk5hdk1hcC5lbnRyaWVzKCldLmZpbmQoCgkJCQkoWywgbV0pID0+IG0gPT09IG5hdgoJCQkpPy5bMF07CgkJCWlmICghYnV0dG9uKSByZXR1cm47CgoJCQljb25zdCBpdGVtcyA9IHRoaXMuZ2V0Rm9jdXNhYmxlQXJlYUVsZW1lbnRzKG5hdik7CgoJCQl0aGlzLmFyZWFGb2N1c01hcC5zZXQobmF2LCBpdGVtcyk7CgkJCXRoaXMuYXJlYVRyaWdnZXJNYXAuc2V0KG5hdiwgYnV0dG9uKTsKCgkJCWZvciAoY29uc3QgaXRlbSBvZiBpdGVtcykgewoJCQkJdGhpcy5lbGVtZW50QXJlYU1hcC5zZXQoaXRlbSwgbmF2KTsKCQkJfQoJCX0pOwoJfQoKCWNhbGN1bGF0ZU5hdkhlaWdodChuYXYpIHsKCQlpZiAobmF2LmNsYXNzTGlzdC5jb250YWlucygnZXRjaC1uYXZfX2ZseW91dCcpKSB7CgkJCXJldHVybiBuYXYuc2Nyb2xsSGVpZ2h0OwoJCX0KCgkJY29uc3QgZHJvcGRvd25NYXhIZWlnaHQgPSBuYXYuc3R5bGUubWF4SGVpZ2h0OwoJCW5hdi5zdHlsZS5tYXhIZWlnaHQgPSAnbm9uZSc7CgkJbGV0IHRvdGFsSGVpZ2h0ID0gbmF2LnNjcm9sbEhlaWdodDsKCQluYXYuc3R5bGUubWF4SGVpZ2h0ID0gZHJvcGRvd25NYXhIZWlnaHQ7CgoJCWNvbnN0IG9wZW5GbHlvdXRzID0gdGhpcy5nZXRPcGVuRmx5b3V0c0luRHJvcGRvd24obmF2KTsKCQlmb3IgKGNvbnN0IGZseW91dCBvZiBvcGVuRmx5b3V0cykgewoJCQl0b3RhbEhlaWdodCArPSBmbHlvdXQuc2Nyb2xsSGVpZ2h0OwoJCX0KCgkJcmV0dXJuIHRvdGFsSGVpZ2h0OwoJfQoKCS8vIFRoaXMgbWV0aG9kIG1hdGNoZXMgdGhlIGRyb3Bkb3duIGhlaWdodCB3aGVuIGEgZmx5b3V0IGlzIG9wZW5lZAoJY2FsY3VsYXRlRHJvcGRvd25FeHRyYUhlaWdodChmbHlvdXQpIHsKCQljb25zdCBwYXJlbnREcm9wZG93biA9IHRoaXMuZ2V0UGFyZW50RHJvcGRvd24oZmx5b3V0KTsKCQlpZiAoIXBhcmVudERyb3Bkb3duKSByZXR1cm47CgoJCWNvbnN0IGJ1dHRvbiA9IHRoaXMuYXJlYVRyaWdnZXJNYXAuZ2V0KHBhcmVudERyb3Bkb3duKTsKCQlpZiAoYnV0dG9uPy5nZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnKSA9PT0gJ3RydWUnKSB7CgkJCWNvbnN0IGhlaWdodCA9IHRoaXMuY2FsY3VsYXRlTmF2SGVpZ2h0KHBhcmVudERyb3Bkb3duKTsKCQkJcGFyZW50RHJvcGRvd24uc3R5bGUubWF4SGVpZ2h0ID0gYCR7aGVpZ2h0fXB4YDsKCQl9Cgl9CgoJdG9nZ2xlQXJlYU5hdihidXR0b24pIHsKCQl0aGlzLmNsZWFySG92ZXJUaW1lb3V0KGJ1dHRvbik7CgoJCWNvbnN0IGlzT3BlbiA9IGJ1dHRvbi5nZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnKSA9PT0gJ3RydWUnOwoJCXRoaXMuc2V0QXJlYU5hdlN0YXRlKGJ1dHRvbiwgIWlzT3Blbik7CgkJaWYgKCFpc09wZW4pIHsKCQkJdGhpcy5jbG9zZVNpYmxpbmdOYXYoYnV0dG9uKTsKCQkJdGhpcy5oYW5kbGVNb2JpbGVNZW51Rm9jdXMoYnV0dG9uKTsKCQl9Cgl9CgoJaGFuZGxlTW9iaWxlTWVudUZvY3VzKGJ1dHRvbikgewoJCWNvbnN0IGlzTW9iaWxlTWVudU9wZW4gPQoJCQl0aGlzLm5hdkVsLmdldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcpID09PSAndHJ1ZSc7CgkJaWYgKCFpc01vYmlsZU1lbnVPcGVuKSByZXR1cm47CgoJCWNvbnN0IG5hdiA9IHRoaXMuYnV0dG9uTmF2TWFwLmdldChidXR0b24pOwoJCWNvbnN0IGl0ZW
13861zID0gdGhpcy5hcmVhRm9jdXNNYXAuZ2V0KG5hdik7CgkJaWYgKCFpdGVtcz8ubGVuZ3RoKSByZXR1cm47CgoJCWNvbnN0IGZvY3VzRmlyc3RJdGVtID0gKCkgPT4gewoJCQlpdGVtc1swXS5mb2N1cygpOwoJCX07CgoJCWNvbnN0IHJlbW92ZUxpc3RlbmVycyA9ICgpID0+IHsKCQkJbmF2LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RyYW5zaXRpb25lbmQnLCBmb2N1c0ZpcnN0SXRlbSk7CgkJCW5hdi5yZW1vdmVFdmVudExpc3RlbmVyKCdhbmltYXRpb25lbmQnLCBmb2N1c0ZpcnN0SXRlbSk7CgkJfTsKCgkJbmF2LmFkZEV2ZW50TGlzdGVuZXIoJ3RyYW5zaXRpb25lbmQnLCBmb2N1c0ZpcnN0SXRlbSwgeyBvbmNlOiB0cnVlIH0pOwoJCW5hdi5hZGRFdmVudExpc3RlbmVyKCdhbmltYXRpb25lbmQnLCBmb2N1c0ZpcnN0SXRlbSwgeyBvbmNlOiB0cnVlIH0pOwoKCQlzZXRUaW1lb3V0KCgpID0+IHsKCQkJcmVtb3ZlTGlzdGVuZXJzKCk7CgkJCWZvY3VzRmlyc3RJdGVtKCk7CgkJfSwgMTAwKTsKCX0KCgljbG9zZVNpYmxpbmdOYXYoY3VycmVudEJ1dHRvbikgewoJCWZvciAoY29uc3QgW2J1dHRvbl0gb2YgdGhpcy5idXR0b25OYXZNYXAuZW50cmllcygpKSB7CgkJCWlmICgKCQkJCWJ1dHRvbiAhPT0gY3VycmVudEJ1dHRvbiAmJgoJCQkJYnV0dG9uLmNsb3Nlc3QoJ3VsJykgPT09IGN1cnJlbnRCdXR0b24uY2xvc2VzdCgndWwnKSAmJgoJCQkJYnV0dG9uLmdldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcpID09PSAndHJ1ZScKCQkJKSB7CgkJCQl0aGlzLnNldEFyZWFOYXZTdGF0ZShidXR0b24sIGZhbHNlKTsKCQkJfQoJCX0KCX0KCgljbG9zZUFsbE5hdnMoKSB7CgkJZm9yIChjb25zdCBbYnV0dG9uXSBvZiB0aGlzLmJ1dHRvbk5hdk1hcC5lbnRyaWVzKCkpIHsKCQkJdGhpcy5zZXRBcmVhTmF2U3RhdGUoYnV0dG9uLCBmYWxzZSk7CgkJfQoJfQoKCWNsb3NlTmF2QW5kUmV0dXJuRm9jdXMoYXJlYSkgewogICAgICBjb25zb2xlLmxvZygnY2xvc2VOYXZBbmRSZXR1cm5Gb2N1cyBjYWxsZWQnKQoJCWNvbnN0IGJ1dHRvbiA9IHRoaXMuYXJlYVRyaWdnZXJNYXAuZ2V0KGFyZWEpOwoJCWlmIChidXR0b24pIHsKCQkJdGhpcy5zZXRBcmVhTmF2U3RhdGUoYnV0dG9uLCBmYWxzZSk7CgkJCWJ1dHRvbi5mb2N1cygpOwoJCX0KCX0KCglmb2N1c0ZpcnN0Q2hpbGROY
1386XZJdGVtSWZPcGVuKGJ1dHRvbikgewoJCWNvbnN0IG5hdiA9IHRoaXMuZ2V0T3Blbk5hdkZyb21CdXR0b24oYnV0dG9uKTsKCQlpZiAoIW5hdikgcmV0dXJuIHsgZm9jdXNlZDogZmFsc2UsIHR5cGU6IG51bGwgfTsKCgkJY29uc3QgaXRlbXMgPSB0aGlzLmFyZWFGb2N1c01hcC5nZXQobmF2KTsKCQlpZiAoaXRlbXM/Lmxlbmd0aCkgaXRlbXNbMF0uZm9jdXMoKTsKCgkJY29uc3QgdHlwZSA9IG5hdi5jbGFzc0xpc3QuY29udGFpbnMoJ2V0Y2gtbmF2X19mbHlvdXQnKQoJCQk/ICdmbHlvdXQnCgkJCTogJ2Ryb3Bkb3duJzsKCQlyZXR1cm4geyBmb2N1c2VkOiB0cnVlLCB0eXBlIH07Cgl9CgoJbW92ZUZvY3VzKGl0ZW1zLCBkaXJlY3Rpb24pIHsKCQljb25zdCBhY3RpdmUgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50OwoJCWxldCBpbmRleCA9IGl0ZW1zLmluZGV4T2YoYWN0aXZlKTsKCQlpZiAoaW5kZXggPT09IC0xKSBpbmRleCA9IDA7CgoJCWxldCBuZXh0ID0gaW5kZXggKyBkaXJlY3Rpb247CgkJaWYgKG5leHQgPj0gaXRlbXMubGVuZ3RoKSBuZXh0ID0gMDsKCQlpZiAobmV4dCA8IDApIG5leHQgPSBpdGVtcy5sZW5ndGggLSAxOwoKCQlpdGVtc1tuZXh0XT8uZm9jdXM/LigpOwoJfQoKCWhhbmRsZUZvY3VzSW4oZSkgewoJCWNvbnN0IG5ld2x5Rm9jdXNlZEVsZW1lbnQgPSBlLnRhcmdldDsKCQljb25zdCBpc1RvcExldmVsSXRlbSA9CgkJCXRoaXMudG9wTGV2ZWxOYXZJdGVtcy5pbmNsdWRlcyhuZXdseUZvY3VzZWRFbGVtZW50KTsKCgkJY29uc3QgaXNJbk9wZW5OYXYgPSBbLi4udGhpcy5idXR0b25OYXZNYXAuZW50cmllcygpXS5zb21lKAoJCQkoW2J0biwgbmF2XSkgPT4gewoJCQkJY29uc3QgaXNCdXR0b25PcGVuID0KCQkJCQlidG4uZ2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJykgPT09ICd0cnVlJzsKCQkJCWNvbnN0IGlzV2l0aGluTmF2ID0KCQkJCQluYXYuY29udGFpbnMobmV3bHlGb2N1c2VkRWxlbWVudCkgfHwKCQkJCQlidG4gPT09IG5ld2x5Rm9jdXNlZEVsZW1lbnQ7CgoJCQkJcmV0dXJuIGlzQnV0dG9uT3BlbiAmJiBpc1dpdGhpbk5hdjsKCQkJfQoJCSk7CgoJCWlmIChpc1RvcExldmVsSXRlbSAmJiAhaXNJbk9wZW5OYXYpIHsKCQkJdGhpcy5jbG9zZUFsbE5hdnMoKTsKCQl9Cgl9CgoJYXR0YWNoRXZlbnRMaXN0ZW5lcnMoKSB7CgkJdGhpcy5hdHRhY2hDbGlja0V2ZW50TGlzdGVuZXJzKCk7CgkJdGhpcy5hdHRhY2hIb3ZlckV2ZW50TGlzdGVuZXJzKCk7CgoJCXRoaXMubmF2RWwuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChlKSA9PiB0aGlzLmhhbmRsZUtleURvd24oZSkpOwoJCXRoaXMubmF2RWwuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXNpbicsIChlKSA9PiB0aGlzLmhhbmRsZUZvY3VzSW4oZSkpOwoKCQlpZiAoWydjbGljaycsICdjbGljay1zdWItaG92ZXInXS5pbmNsdWRlcyh0aGlzLmludGVyYWN0aW9uTW9kZSkpIHsKCQkJdGhpcy5hdHRhY2hDbGlja091dHNpZGVMaXN0ZW5lcigpOwoJCX0KCX0KCglhdHRhY2hDbGlja0V2ZW50TGlzdGVuZXJzKCkgewoJCVsuLi50aGlzLmRyb3Bkb3duQnV0dG9ucywgLi4udGhpcy5mbHlvdXRCdXR0b25zXS5mb3JFYWNoKChidG4pID0+CgkJCWJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMudG9nZ2xlQXJlYU5hdihidG4pKQoJCSk7Cgl9CgoJYXR0YWNoSG92ZXJFdmVudExpc3RlbmVycygpIHsKCQlpZiAodGhpcy5pc1RvdWNoRGV2aWNlIHx8IHRoaXMuaW50ZXJhY3Rpb25Nb2RlID09PSAnY2xpY2snKSByZXR1cm47CgoJCWNvbnN0IGJ1dHRvbnNUb0hvdmVyID0KCQkJdGhpcy5pbnRlcmFjdGlvbk1vZGUgPT09ICdjbGljay1zdWItaG92ZXInCgkJCQk/IHRoaXMuZmx5b3V0QnV0dG9ucwoJCQkJOiBbLi4udGhpcy5kcm9wZG93bkJ1dHRvbnMsIC4uLnRoaXMuZmx5b3V0QnV0dG9uc107CgoJCWJ1dHRvbnNUb0hvdmVyLmZvckVhY2goKGJ1dHRvbikgPT4gewoJCQljb25zdCBuYXYgPSB0aGlzLmJ1dHRvbk5hdk1hcC5nZXQoYnV0dG9uKTsKCQkJaWYgKCFuYXYpIHJldHVybjsKCgkJCWNvbnN0IGNsZWFyID0gKCkgPT4gdGhpcy5jbGVhckhvdmVyVGltZW91dChidXR0b24pOwoJCQljb25zdCBzY2hlZHVsZSA9ICgpID0+IHRoaXMuc2NoZWR1bGVIb3ZlclRpbWVvdXQoYnV0dG9uLCBuYXYpOwoKCQkJYnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCAoKSA9PiB7CgkJCQljb25zdCBpc09wZW4gPSBidXR0b24uZ2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJykgPT09ICd0cnVlJzsKCQkJCWlmICghaXNPcGVuKSB0aGlzLnNldEFyZWFOYXZTdGF0ZShidXR0b24sIHRydWUpOwoJCQl9KTsKCgkJCWJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgc2NoZWR1bGUpOwoJCQluYXYuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsIHNjaGVkdWxlKTsKCQkJbmF2LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCBjbGVhcik7CgkJfSk7Cgl9CgoJYXR0YWNoQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKSB7CgkJdGhpcy5fb25DbGlja091dHNpZGUgPSAoZSkgPT4gewoJCQlpZiAoIXRoaXMubmF2RWwuY29udGFpbnMoZS50YXJnZXQpKSB7CgkJCQl0aGlzLmNsb3NlQWxsTmF2cygpOwoJCQl9CgkJfTsKCgkJZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLl9vbkNsaWNrT3V0c2lkZSk7Cgl9CgoJc2NoZWR1bGVIb3ZlclRpbWVvdXQoYnV0dG9uLCBuYXYpIHsKCQl0aGlzLmNsZWFySG92ZXJUaW1lb3V0KGJ1dHRvbik7CgoJCWNvbnN0IHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHsKCQkJY29uc3QgaXNIb3ZlcmluZyA9CgkJCQlidXR0b24ubWF0Y2hlcygnOmhvdmVyJykgfHwKCQkJCW5hdi5tYXRjaGVzKCc6aG92ZXInKSB8fAoJCQkJbmF2LmNvbnRhaW5zKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJzpob3ZlcicpKTsKCgkJCWlmICghaXNIb3ZlcmluZykgdGhpcy5zZXRBcmVhTmF2U3RhdGUoYnV0dG9uLCBmYWxzZSk7CgkJCXRoaXMuaG92ZXJUaW1lb3V0cy5kZWxldGUoYnV0dG9uKTsKCQl9LCAyNSk7CgoJCXRoaXMuaG92ZXJUaW1lb3V0cy5zZXQoYnV0dG9uLCB0aW1lb3V0KTsKCX0KCgljbGVhckhvdmVyVGltZW91dChidXR0b24pIHsKCQlpZiAodGhpcy5ob3ZlclRpbWVvdXRzLmhhcyhidXR0b24pKSB7CgkJCWNsZWFyVGltZW91dCh0aGlzLmhvdmVyVGltZW91dHMuZ2V0KGJ1dHRvbikpOwoJCQl0aGlzLmhvdmVyVGltZW91dHMuZGVsZXRlKGJ1dHRvbik7CgkJfQoJfQoKCWhhbmRsZUtleURvd24oZSkgewoJCWNvbnN0IHsga2V5LCB0YXJnZXQgfSA9IGU7CgkJY29uc3QgeyB0eXBlLCBpdGVtcywgYXJlYSB9ID0gdGhpcy5nZXRDb250ZXh0Rm9yVGFyZ2V0KHRhcmdldCk7CgoJCXN3aXRjaCAoa2V5KSB7CgkJCWNhc2UgJ0Fycm93UmlnaHQnOgoJCQljYXNlICdBcnJvd0xlZnQnOgoJCQljYXNlICdBcnJvd1VwJzoKCQkJY2FzZSAnQXJyb3dEb3duJzoKCQkJCWUucHJldmVudERlZmF1bHQoKTsKCQkJCXRoaXMuaGFuZGxlRGlyZWN0aW9uYWxBcnJvdyhrZXksIHR5cGUsIGl0ZW
13861zLCB0YXJnZXQsIGFyZWEpOwoJCQkJYnJlYWs7CgkJCWNhc2UgJ1RhYic6CgkJCQlpZiAoZS5zaGlmdEtleSAmJiBhcmVhICYmIGl0ZW1zLmluZGV4T2YodGFyZ2V0KSA9PT0gMCkgewoJCQkJCWUucHJldmVudERlZmF1bHQoKTsKCQkJCQl0aGlzLmNsb3NlTmF2QW5kUmV0dXJuRm9jdXMoYXJlYSk7CgkJCQl9CgkJCQlicmVhazsKCQkJY2FzZSAnRW50ZXInOgoJCQljYXNlICcgJzoKCQkJCWlmICh0aGlzLmJ1dHRvbk5hdk1hcC5oYXModGFyZ2V0KSkgewoJCQkJCWUucHJldmVudERlZmF1bHQoKTsKCQkJCQl0aGlzLnRvZ2dsZUFyZWFOYXYodGFyZ2V0KTsKCQkJCX0KCQkJCWJyZWFrOwoJCQljYXNlICdFc2NhcGUnOgoJCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKCQkJCXRoaXMuaGFuZGxlRXNjYXBlS2V5KGFyZWEpOwoJCQkJYnJlYWs7CgkJfQoJfQoKCWhhbmRsZUVzY2FwZUtleShhcmVhKSB7CgkJaWYgKGFyZWEpIHsKICAgICAgICAgIGNvbnNvbGUubG9nKCdhcmVhIGlzJywgYXJlYSkKCQkJdGhpcy5jbG9zZU5hdkFuZFJldHVybkZvY3VzKGFyZWEpOwoJCX0gZWxzZSB7CiAgICAgICAgICBjb25zb2xlLmxvZygnYXJlYSBzaG91bGQgbm90IGJlJykKCQkJdGhpcy5jbG9zZUFsbE5hdnMoKTsKCQl9Cgl9CgoJaGFuZGxlRGlyZWN0aW9uYWxBcnJvdyhrZXksIHR5cGUsIGl0ZW1zLCB0YXJnZXQsIGFyZWEpIHsKCQljb25zdCBpbmRleCA9IGl0ZW1zLmluZGV4T2YodGFyZ2V0KTsKCQljb25zdCBpc0ZpcnN0ID0gaW5kZXggPT09IDA7CgoJCXN3aXRjaCAoa2V5KSB7CgkJCWNhc2UgJ0Fycm93UmlnaHQnOgoJCQkJaWYgKHR5cGUgPT09ICd0b3AtbGV2ZWwnIHx8IHR5cGUgPT09ICdmbHlvdXQnKSB7CgkJCQkJdGhpcy5tb3ZlRm9jdXMoaXRlbXMsIDEpOwoJCQkJfSBlbHNlIGlmICh0eXBlID09PSAnZHJvcGRvd24nKSB7CgkJCQkJY29uc3QgeyBmb2N1c2VkLCB0eXBlOiBuZXh0VHlwZSB9ID0KCQkJCQkJdGhpcy5mb2N1c0ZpcnN0Q2hpbGROY
1386XZJdGVtSWZPcGVuKHRhcmdldCk7CgkJCQkJaWYgKCFmb2N1c2VkIHx8IG5leHRUeXBlICE9PSAnZmx5b3V0JykKCQkJCQkJdGhpcy5tb3ZlRm9jdXMoaXRlbXMsIDEpOwoJCQkJfQoJCQkJYnJlYWs7CgkJCWNhc2UgJ0Fycm93TGVmdCc6CgkJCQlpZiAodHlwZSA9PT0gJ3RvcC1sZXZlbCcgfHwgdHlwZSA9PT0gJ2Ryb3Bkb3duJykgewoJCQkJCXRoaXMubW92ZUZvY3VzKGl0ZW1zLCAtMSk7CgkJCQl9IGVsc2UgaWYgKHR5cGUgPT09ICdmbHlvdXQnKSB7CgkJCQkJaWYgKCFpc0ZpcnN0KSB0aGlzLm1vdmVGb2N1cyhpdGVtcywgLTEpOwoJCQkJCWVsc2UgdGhpcy5jbG9zZU5hdkFuZFJldHVybkZvY3VzKGFyZWEpOwoJCQkJfQoJCQkJYnJlYWs7CgkJCWNhc2UgJ0Fycm93VXAnOgoJCQkJaWYgKHR5cGUgPT09ICdkcm9wZG93bicpIHsKCQkJCQlpZiAoIWlzRmlyc3QpIHRoaXMubW92ZUZvY3VzKGl0ZW1zLCAtMSk7CgkJCQkJZWxzZSB0aGlzLmNsb3NlTmF2QW5kUmV0dXJuRm9jdXMoYXJlYSk7CgkJCQl9IGVsc2UgaWYgKHR5cGUgPT09ICdmbHlvdXQnKSB7CgkJCQkJdGhpcy5tb3ZlRm9jdXMoaXRlbXMsIC0xKTsKCQkJCX0KCQkJCWJyZWFrOwoJCQljYXNlICdBcnJvd0Rvd24nOgoJCQkJaWYgKHR5cGUgPT09ICd0b3AtbGV2ZWwnKSB7CgkJCQkJdGhpcy5mb2N1c0ZpcnN0Q2hpbGROYXZJdGVtSWZPcGVuKHRhcmdldCk7CgkJCQl9IGVsc2UgewoJCQkJCXRoaXMubW92ZUZvY3VzKGl0ZW1zLCAxKTsKCQkJCX0KCQkJCWJyZWFrOwoJCX0KCX0KfQoKZnVuY3Rpb24gaW5zdGFudGlhdGVOYXZDbGFzcyhvcHRpb25zID0ge30pIHsKCS8vIGV0Y2ggbmF2IGVsZW1lbnQgKCBpZiB5b3UgY2hhbmdlZCB0aGUgZGF0YS1ldGNoLW5hdiBhdHRyaWJ1dGUgdmFsdWUgaW4gaHRtbCwgaXQgbmVlZCB0byBiZSByZWZsZWN0ZWQgaGVyZSBhcyB3ZWxsKQoJY29uc3QgbmF2RWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdbZGF0YS1ldGNoLW5hdj0ibWFpbiJdJyk7CgoJaWYgKCFuYXZFbCkgewoJCWNvbnNvbGUuZXJyb3IoCgkJCSdDYW5ub3QgZmluZCBOYXYgZWxlbWVudCwgaXMgdGhlIFtkYXRhLWV0Y2gtbmF2PSIiXSBhdHRyaWJ1dGUgY29ycmVjdD8nCgkJKTsKCQlyZXR1cm47Cgl9CgoJLy8gY3JlYXRlIGFuIGluc3RhbmNlIG9mIHRoZSBuYXYgc2NyaXB0Cgljb25zdCBuYXZJbnN0YW5jZSA9IG5ldyBFdGNoTmF2U2NyaXB0KG5hdkVsLCBvcHRpb25zKTsKCgkvLyB1c2UgZXRjaEVsZW1lbnRzIHdpbmRvdyBvYmplY3Qgb3IgY3JlYXRlIGEgbmV3IG9uZSBpZiBkb2VzbnQgZXhpc3QKCXdpbmRvdy5ldGNoRWxlbWVudHMgPSB3aW5kb3cuZXRjaEVsZW1lbnRzIHx8IFtdOwoJLy8gY3JlYXRlIGFuIGluc3RhbmNlIG9mIG5hdkluc3RhbmNlIG9uIHRoZSB3aW5kb3cKCXdpbmRvdy5ldGNoRWxlbWVudHMuZXRjaE5hdiA9IG5hdkluc3RhbmNlOwp9CgppbnN0YW50aWF0ZU5hdkNsYXNzKHsKCWFyaWFDdXJyZW50UGFnZTogdHJ1ZQp9KTsK"></script>
1386<script id="etch-script-40tdb" type="module" defer src="data:text/javascript;base64,Y2xhc3MgRXRjaERpYWxvZyB7CgkvLyBTdGF0aWMgQ29uc3RhbnRzCglzdGF0aWMgU0VMRUNUT1JTID0gewoJCUNMT1NFX0JUTjogJy5ldGNoLWRpYWxvZ19fY2xvc2UnCgl9OwoKCXN0YXRpYyBBVFRSSUJVVEVTID0gewoJCVBMQUNFTUVOVDogJ2RhdGEtZXRjaC1kaWFsb2ctcGxhY2VtZW50JywKCQlUUklHR0VSX1NFTEVDVE9SOiAnZGF0YS1ldGNoLWRpYWxvZy10cmlnZ2VyLXNlbGVjdG9yJywKCQlFRElUT1JfVE9HR0xFOiAnZGF0YS1ldGNoLWRpYWxvZy1lZGl0b3ItdG9nZ2xlJywKCQlESUFMT0dfSUQ6ICdkYXRhLWV0Y2gtZGlhbG9nLWlkJywKCQlDTE9TRV9CWTogJ2Nsb3NlZGJ5JwoJfTsKCglzdGF0aWMgREVGQVVMVFMgPSB7CgkJUExBQ0VNRU5UOiAnY2VudGVyJwoJfTsKCglzdGF0aWMgQ0xPU0VfTUVUSE9EUyA9IHsKCQlBTlk6ICdhbnknLAoJCUNMT1NFX1JFUVVFU1Q6ICdjbG9zZXJlcXVlc3QnLAoJCU5PTkU6ICdub25lJwoJfTsKCgljb25zdHJ1Y3RvcihkaWFsb2dFbCwgb3B0aW9ucyA9IHt9KSB7CgkJdGhpcy5kaWFsb2dFbCA9IGRpYWxvZ0VsOwoJCXRoaXMub3B0aW9ucyA9IG9wdGlvbnM7CgkJdGhpcy50cmlnZ2VyRWwgPSBudWxsOwoJCXRoaXMuaW5FdGNoID0KCQkJd2luZG93ICE9PSB3aW5kb3cudG9wICYmIHdpbmRvdy5mcmFtZUVsZW1lbnQ/LmlkID09PSAnZXRjaC1pZnJhbWUnOwoKCQl0aGlzLmluaXQoKTsKCX0KCglpbml0KCkgewoJCWlmICghdGhpcy5kaWFsb2dFbCkgcmV0dXJuIGNvbnNvbGUuZXJyb3IoJ0Nhbm5vdCBmaW5kIERpYWxvZyBlbGVtZW50Jyk7CgoJCS8vIG9ubHkgYSBmYWxsYmFjayBpbiBjYXNlIHRoZSBwbGFjZW1lbnQgaXMgbm90IHNldCBvciBjb3JydXB0LgoJCXRoaXMuc2V0SW5pdGlhbFBsYWNlbWVudCgpOwoJCXRoaXMuZ2V0VHJpZ2dlckVsKCk7CgkJdGhpcy5hdHRhY2hFdmVudExpc3RlbmVycygpOwoKCQkvLyBTZXR1cCB0b2dnbGUgZnVuY3Rpb25hbGl0eSB3aGVuIGluc2lkZSBFdGNoIGVkaXRvcgoJCWlmICh0aGlzLmluRXRjaCkgewoJCQl0aGlzLnRvZ2dsZUluRXRjaCgpOwoJCX0KCX0KCgl0b2dnbGVJbkV0Y2goKSB7CgkJLy8gVXNlIE11dGF0aW9uT2JzZXJ2ZXIgdG8gd2F0Y2ggZm9yIGNoYW5nZXMgdG8gdGhlIGRhdGEtZXRjaC1kaWFsb2ctZWRpdG9yLXRvZ2dsZSBhdHRyaWJ1dGUKCQljb25zdCBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnMpID0+IHsKCQkJbXV0YXRpb25zLmZvckVhY2goKG11dGF0aW9uKSA9PiB7CgkJCQlpZiAoCgkJCQkJbXV0YXRpb24udHlwZSA9PT0gJ2F0dHJpYnV0ZXMnICYmCgkJCQkJbXV0YXRpb24uYXR0cmlidXRlTmFtZSA9PT0gRXRjaERpYWxvZy5BVFRSSUJVVEVTLkVESVRPUl9UT0dHTEUKCQkJCSkgewoJCQkJCWNvbnN0IHRvZ2dsZVZhbHVlID0KCQkJCQkJdGhpcy5kaWFsb2dFbC5kYXRhc2V0LmV0Y2hEaWFsb2dFZGl0b3JUb2dnbGU7CgoJCQkJCWlmICh0b2dnbGVWYWx1ZSA9PT0gJ3RydWUnKSB7CgkJCQkJCXRoaXMub3BlbigpOwoJCQkJCX0gZWxzZSBpZiAodG9nZ2xlVmFsdWUgPT09ICdmYWxzZScpIHsKCQkJCQkJdGhpcy5jbG9zZSgpOwoJCQkJCX0KCQkJCX0KCQkJfSk7CgkJfSk7CgoJCS8vIFN0YXJ0IG9ic2VydmluZyB0aGUgZGlhbG9nIGVsZW1lbnQgZm9yIGF0dHJpYnV0ZSBjaGFuZ2VzCgkJb2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmRpYWxvZ0VsLCB7CgkJCWF0dHJpYnV0ZXM6IHRydWUsCgkJCWF0dHJpYnV0ZUZpbHRlcjogW0V0Y2hEaWFsb2cuQVRUUklCVVRFUy5FRElUT1JfVE9HR0xFXQoJCX0pOwoKCQkvLyBTdG9yZSB0aGUgb2JzZXJ2ZXIgc28gaXQgY2FuIGJlIGRpc2Nvbm5lY3RlZCBpZiBuZWVkZWQKCQl0aGlzLmV0Y2hUb2dnbGVPYnNlcnZlciA9IG9ic2VydmVyOwoJfQoKCXNldEluaXRpYWxQbGFjZW1lbnQoKSB7CgkJaWYgKCF0aGlzLmRpYWxvZ0VsLmRhdGFzZXQuZXRjaERpYWxvZ1BsYWNlbWVudCkgewoJCQl0aGlzLmRpYWxvZ0VsLmRhdGFzZXQuZXRjaERpYWxvZ1BsYWNlbWVudCA9IEV0Y2hEaWFsb2cuREVGQVVMVFMuUExBQ0VNRU5UOwoJCX0KCX0KCglnZXRDbG9zZUJ0bigpIHsKCQljb25zdCBjbG9zZUJ0bkVsID0gdGhpcy5kaWFsb2dFbC5xdWVyeVNlbGVjdG9yKAoJCQlFdGNoRGlhbG9nLlNFTEVDVE9SUy5DTE9TRV9CVE4KCQkpOwoJCWlmICghY2xvc2VCdG5FbCkgewoJCQlyZXR1cm4gdW5kZWZpbmVkOwoJCX0KCQlyZXR1cm4gY2xvc2VCdG5FbDsKCX0KCglnZXRUcmlnZ2VyRWwoKSB7CgkJbGV0IHRyaWdnZXJTZWxlY3RvciA9IHRoaXMuZGlhbG9nRWwuZ2V0QXR0cmlidXRlKAoJCQlFdGNoRGlhbG9nLkFUVFJJQlVURVMuVFJJR0dFUl9TRUxFQ1RPUgoJCSk7CgkJaWYgKCF0cmlnZ2VyU2VsZWN0b3IpIHJldHVybjsKCgkJY29uc3QgdHJpbW1lZFNlbGVjdG9yID0gdHJpZ2dlclNlbGVjdG9yLnRyaW0oKTsKCQlpZiAodHJpbW1lZFNlbGVjdG9yID09PSAnJykgcmV0dXJuOwoKCQl0cmlnZ2VyU2VsZWN0b3IgPSB0cmltbWVkU2VsZWN0b3I7CgkJY29uc3QgdHJpZ2dlckVsID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0cmlnZ2VyU2VsZWN0b3IpOwoJCXRoaXMudHJpZ2dlckVsID0gdHJpZ2dlckVsOwoJCWlmICghdGhpcy50cmlnZ2VyRWwpIHsKCQkJY29uc29sZS5lcnJvcigKCQkJCWBDYW5ub3QgZmluZCBUcmlnZ2VyIGVsZW1lbnQsIGlzIHRoZSAke3RyaWdnZXJTZWxlY3Rvcn0gc2VsZWN0b3IgY29ycmVjdD9gCgkJCSk7CgkJCXJldHVybjsKCQl9Cgl9CgoJZ2V0Q2xvc2VNZXRob2QoKSB7CgkJY29uc3QgdmFsdWUgPSB0aGlzLmRpYWxvZ0VsLmdldEF0dHJpYnV0ZShFdGNoRGlhbG9nLkFUVFJJQlVURVMuQ0xPU0VfQlkpOwoJCXJldHVybiB2YWx1ZSA9PT0gRXRjaERpYWxvZy5DTE9TRV9NRVRIT0RTLkNMT1NFX1JFUVVFU1QgfHwgdmFsdWUgPT09IEV0Y2hEaWFsb2cuQ0xPU0VfTUVUSE9EUy5OT05FIAoJCQk/IHZhbHVlIAoJCQk6IEV0Y2hEaWFsb2cuQ0xPU0VfTUVUSE9EUy5BTlk7Cgl9CgoJY2xvc2VCeUFueSgpIHsKCQl0aGlzLmRpYWxvZ0VsLmFkZEV2ZW50TGlzdGVuZXIoJ2NhbmNlbCcsICgpID0+IHRoaXMuY2xvc2UoKSk7Cgl9CgoJY2xvc2VCeUNsb3NlUmVxdWVzdCgpIHsKCQl0aGlzLmRpYWxvZ0VsLmFkZEV2ZW50TGlzdGVuZXIoJ2NhbmNlbCcsICgpID0+IHRoaXMuY2xvc2UoKSk7Cgl9CgoJY2xvc2VCeU5vbmUoKSB7CgkJdGhpcy5kaWFsb2dFbC5hZGRFdmVudExpc3RlbmVyKCdjYW5jZWwnLCAoZSkgPT4gZS5wcmV2ZW50RGVmYXVsdCgpKTsKCX0KCglhdHRhY2hFdmVudExpc3RlbmVycygpIHsKCQkvLyBEb24ndCBhdHRhY2ggdHJpZ2dlciBsaXN0ZW5lciB3aGVuIGluIEV0Y2ggZWRpdG9yCgkJaWYgKHRoaXMudHJpZ2dlckVsICYmICF0aGlzLmluRXRjaCkgewoJCQl0aGlzLnNldFRyaWdnZXJFdmVudExpc3RlbmVyKCk7Cg
1386kJfQoKCQljb25zdCBjbG9zZU1ldGhvZCA9IHRoaXMuZ2V0Q2xvc2VNZXRob2QoKTsKCQlpZiAoIXRoaXMuaW5FdGNoKSB7CgkJCWlmIChjbG9zZU1ldGhvZCA9PT0gRXRjaERpYWxvZy5DTE9TRV9NRVRIT0RTLkFOWSkgdGhpcy5jbG9zZUJ5QW55KCk7CgkJCWlmIChjbG9zZU1ldGhvZCA9PT0gRXRjaERpYWxvZy5DTE9TRV9NRVRIT0RTLkNMT1NFX1JFUVVFU1QpIHRoaXMuY2xvc2VCeUNsb3NlUmVxdWVzdCgpOwoJCQlpZiAoY2xvc2VNZXRob2QgPT09IEV0Y2hEaWFsb2cuQ0xPU0VfTUVUSE9EUy5OT05FKSB0aGlzLmNsb3NlQnlOb25lKCk7CgkJCXRoaXMuc2V0Q2xvc2VFdmVudExpc3RlbmVyKCk7CgkJfSBlbHNlIHsKCQkJdGhpcy5jbG9zZUJ5Tm9uZSgpOwoJCX0KCX0KCglzZXRUcmlnZ2VyRXZlbnRMaXN0ZW5lcigpIHsKCQl0aGlzLnRyaWdnZXJFbC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMub3BlbigpKTsKCX0KCglzZXRDbG9zZUV2ZW50TGlzdGVuZXIoKSB7CgkJY29uc3QgY2xvc2VCdG5FbCA9IHRoaXMuZ2V0Q2xvc2VCdG4oKTsKCQlpZiAoIWNsb3NlQnRuRWwpIHJldHVybjsKCQljbG9zZUJ0bkVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gdGhpcy5jbG9zZSgpKTsKCX0KCglvcGVuKCkgewoJCWlmICh0eXBlb2YgdGhpcy5kaWFsb2dFbC5zaG93TW9kYWwgPT09ICdmdW5jdGlvbicpIHsKCQkJdGhpcy5kaWFsb2dFbC5zaG93TW9kYWwoKTsKCQkJCgkJCS8vIFJlbW92ZSBhdXRvLWZvY3VzIGZyb20gZGlhbG9nIHRvIHByZXZlbnQgZm9jdXMgaXNzdWVzCgkJCS8vIHdoZW4gdGhlcmUncyBubyBjbG9zZSBidXR0b24gb3IgZm9jdXNhYmxlIGVsZW1lbnRzCgkJCWlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSB0aGlzLmRpYWxvZ0VsKSB7CgkJCQl0aGlzLmRpYWxvZ0VsLmJsdXIoKTsKCQkJfQoJCX0gZWxzZSB7CgkJCWNvbnNvbGUud2FybignPGRpYWxvZz4gbm90IHN1cHBvcnRlZCBpbiB0aGlzIGJyb3dzZXInKTsKCQl9Cgl9CgoJY2xvc2UoKSB7CgkJaWYgKHR5cGVvZiB0aGlzLmRpYWxvZ0VsLmNsb3NlID09PSAnZnVuY3Rpb24nKSB7CgkJCXRoaXMuZGlhbG9nRWwuY2xvc2UoKTsKCQl9Cgl9Cn0KCmZ1bmN0aW9uIGluc3RhbnRpYXRlRGlhbG9nQ2xhc3Mob3B0aW9ucyA9IHt9KSB7Cgljb25zdCBkaWFsb2dOb2RlcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5ldGNoLWRpYWxvZycpOwoJaWYgKCFkaWFsb2dOb2Rlcy5sZW5ndGgpIHJldHVybjsKCgl3aW5kb3cuZXRjaEVsZW1lbnRzID0gd2luZG93LmV0Y2hFbGVtZW50cyB8fCB7fTsKCXdpbmRvdy5ldGNoRWxlbWVudHMuZXRjaERpYWxvZyA9IHdpbmRvdy5ldGNoRWxlbWVudHMuZXRjaERpYWxvZyB8fCB7fTsKCgljb25zdCBkaWFsb2dTZXQgPSBuZXcgU2V0KCk7CgoJZm9yIChjb25zdCBkaWFsb2dFbCBvZiBkaWFsb2dOb2RlcykgewoJCWxldCBkaWFsb2dJZCA9IGRpYWxvZ0VsLmRhdGFzZXQuZXRjaERpYWxvZ0lkOwoKCQlpZiAoZGlhbG9nSWQgPT09IG51bGwgfHwgZGlhbG9nSWQgPT09IHVuZGVmaW5lZCkgewoJCQljb25zb2xlLmVycm9yKAoJCQkJYENhbm5vdCBmaW5kIERpYWxvZyBJRCwgaXMgdGhlICR7RXRjaERpYWxvZy5BVFRSSUJVVEVTLkRJQUxPR19JRH0gYXR0cmlidXRlIHNldD9gCgkJCSk7CgkJCWNvbnRpbnVlOwoJCX0KCgkJZGlhbG9nSWQgPSBkaWFsb2dJZC50cmltKCk7CgkJaWYgKGRpYWxvZ0lkID09PSAnJykgewoJCQljb25zb2xlLmVycm9yKAoJCQkJYEVtcHR5ICR7RXRjaERpYWxvZy5BVFRSSUJVVEVTLkRJQUxPR19JRH0gZm91bmQsIGVhY2ggZGlhbG9nIG11c3QgaGF2ZSBhIG5vbi1lbXB0eSBJRGAKCQkJKTsKCQkJY29udGludWU7CgkJfQoKCQlpZiAoZGlhbG9nU2V0LmhhcyhkaWFsb2dJZCkpIHsKCQkJY29uc29sZS5lcnJvcigKCQkJCWBEdXBsaWNhdGUgJHtFdGNoRGlhbG9nLkFUVFJJQlVURVMuRElBTE9HX0lEfSBmb3VuZDogJHtkaWFsb2dJZH0sIGVhY2ggZGlhbG9nIG11c3QgaGF2ZSBhIHVuaXF1ZSBJRGAKCQkJKTsKCQkJY29udGludWU7CgkJfQoKCQlkaWFsb2dTZXQuYWRkKGRpYWxvZ0lkKTsKCQljb25zdCBkaWFsb2dJbnN0YW5jZSA9IG5ldyBFdGNoRGlhbG9nKGRpYWxvZ0VsLCBvcHRpb25zKTsKCQl3aW5kb3cuZXRjaEVsZW1lbnRzLmV0Y2hEaWFsb2dbZGlhbG9nSWRdID0gZGlhbG9nSW5zdGFuY2U7Cgl9CgoJcmV0dXJuIHdpbmRvdy5ldGNoRWxlbWVudHMuZXRjaERpYWxvZzsKfQoKaW5zdGFudGlhdGVEaWFsb2dDbGFzcygpOwo="></script>
1386<style type="text/css" id="etch-main-default">/* Add your global styles here */</style><style type="text/css" id="etch-custom-media-definitions-custom-media">/* Add your custom media definitions here using @custom-media rules. Example: @custom-media --small-screen (max-width: 600px);*/</style>
1386<script defer src="data:text/javascript;base64,CiAgICAgICAgKGZ1bmN0aW9uIChzLCBlLCBuLCBkLCBlcikgew0KICAgIHNbJ1NlbmRlciddID0gZXI7DQogICAgc1tlcl0gPSBzW2VyXSB8fCBmdW5jdGlvbiAoKSB7DQogICAgICAoc1tlcl0ucSA9IHNbZXJdLnEgfHwgW10pLnB1c2goYXJndW1lbnRzKQ0KICAgIH0sIHNbZXJdLmwgPSAxICogbmV3IERhdGUoKTsNCiAgICB2YXIgYSA9IGUuY3JlYXRlRWxlbWVudChuKSwNCiAgICAgICAgbSA9IGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUobilbMF07DQogICAgYS5hc3luYyA9IDE7DQogICAgYS5zcmMgPSBkOw0KICAgIG0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwgbSkNCiAgfSkod2luZG93LCBkb2N1bWVudCwgJ3NjcmlwdCcsICdodHRwczovL2Nkbi5zZW5kZXIubmV0L2FjY291bnRzX3Jlc291cmNlcy91bml2ZXJzYWwuanMnLCAnc2VuZGVyJyk7DQogIHNlbmRlcignZjA3MjFlNzhkNzg2OTYnKQogICAgICAgIA=="></script>
1386 1387 1388 <link rel='stylesheet' id='automaticcss-core-css' href='https://www.corkchoral.ie/wp-content/uploads/automatic-css/automatic.css?ver=1786473768' media='all' /> 1389<link rel='stylesheet' id='automaticcss-gutenberg-color-palette-css' href='https://www.corkchoral.ie/wp-content/uploads/automatic-css/automatic-gutenberg-color-palette.css?ver=1786473769' media='all' /> 1390<style>.perfmatters-lazy.pmloaded,.perfmatters-lazy.pmloaded>img,.perfmatters-lazy>img.pmloaded,.perfmatters-lazy[data-ll-status=entered]{animation:500ms pmFadeIn}@keyframes pmFadeIn{0%{opacity:0}100%{opacity:1}}</style></head> 1391 1392<body class="wp-singular page-template-default page page-id-640 wp-embed-responsive wp-theme-etch-theme wp-child-theme-etch-child-theme-main translatepress-en_GB edd-js-none"> 1393 <!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 1393-1394
1393 1394<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
1394GTM-T297VHZ
vendor: 83 bytes, line 1394
1394" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
1395<!-- End Google Tag Manager (noscript) --> 1396 <style>.edd-js-none .edd-has-js, .edd-js .edd-no-js, body.edd-js input.edd-no-js { display: none; }</style> 1397
1397<script defer src="data:text/javascript;base64,LyogPCFbQ0RBVEFbICovKGZ1bmN0aW9uKCl7dmFyIGMgPSBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdDtjLnJlbW92ZSgnZWRkLWpzLW5vbmUnKTtjLmFkZCgnZWRkLWpzJyk7fSkoKTsvKiBdXT4gKi8="></script>
1397 1398 1399<a href="#main" class="skip-link">Skip to main content</a><a href="#footer" class="skip-link">Skip to footer</a><header data-etch-element="section" data-overlay-nav="show true" data-overlay-style="" class="header"><div class="top-bar"><div data-etch-element="container" class="top-bar__inner"><ul data-etch-element="flex-div" class="top-bar__links-wrapper"><li><a href="/contact/" aria-label="Go to Contact Us page" class="top-bar__link">Contact Us</a></li><li><a href="mailto:[email protected]" aria-label="Email Cork International Choral Festival at [email protected]" class="top-bar__link">[email protected]</a></li><li><a href="tel:+353214215125" aria-label="Phone Cork International Choral Festival on 0214215125" class="top-bar__link">ð 0214215125</a></li></ul><div class="top-bar__right"><a href="/login/" class="top-bar__link">Login</a>a<div class="trp-shortcode-switcher__wrapper" 1400 style="--bg:#ffffff;--bg-hover:#0000000d;--text:#404040;--text-hover:#1d2327;--border:1px solid #1438521a;--border-width:1px;--border-color:#1438521a;--border-radius:0px;--flag-radius:2px;--flag-size:18px;--aspect-ratio:4/3;--font-size:14px;--transition-duration:0.2s" 1401 role="group" 1402 data-open-mode="hover"> 1403 1404 1405 <!-- ANCHOR (in-flow only; sizing/borders; inert) -->
1406 <div class="trp-language-switcher trp-ls-dropdown trp-shortcode-switcher trp-shortcode-anchor trp-open-on-hover" 1407 aria-hidden="true" 1408 inert 1409 data-no-translation> 1410 <div class="trp-current-language-item__wrapper"> 1411 <a class="trp-language-item trp-language-item__default trp-language-item__current" data-no-translation href="https://www.corkchoral.ie/about/" title="English"><img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/en_GB.svg" class="trp-flag-image" alt role="presentation" /><span class="trp-language-item-name">English</span></a> <svg class="trp-shortcode-arrow" width="20" height="20" viewBox="0 0 20 21" fill="none" aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg"> 1412 <path d="M5 8L10 13L15 8" stroke="var(--text)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 1413 </svg> 1414 </div> 1415 </div> 1416 1417 <!-- OVERLAY (positioned; interactive surface) -->
1418 <div class="trp-language-switcher trp-ls-dropdown trp-shortcode-switcher trp-shortcode-overlay trp-open-on-hover" 1419 role="navigation" 1420 aria-label="Website language selector" 1421 data-no-translation 1422 > 1423 <div class="trp-current-language-item__wrapper"> 1424 <div class="trp-language-item trp-language-item__default trp-language-item__current" data-no-translation role="button" aria-expanded="false" tabindex="0" aria-label="Change language" aria-controls="trp-shortcode-dropdown-6aad60d26198e"><img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/en_GB.svg" class="trp-flag-image" alt role="presentation" /><span class="trp-language-item-name">English</span></div> <svg class="trp-shortcode-arrow" width="20" height="20" viewBox="0 0 20 21" fill="none" aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg"> 1425 <path d="M5 8L10 13L15 8" stroke="var(--text)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 1426 </svg> 1427 </div> 1428 1429 <div class="trp-switcher-dropdown-list" 1430 id="trp-shortcode-dropdown-6aad60d26198e" 1431 role="group" 1432 aria-label="Available languages" 1433 hidden 1434 inert 1435 > 1436 <a class="trp-language-item" href="https://www.corkchoral.ie/bg/%d0%be%d1%82%d0%bd%d0%be%d1%81%d0%bd%d0%be/" title="Bulgarian"> 1437 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/bg_BG.svg" class="trp-flag-image" alt role="presentation" /> <span class="trp-language-item-name" data-no-translation>Bulgarian</span> 1438 </a> 1439 <a class="trp-language-item" href="https://www.corkchoral.ie/cs/o/" title="Czech"> 1440 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/cs_CZ.svg" class="trp-flag-image" alt role="presentation" /> <span class="trp-language-item-name" data-no-translation>Czech</span> 1441 </a> 1442 <a class="trp-language-item" href="https://www.corkchoral.ie/da/om/" title="Danish"> 1443 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/da_DK.svg" class="trp-flag-image" alt role="presentation" /> <span class="trp-language-item-name" data-no-translation>Danish</span> 1444 </a> 1445 <a class="trp-language-item" href="https://www.corkchoral.ie/de/uber/" title="German"> 1446 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/de_DE.svg" class="trp-flag-image" alt role="presentation" /> <span class="trp-language-item-name" data-no-translation>German</span> 1447 </a> 1448 <a class="trp-language-item" href="https://www.corkchoral.ie/el/%cf%83%cf%87%ce%b5%cf%84%ce%b9%ce%ba%ce%ac-%ce%bc%ce%b5/" title="Greek"> 1449 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/el.svg" class="trp-flag-image" alt role="presentation" /> <span class="trp-language-item-name" data-no-translation>Greek</span> 1450 </a> 1451 <a class="trp-language-item" href="https://www.corkchoral.ie/es/acerca-de/" title="Spanish"> 1452 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/es_ES.svg" class="trp-flag-image" alt role="presentation" />
1452 <span class="trp-language-item-name" data-no-translation>Spanish</span> 1453 </a> 1454 <a class="trp-language-item" href="https://www.corkchoral.ie/et/umbes/" title="Estonian"> 1455 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/et.svg" class="trp-flag-image" alt role="presentation" /> <span class="trp-language-item-name" data-no-translation>Estonian</span> 1456 </a> 1457 <a class="trp-language-item" href="https://www.corkchoral.ie/fr/sur-2/" title="French"> 1458 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/fr_FR.svg" class="trp-flag-image" alt role="presentation" /> <span class="trp-language-item-name" data-no-translation>French</span> 1459 </a> 1460 <a class="trp-language-item" href="https://www.corkchoral.ie/hu/rol-rol-2/" title="Hungarian"> 1461 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/hu_HU.svg" class="trp-flag-image" alt role="presentation" /> <span class="trp-language-item-name" data-no-translation>Hungarian</span> 1462 </a> 1463 <a class="trp-language-item" href="https://www.corkchoral.ie/it/di/" title="Italian"> 1464 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/it_IT.svg" class="trp-flag-image" alt role="presentation" /> <span class="trp-language-item-name" data-no-translation>Italian</span> 1465 </a> 1466 <a class="trp-language-item" href="https://www.corkchoral.ie/pl/o/" title="Polish"> 1467 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/pl_PL.svg" class="trp-flag-image" alt role="presentation" /> <span class="trp-language-item-name" data-no-translation>Polish</span> 1468 </a> 1469 <a class="trp-language-item" href="https://www.corkchoral.ie/pt/sobre/" title="Portuguese"> 1470 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/pt_PT.svg" class="trp-flag-image" alt role="presentation" /> <span class="trp-language-item-name" data-no-translation>Portuguese</span> 1471 </a> 1472 <a class="trp-language-item" href="https://www.corkchoral.ie/uk/%d0%bf%d1%80%d0%b8%d0%b1%d0%bb%d0%b8%d0%b7%d0%bd%d0%be/" title="Ukrainian"> 1473 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/uk.svg" class="trp-flag-image" alt role="presentation" /> <span class="trp-language-item-name" data-no-translation>Ukrainian</span> 1474 </a> 1475 </div> 1476 </div> 1477 1478 </div> 1479</div></div></div><div data-etch-element="container" class="header__inner"><a href="/" aria-label="Link to homepage" class="header-logo-link"><img src="https://www.corkchoral.ie/wp-content/uploads/2021/08/cork-international-choral-festival-logo-2020-light-01_compressed.svg" alt="Cork International Choral Festival Logo" class="header-logo--normal" /><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='0'%20height='0'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="Cork International Choral Festival Logo" class="header-logo--inverted perfmatters-lazy" data-src="https://www.corkchoral.ie/wp-content/uploads/2021/08/cork-international-choral-festival-logo-2020-dark-01_compressed.svg" /></a><div class="mobile-navbar-cta"><a href="https://corkinternationalchoralfestival-tickets.corkchoral.ie/shows?_gl=1*kanixp*_gcl_au*OTIzNTQ4MzEwLjE3NzA5MzE2NjI.*_ga*MTc5MjYwMTgzMS4xNzcwOTMxNjYy*_ga_KYTD7HSDPM*czE3NzE4NDQxMTMkbzEzJGcxJHQxNzcxODQ4MjE5JGo2MCRsMCRoMTgxMzMwNjcxOA.." target="_blank" class="btn--secondary btn--xs mobile-navbar-cta__link">Book Tickets</a></div><button aria-expanded="false" aria-label="Open Navigation" class="etch-burger"><span class="etch-burger__lines"></span></button><nav aria-label="Navigation" data-etch-nav="main" aria-expanded="false" data-nav-interaction="hover" class="etch-nav"><ul class="etch-nav__list"><li class="etch-nav__item etch-nav__item--has-dropdown"><button aria-label="open 2026 Festival navigation" aria-haspopup="true" aria-expanded="false" class="etch-nav__button etch-nav__button--dropdown-toggle"><span>2026 Festival</span><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
1479<path fill="currentColor" d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71L8.46 9.17a1 1 0 0 0-1.41 0a1 1 0 0 0 0 1.42l4.24 4.24a1 1 0 0 0 1.42 0L17 10.59a1 1 0 0 0 0-1.42"></path></svg></button><ul aria-label="2026 Festival navigation" data-dropdown-style="Normal" class="etch-nav__dropdown"><li class="etch-nav__item"><a href="/festival_events/" target="" class="etch-nav__link">Events</a></li><li class="etch-nav__item"><a href="/festival_choirs/" target="" class="etch-nav__link">Choirs & Speakers</a></li><li class="etch-nav__item"><a href="/festival_venues/" target="" class="etch-nav__link">Festival Venues</a></li><li class="etch-nav__item"><a href="https://corkinternationalchoralfestival-tickets.corkchoral.ie/shows" target="_blank" class="etch-nav__link">Book Tickets</a></li><li class="etch-nav__item"><a href="/become-a-friend/" target="" class="etch-nav__link">Become a Friend</a></li><li class="etch-nav__item"><a href="/festival-recordings/" target="" class="etch-nav__link">Recordings</a></li></ul></li><li class="etch-nav__item etch-nav__item--has-dropdown"><button aria-label="open Take Part navigation" aria-haspopup="true" aria-expanded="false" class="etch-nav__button etch-nav__button--dropdown-toggle"><span>Take Part</span><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71L8.46 9.17a1 1 0 0 0-1.41 0a1 1 0 0 0 0 1.42l4.24 4.24a1 1 0 0 0 1.42 0L17 10.59a1 1 0 0 0 0-1.42"></path></svg></button><ul aria-label="Take Part navigation" data-dropdown-style="Mega" class="etch-nav__dropdown"><li class="etch-nav__item etch-nav__item--has-flyout"><button aria-label="open International Choirs navigation" aria-haspopup="true" aria-expanded="false" class="etch-nav__button etch-nav__button--flyout-toggle"><span>International Choirs</span><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71L8.46 9.17a1 1 0 0 0-1.41 0a1 1 0 0 0 0 1.42l4.24 4.24a1 1 0 0 0 1.42 0L17 10.59a1 1 0 0 0 0-1.42"></path></svg></button><ul aria-label="International Choirs navigation" class="etch-nav__flyout"><li class="etch-nav__item"><a href="/international-participation/" target="" class="etch-nav__link">International Participation</a></li><li class="etch-nav__item"><a href="https://www.corkchoral.ie/international-participation/international-non-competitive-participation/" target="" class="etch-nav__link">International Non-Competitive Participation</a></li><li class="etch-nav__item"><a href="/international-participation/fleischmann-international-trophy-competition/" target="" class="etch-nav__link">Fleischmann International Trophy Competition</a></li></ul></li><li class="etch-nav__item etch-nav__item--has-flyout"><button aria-label="open National Choirs navigation" aria-haspopup="true" aria-expanded="false" class="etch-nav__button etch-nav__button--flyout-toggle"><span>National Choirs</span><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71L8.46 9.17a1 1 0 0 0-1.41 0a1 1 0 0 0 0 1.42l4.24 4.24a1 1 0 0 0 1.42 0L17 10.59a1 1 0 0 0 0-1.42"></path></svg></button><ul aria-label="National Choirs navigation" class="etch-nav__flyout"><li class="etch-nav__item"><a href="/national-applications/" target="" class="etch-nav__link">National Participation</a></li><li class="etch-nav__item"><a href="/national-applications/national-school-competitions/" target="" class="etch-nav__link">National School Competitions</a></li><li class="etch-nav__item"><a href="/national-applications/national-open-competitions/" target="" class="etch-nav__link">National Open Competitions</a></li><li class="etch-nav__item"><a href="/national-applications/irelands-choir-of-the-year-competition/" target="" class="etch-nav__link">Ireland's Choir of the Year Competition</a></li><li class="etch-nav__item"><a href="/national-applications/workplace-choir-of-the-year-competition/" target="" class="etch-nav__link">Workplace Choir of the Year Competition</a></li><li class="etch-nav__item"><a href="/national-applications/national-non-competitive/" target="" class="etch-nav__link">National Non-Competitive Participation</a></li></ul></li><li class="etch-nav__item etch-nav__item--has-flyout"><button aria-label="open More navigation" aria-haspopup="true" aria-expanded="false" class="etch-nav__button etch-nav__button--flyout-toggle"><span>More</span><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
1479<path fill="currentColor" d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71L8.46 9.17a1 1 0 0 0-1.41 0a1 1 0 0 0 0 1.42l4.24 4.24a1 1 0 0 0 1.42 0L17 10.59a1 1 0 0 0 0-1.42"></path></svg></button><ul aria-label="More navigation" class="etch-nav__flyout"><li class="etch-nav__item"><a href="/volunteer/" target="" class="etch-nav__link">Become a volunteer</a></li><li class="etch-nav__item"><a href="/venue-applications/" target="" class="etch-nav__link">Venue applications</a></li><li class="etch-nav__item"><a href="/sean-o-riada-composition-competition/" target="" class="etch-nav__link">Seán à Riada Composition Competition</a></li><li class="etch-nav__item"><a href="/choral-composition-course/" target="" class="etch-nav__link">Choral Composition Course</a></li><li class="etch-nav__item"><a href="/choral-conducting-course/" target="" class="etch-nav__link">Choral Conducting Course</a></li></ul></li></ul></li><li class="etch-nav__item etch-nav__item--has-dropdown"><button aria-label="open Plan Your Visit navigation" aria-haspopup="true" aria-expanded="false" class="etch-nav__button etch-nav__button--dropdown-toggle"><span>Plan Your Visit</span><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71L8.46 9.17a1 1 0 0 0-1.41 0a1 1 0 0 0 0 1.42l4.24 4.24a1 1 0 0 0 1.42 0L17 10.59a1 1 0 0 0 0-1.42"></path></svg></button><ul aria-label="Plan Your Visit navigation" data-dropdown-style="Normal" class="etch-nav__dropdown"><li class="etch-nav__item"><a href="/accessibility/" target="" class="etch-nav__link">Accessibility</a></li><li class="etch-nav__item"><a href="/accommodation-guide/" target="" class="etch-nav__link">Accommodation & travel guide</a></li><li class="etch-nav__item"><a href="/food-and-drink-trail/" target="" class="etch-nav__link">Food & drink trail</a></li><li class="etch-nav__item"><a href="/things-to-see-and-do/" target="" class="etch-nav__link">See and do</a></li></ul></li><li class="etch-nav__item etch-nav__item--has-dropdown"><button aria-label="open Our Supporters navigation" aria-haspopup="true" aria-expanded="false" class="etch-nav__button etch-nav__button--dropdown-toggle"><span>Our Supporters</span><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71L8.46 9.17a1 1 0 0 0-1.41 0a1 1 0 0 0 0 1.42l4.24 4.24a1 1 0 0 0 1.42 0L17 10.59a1 1 0 0 0 0-1.42"></path></svg></button><ul aria-label="Our Supporters navigation" data-dropdown-style="Normal" class="etch-nav__dropdown"><li class="etch-nav__item"><a href="/sponsorship-opportunities/" target="" class="etch-nav__link">Sponsorship</a></li><li class="etch-nav__item"><a href="/become-a-friend/" target="" class="etch-nav__link">Become a friend</a></li><li class="etch-nav__item"><a href="https://corkinternationalchoralfestival-tickets.corkchoral.ie/ticketbooth/products/donation" target="_blank" class="etch-nav__link">Donate Now</a></li></ul></li><li class="etch-nav__item"><a href="/news/" data-link-style="" target="" class="etch-nav__link">News</a></li><li class="etch-nav__item etch-nav__item--has-dropdown"><button aria-label="open About Us navigation" aria-haspopup="true" aria-expanded="false" class="etch-nav__button etch-nav__button--dropdown-toggle"><span>About Us</span><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71L8.46 9.17a1 1 0 0 0-1.41 0a1 1 0 0 0 0 1.42l4.24 4.24a1 1 0 0 0 1.42 0L17 10.59a1 1 0 0 0 0-1.42"></path></svg></button><ul aria-label="About Us navigation" data-dropdown-style="Normal" class="etch-nav__dropdown"><li class="etch-nav__item"><a href="/about/" target="" class="etch-nav__link">About Us & Future Dates</a></li><li class="etch-nav__item"><a href="/testimonials/" target="" class="etch-nav__link">Testimonials</a></li><li class="etch-nav__item"><a href="/festival-archive/" target="" class="etch-nav__link">Festival Archive</a></li></ul></li><li class="etch-nav__item"><a href="https://corkinternationalchoralfestival-tickets.corkchoral.ie/shows" data-link-style="Button" target="_blank" class="etch-nav__link">Book Tickets</a></li></ul></nav></div></header><main id="main"><section data-etch-element="section" data-header-style="Style 4" class="page-hero"><div data-etch-element="container" class="page-hero__inner"><div data-etch-element="flex-div" class="page-hero__intro"><h1 class="page-hero__heading">Bringing Cork to Life with Song Since 1954 </h1></div><figure class="page-hero__media-wrapper"><img width="1920" height="1280" decoding="async" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1920'%20height='1280'%20viewBox='0%200%201920%201280'%3E%3C/svg%3E" alt class="perfmatters-lazy" data-src="https://www.corkchoral.ie/wp-content/uploads/2024/09/Session-2.jpg" /></figure></div></section> 1480 1481<section data-etch-element="section" class="page-content-section"><div data-etch-element="container"> 1482<p class="has-large-font-size wp-block-paragraph"><strong>Founded in 1954 to be a dynamic force in developing choral music in Ireland, the Cork International Choral Festival is held annually over the five days preceding the first Monday in May in venues across the city, centring around the City Hall, one of the most attractive and acoustically superb venues in Ireland.</strong></p> 1483 1484<p class="wp-block-paragraph">One of Europeâs premier international choral festivals, Cork is noted for its high standards, eclectic and wide-ranging programme, and the friendliness of its welcome.</p> 1485 1486<p class="wp-block-paragraph">Cork welcomes choirs from across the world for a programme of Gala concerts, Schools Concerts, National and International Competitions, and world-class performances, as thousands of participants bring the city to life for a celebration of choral music in all its many forms.</p> 1487 1488<p class="wp-block-paragraph">Each year some of the finest amateur international choirs are selected to compete for the prestigious Fleischmann International Trophy. The selected choirs also participate in a wide range of Festival events, which include Fringe concerts, taking part in our Church Interchange programme across Cork city and county, and informal Public Performances which see choirs popping up throughout Cork in new and unexpected locations throughout the duration of the Festival! The presence of these choirs from throughout the world gives audiences and Irish choirs alike the unique opportunity of hearing a diverse range of concerts and repertoire performed.</p> 1489 1490<p class="wp-block-paragraph">As well as foreign choirs, the Festival annually features up to 100 Adult, Youth and School choirs who participate in National Competitions. Overall the Festival attracts s
1490ome 5,000 participants. The Festival continues to ensure that choral music, representative of many historical and cultural traditions, is brought to the people of Cork and the many visitors who we are delighted to welcome to the city for the event.</p> 1491</div></section> 1492 1493<section data-etch-element="section" class="page-content-section bg--ultra-light"><div data-etch-element="container"><h2>Future Dates</h2><div data-etch-element="flex-div" class="icon-card-alpha bg--dark" data-inline-card="true"><svg data-icon="data-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640" class="icon-card-alpha__icon"><path d="M576 96L528 96L528 133.5L112 250.5L112 224L64 224L64 416L112 416L112 389.5L198.3 413.8C194.2 424.4 192 436 192 448C192 501 235 544 288 544C335 544 374.2 510.2 382.4 465.5L528 506.5L528 544L576 544L576 96zM528 456.6L112 339.6L112 300.3L528 183.3L528 456.6zM335.8 452.4C333.6 476.8 313 496 288 496C261.5 496 240 474.5 240 448C240 440.4 241.8 433.2 244.9 426.9L335.8 452.5z"></path></svg><h3 class="icon-card-alpha__heading">72nd Cork International Choral Festival 2027</h3><p class="icon-card-alpha__text">28 April â 02 May 2027</p><figure class="is-bg"><img fetchpriority="high" decoding="async" sizes="(max-width: 960px) 100vw, 960px" srcset="https://www.corkchoral.ie/wp-content/uploads/2024/12/Quinnton-Finland-1-DONT-USE.jpg 960w, https://www.corkchoral.ie/wp-content/uploads/2024/12/Quinnton-Finland-1-DONT-USE-480x251.jpg 480w, https://www.corkchoral.ie/wp-content/uploads/2024/12/Quinnton-Finland-1-DONT-USE-300x300.jpg 300w, https://www.corkchoral.ie/wp-content/uploads/2024/12/Quinnton-Finland-1-DONT-USE-768x401.jpg 768w" src="https://www.corkchoral.ie/wp-content/uploads/2024/12/Quinnton-Finland-1-DONT-USE.jpg" width="960" height="501" alt="photo of 72nd Cork International Choral Festival 2027 where 28 April â 02 May 2027" /></figure></div><div data-etch-element="flex-div" class="icon-card-alpha bg--dark" data-inline-card="true"><svg data-icon="data-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640" class="icon-card-alpha__icon"><path d="M576 96L528 96L528 133.5L112 250.5L112 224L64 224L64 416L112 416L112 389.5L198.3 413.8C194.2 424.4 192 436 192 448C192 501 235 544 288 544C335 544 374.2 510.2 382.4 465.5L528 506.5L528 544L576 544L576 96zM528 456.6L112 339.6L112 300.3L528 183.3L528 456.6zM335.8 452.4C333.6 476.8 313 496 288 496C261.5 496 240 474.5 240 448C240 440.4 241.8 433.2 244.9 426.9L335.8 452.5z"></path></svg><h3 class="icon-card-alpha__heading">73rd Cork International Choral Festival 2028</h3><p class="icon-card-alpha__text">27 April â 02 May 2028</p><figure class="is-bg"><img decoding="async" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1536'%20height='1138'%20viewBox='0%200%201536%201138'%3E%3C/svg%3E" width="1536" height="1138" alt="photo of 73rd Cork International Choral Festival 2028 where 27 April â 02 May 2028" class="perfmatters-lazy" data-src="https://www.corkchoral.ie/wp-content/uploads/2024/04/jedniezgoda.com_Choral-23_Day-3_30_High-Res-1536x1138.jpg" data-srcset="https://www.corkchoral.ie/wp-content/uploads/2024/04/jedniezgoda.com_Choral-23_Day-3_30_High-Res-480x356.jpg 480w, https://www.corkchoral.ie/wp-content/uploads/2024/04/jedniezgoda.com_Choral-23_Day-3_30_High-Res-1280x948.jpg 1280w, https://www.corkchoral.ie/wp-content/uploads/2024/04/jedniezgoda.com_Choral-23_Day-3_30_High-Res-300x300.jpg 300w, https://www.corkchoral.ie/wp-content/uploads/2024/04/jedniezgoda.com_Choral-23_Day-3_30_High-Res-768x569.jpg 768w, https://www.corkchoral.ie/wp-content/uploads/2024/04/jedniezgoda.com_Choral-23_Day-3_30_High-Res-1536x1138.jpg 1536w" data-sizes="(max-width: 1536px) 100vw, 1536px" /></figure></div><div data-etch-element="flex-div" class="icon-card-alpha bg--dark" data-inline-card="true"><svg data-icon="data-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640" class="icon-card-alpha__icon"><path d="M576 96L528 96L528 133.5L112 250.5L112 224L64 224L64 416L112 416L112 389.5L198.3 413.8C194.2 424.4 192 436 192 448C192 501 235 544 288 544C335 544 374.2 510.2 382.4 465.5L528 506.5L528 544L576 544L576 96zM528 456.6L112 339.6L112 300.3L528 183.3L528 456.6zM335.8 452.4C333.6 476.8 313 496 288 496C261.5 496 240 474.5 240 448C240 440.4 241.8 433.2 244.9 426.9L335.8 452.5z"></path></svg><h3 class="icon-card-alpha__heading">74th Cork International Choral Festival 2029</h3><p class="icon-card-alpha__text">02 May – 06 May 2029</p><figure class="is-bg"><img decoding="async" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1536'%20height='1024'%20viewBox='0%200%201536%201024'%3E%3C/svg%3E" width="1536" height="1024" alt="photo of 74th Cork International Choral Festival 2029 where 02 May - 06 May 2029" class="perfmatters-lazy" data-src="https://www.corkchoral.ie/wp-content/uploads/2024/12/ECCS-Group-Messiah-V2-1536x1024.jpg" data-srcset="https://www.corkchoral.ie/wp-content/uploads/2024/12/ECCS-Group-Messiah-V2-480x320.jpg 480w, https://www.corkchoral.ie/wp-content/uploads/2024/12/ECCS-Group-Messiah-V2-1280x853.jpg 1280w, https://www.corkchoral.ie/wp-content/uploads/2024/12/ECCS-Group-Messiah-V2-300x300.jpg 300w, https://www.corkchoral.ie/wp-content/uploads/2024/12/ECCS-Group-Messiah-V2-768x512.jpg 768w, https://www.corkchoral.ie/wp-content/uploads/2024/12/ECCS-Group-Messiah-V2-1536x1024.jpg 1536w" data-sizes="(max-width: 1536px) 100v
1493w, 1536px" /></figure></div></div></section> 1494 1495<section data-etch-element="section" class="bg--dark"><div data-etch-element="container"><h2>Company Directors</h2></div><div data-etch-element="container"><div class="grid-component" style="--column-count: 3; --min: 360px; --gap: var(--grid-gap, 1em); --grid-columns: repeat(auto-fill, minmax(var(--min-formula), 1fr));"><div data-etch-element="flex-div"><h3>Gerard Breen</h3><p>Gerard is a senior manager in the recruitment industry with experience in training, sales and operations. A lifelong member of the Cork International Choral Festival, Gerard was appointed Chairman of the festival in 2006.</p></div><div data-etch-element="flex-div"><h3>Neil Bowen</h3><p>Neil has worked in the Freight Forwarding industry for over 50 years and ran his own business for 30 of those years, retiring in 2023. He has served on the board of the North Monastery Secondary School from 1997-2002. Neil currently holds the position of Front of House Manager in the Festival and has been a member of the Executive Board since 2001.</p></div><div data-etch-element="flex-div"><h3>John Fitzpatrick</h3><p>John is an experienced conductor, tutor, examiner, and lecturer. He has been associated with the prestigious Cork International Choral Festival for many years becoming its Artistic and Festival Director from 1993 to 2019. He is widely regarded as being the driving force behind its continued artistic and organisational development over that period, including Corkâs designation as European Capital of Culture in 2005.</p></div></div></div></section> 1496 1497<section data-etch-element="section" class="bg--ultra-light"><div data-etch-element="container"><h2>Management Committee</h2></div><div data-etch-element="container"><div class="grid-component" style="--column-count: 4; --min: 240px; --gap: var(--grid-gap, 1em); --grid-columns: repeat(auto-fit, minmax(var(--min-formula), 1fr));"><div data-etch-element="flex-div"><p><strong>Gerard Breen (Chairman)</strong></p></div><div data-etch-element="flex-div"><p><strong>Neil Bowen</strong></p></div><div data-etch-element="flex-div"><p><strong>Pat Bradley</strong></p></div><div data-etch-element="flex-div"><p><strong>David J. Butler</strong></p></div><div data-etch-element="flex-div"><p><strong>John Fitzpatrick</strong></p></div><div data-etch-element="flex-div"><p><strong>Catherine Mahon-Buckley</strong></p></div><div data-etch-element="flex-div"><p><strong>Valerie Sisk</strong></p></div><div data-etch-element="flex-div"><p><strong>Linda Nolan</strong></p></div></div></div></section> 1498 1499<section data-etch-element="section" class="page-content-section"><div data-etch-element="container"> 1500<h3 class="wp-block-heading has-medium-font-size"><strong>Registered Charity</strong></h3> 1501 1502<p class="wp-block-paragraph">The Cork International Choral Festival is a registered charity with the Charities Regulatory Authority, promoting choral music and the arts in Cork and further afield.</p> 1503 1504<p class="wp-block-paragraph"><strong>Registered charity number: CHY11070</strong></p> 1505</div></section> 1506 1507<section data-etch-element="section" class="bg--ultra-light"><div data-etch-element="container"><h2>Governance</h2></div><div data-etch-element="container"><div class="grid-component" style="--column-count: 2; --min: 240px; --gap: var(--grid-gap, 1em); --grid-columns: repeat(auto-fill, minmax(var(--min-formula), 1fr));"><div data-etch-element="flex-div"> 1508<p class="wp-block-paragraph">Cork International Choral Festival is governed by a voluntary board of Directors. See list of Directors above, biographies will be available shortly. Cork International Choral Festival is committed to good governance and has embarked upon the journey of compliance with the Governance Code. The organisation complies with all regulatory requirements and operates in accordance with its governing document, available here: <a href="https://www.corkchoral.ie/wp-content/uploads/2021/11/The-Governance-Code.pdf">The Governance Code</a>.</p> 1509 1510<p class="wp-block-paragraph">Cork International Choral Festival is open, honest and fully transparent in its fundraising activities, the proceeds of which all go towards the primary activity of organising and promoting an annual festival of music events. Cork International Choral Festival is currently working to confirm compliance with the Statement of Guiding Principles of Good Fundraising developed by Irish Charities Tax Research Ltd (ICTR).</p> 1511 1512<p class="wp-block-paragraph"><a href="https://www.corkchoral.ie/signed-copy-of-31-12-2024-financial-statements/" data-type="link" data-id="https://www.corkchoral.ie/signed-copy-of-31-12-2024-financial-statements/">2024 Audited Accounts</a></p> 1513 1514<p class="wp-block-paragraph"><a href="https://www.corkchoral.ie/wp-content/uploads/2026/02/CHILD-PROTECTION-POLICY-STATEMENT-2026.pdf" target="_blank" rel="noreferrer noopener">Child Protection Policy</a></p> 1515</div><div data-etch-element="flex-div"> 1516<p class="wp-block-paragraph">Cork International Choral Festival keeps detailed books and records of accounts and maintains strict financial controls. The organisation is transparent in its audited financial statements, with most recent statements (2014) available below. The Statement of Recommended Practice for charities and not-for profit entities as developed in the UK in 2005 (SORP) is currently accepted as best practice in Ireland. We are working with our auditor towards compliance with SORP in 2015 financial statements and beyond.</p> 1517</div></div></div></section><section data-etch-element="section" class="newsletter-signup-section overlay-1 bg--dark"><div data-etch-element="container" class="newsletter-signup-section__inner"><div data-etch-element="container" data-intro-style="Center" class="section-intro"><div data-etch-element="flex-div" class="section-intro__content-wrapper"><h2 class="accent-heading">Get all the news</h2><p class="section-intro__headline h1">Join our newsletter</p><p class="section-intro__lede">Stay in the loop with all festival news by adding your email address to our mailing list</p></div></div><button id="newsletter-trigger" class="btn--neutral-light unrelate"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path d="M496 176L80 176L80 464L315.7 464L290.8 488.9L287 512L32.1 512L32.1 128L544.1 128L544.1 236.6L543.6 236.1L496.1 283.6L496.1 175.9zM128 336L320 336L320 384L128 384L128 336zM448 256L448 304L128 304L128 256L448 256zM544 303.9L624 383.9L571.2 436.7L491.2 356.7L544 303.9zM336 511.9L468.6 379.3L548.6 459.3L416 591.9L320 607.9L336 511.9z"></path></svg>Subscribe Now </button></div></section><dialog closedby="any" data-etch-dialog-placement="center" data-etch-dialog-trigger-selector="#newsletter-trigger" data-etch-dialog-id="newsletter-dialog" data-etch-dialog-editor-toggle="false" style="--etch-dialog-background-color: white; --etch-dialog-max-width: 500px; --etch-dialog-backdrop-color: rgba(0, 0, 0, 0.5); --etch-dialog-padding: var(--space-m);" class="etch-dialog"><button class="etch-dialog-close--label-icon etch-dialog__close"><span>Close</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="36" height="36" color="currentColor" fill="none"><path d="M18 6L6.00081 17.9992M17.9992 18L6 6.00085" stroke="#141B34" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="etch-dialog__body-wrapper"><div class="dialog__inner"><h3>Join the Newsletter</h3><p>Just add your Email address to receive email updates from us.</p><div style="text-align: left" class="sender-form-field" data-sender-form-id="aznx2a"></div></div></div></dialog></main><footer data-etch-element="section" class="footer" id="footer"><div data-etch-element="container" class="footer__grid">
1517<div data-etch-element="flex-div" class="footer__content-wrapper"><figure class="footer__logo"><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='0'%20height='0'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="Cork International Choral Festival Logo" class="perfmatters-lazy" data-src="https://www.corkchoral.ie/wp-content/uploads/2021/08/cork-international-choral-festival-logo-2020-dark-01_compressed.svg" /></figure><ul data-etch-element="flex-div" class="social-links-alpha"><li class="social-links-alpha__list-item"><a href="https://www.facebook.com/CorkChoralFestival/" class="social-links-alpha__link" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M80 299.3l0 212.7 116 0 0-212.7 86.5 0 18-97.8-104.5 0 0-34.6c0-51.7 20.3-71.5 72.7-71.5 16.3 0 29.4 .4 37 1.2l0-88.7C291.4 4 256.4 0 236.2 0 129.3 0 80 50.5 80 159.4l0 42.1-66 0 0 97.8 66 0z"></path></svg><span class="hidden-accessible social-links-alpha__label">Follow us on Facebook</span></a></li><li class="social-links-alpha__list-item"><a href="https://twitter.com/corkchoralfest" target="_blank" class="social-links-alpha__link"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M357.2 48L427.8 48 273.6 224.2 455 464 313 464 201.7 318.6 74.5 464 3.8 464 168.7 275.5-5.2 48 140.4 48 240.9 180.9 357.2 48zM332.4 421.8l39.1 0-252.4-333.8-42 0 255.3 333.8z"></path></svg><span class="hidden-accessible social-links-alpha__label">Follow us on X / Twitter</span></a></li><li class="social-links-alpha__list-item"><a href="https://www.instagram.com/corkchoral" target="_blank" class="social-links-alpha__link"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M224.3 141a115 115 0 1 0 -.6 230 115 115 0 1 0 .6-230zm-.6 40.4a74.6 74.6 0 1 1 .6 149.2 74.6 74.6 0 1 1 -.6-149.2zm93.4-45.1a26.8 26.8 0 1 1 53.6 0 26.8 26.8 0 1 1 -53.6 0zm129.7 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM399 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg><span class="hidden-accessible social-links-alpha__label">Follow us on Instagram</span></a></li><li class="social-links-alpha__list-item"><a href="https://www.youtube.com/channel/UCpEWfbO4r0gpCRT53gyLrCg" target="_blank" class="social-links-alpha__link"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M549.7 124.1C543.5 100.4 524.9 81.8 501.4 75.5 458.9 64 288.1 64 288.1 64S117.3 64 74.7 75.5C51.2 81.8 32.7 100.4 26.4 124.1 15 167 15 256.4 15 256.4s0 89.4 11.4 132.3c6.3 23.6 24.8 41.5 48.3 47.8 42.6 11.5 213.4 11.5 213.4 11.5s170.8 0 213.4-11.5c23.5-6.3 42-24.2 48.3-47.8 11.4-42.9 11.4-132.3 11.4-132.3s0-89.4-11.4-132.3zM232.2 337.6l0-162.4 142.7 81.2-142.7 81.2z"></path></svg><span class="hidden-accessible social-links-alpha__label">Follow us on Youtube</span></a></li><li class="social-links-alpha__list-item"><a href="https://www.tiktok.com/@corkchoral" target="_blank" class="social-links-alpha__link"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M448.5 209.9c-44 .1-87-13.6-122.8-39.2l0 178.7c0 33.1-10.1 65.4-29 92.6s-45.6 48-76.6 59.6-64.8 13.5-96.9 5.3-60.9-25.9-82.7-50.8-35.3-56-39-88.9 2.9-66.1 18.6-95.2 40-52.7 69.6-67.7 62.9-20.5 95.7-16l0 89.9c-15-4.7-31.1-4.6-46 .4s-27.9 14.6-37 27.3-14 28.1-13.9 43.9 5.2 31 14.5 43.7 22.4 22.1 37.4 26.9 31.1 4.8 46-.1 28-14.4 37.2-27.1 14.2-28.1 14.2-43.8l0-349.4 88 0c-.1 7.4 .6 14.9 1.9 22.2 3.1 16.3 9.4 31.9 18.7 45.7s21.3 25.6 35.2 34.6c19.9 13.1 43.2 20.1 67 20.1l0 87.4z"></path></svg><span class="hidden-accessible social-links-alpha__label">Follow us on TikTok</span></svg></a></li></ul></div><nav data-etch-element="flex-div" class="footer__nav-wrapper"><div data-etch-element="flex-div" class="footer__nav-col"><h3 class="footer__heading">Festival</h3><ul data-etch-element="flex-div" class="footer__list"><li class="footer__item"><a href="https://corkinternationalchoralfestival-tickets.corkchoral.ie/shows" target="_blank" class="footer__link">Book Tickets</a></li><li class="footer__item"><a href="/national-applications/" class="footer__link">National Participation</a></li><li class="footer__item"><a href="/international-participation/" class="footer__link">International Participation</a></li><li class="footer__item"><a href="/venue-applications/" class="footer__link">Venue Applications</a></li></ul></div><div data-etch-element="flex-div" class="footer__nav-col"><h3 class="footer__heading">Support Us</h3><ul data-etch-element="flex-div" class="footer__list"><li class="footer__item"><a href="/sponsorship-opportunities/" class="footer__link">Sponsorship</a></li><li class="footer__item"><a href="/become-a-friend/" class="footer__link">Become a Friend</a></li><li class="footer__item"><a href="https://corkinternationalchoralfestival-tickets.corkchoral.ie/ticketbooth/products/donation" target="_blank" class="footer__link">Donate Now</a></li><li class="footer__item"><a href="/volunteer/" class="footer__link">Volunteering</a></li></ul></div><div data-etch-element="flex-div" class="footer__nav-col"><h3 class="footer__heading">Plan your visit</h3><ul data-etch-element="flex-div" class="footer__list"><li class="footer__item"><a href="/accessibility/" class="footer__link">Accessibility</a></li><li class="footer__item"><a href="/accommodation-guide/" class="footer__link">Accommodation</a></li><li class="footer__item"><a href="/food-and-drink-trail/" class="footer__link">Food & Drink Trail</a></li><li class="footer__item"><a href="/irelands-ancient-east/" class="footer__link">Ireland's Ancient East</a></li><li class="footer__item"><a href="https://www.purecork.ie/plan-your-trip/tips-info/explore-cork-app" target="_blank" class="footer__link">Explore Cork App</a></li></ul></div></nav>
1517<div data-etch-element="flex-div" class="footer__contact-wrapper"><h3 class="footer__heading">Get in touch</h3><address>Civic Trust House<br />50 Popeâs Quay<br />Cork<br /> Ireland</address><ul data-etch-element="flex-div" class="contact-details-list"><li data-etch-element="flex-div" class="contact-details-list__item"><h4 class="contact-details-list__heading">Call us</h4><a href="tel:+353214215125" aria-label="Phone us" class="contact-details-list__link"><span class="contact-details-list__icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.36556 10.6821C10.302 12.3288 11.6712 13.698 13.3179 14.6344L14.2024 13.3961C14.4965 12.9845 15.0516 12.8573 15.4956 13.0998C16.9024 13.8683 18.4571 14.3353 20.0789 14.4637C20.599 14.5049 21 14.9389 21 15.4606V19.9234C21 20.4361 20.6122 20.8657 20.1022 20.9181C19.5723 20.9726 19.0377 21 18.5 21C9.93959 21 3 14.0604 3 5.5C3 4.96227 3.02742 4.42771 3.08189 3.89776C3.1343 3.38775 3.56394 3 4.07665 3H8.53942C9.0611 3 9.49513 3.40104 9.5363 3.92109C9.66467 5.54288 10.1317 7.09764 10.9002 8.50444C11.1427 8.9484 11.0155 9.50354 10.6039 9.79757L9.36556 10.6821ZM6.84425 10.0252L8.7442 8.66809C8.20547 7.50514 7.83628 6.27183 7.64727 5H5.00907C5.00303 5.16632 5 5.333 5 5.5C5 12.9558 11.0442 19 18.5 19C18.667 19 18.8337 18.997 19 18.9909V16.3527C17.7282 16.1637 16.4949 15.7945 15.3319 15.2558L13.9748 17.1558C13.4258 16.9425 12.8956 16.6915 12.3874 16.4061L12.3293 16.373C10.3697 15.2587 8.74134 13.6303 7.627 11.6707L7.59394 11.6126C7.30849 11.1044 7.05754 10.5742 6.84425 10.0252Z"></path></svg></span><span class="contact-details-list__text">+353 (0) 21 4215125</span></a></li><li data-etch-element="flex-div" class="contact-details-list__item"><h4 class="contact-details-list__heading">Email us</h4><a href="mailto:[email protected]" aria-label="Email [email protected]" class="contact-details-list__link"><span class="contact-details-list__icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 3H21C21.5523 3 22 3.44772 22 4V20C22 20.5523 21.5523 21 21 21H3C2.44772 21 2 20.5523 2 20V4C2 3.44772 2.44772 3 3 3ZM20 7.23792L12.0718 14.338L4 7.21594V19H20V7.23792ZM4.51146 5L12.0619 11.662L19.501 5H4.51146Z"></path></svg></span><span class="contact-details-list__text">[email protected]</span></a></li></ul></div></div><div data-etch-element="container" class="footer__legal-wrapper"><p>Copyright 2025 © Cork International Choral Festival</p><nav data-etch-element="flex-div" class="footer__nav"><ul data-etch-element="flex-div" class="footer__list"><li class="footer__item"><a href="/tickets-terms-and-conditions/">Tickets Terms & Conditions</a></li><li class="footer__item"><a href="/privacy-statement-eu/">Privacy Policy</a></li><li class="footer__item"><a href="/cookie-policy-eu/">Cookie Policy</a></li><li class="footer__item"><a href="/accessibility-statement/">Accessibility Statement</a></li></ul></nav></div></footer> 1518<template id="tp-language" data-tp-language="en_GB"></template>
1518<script defer src="data:text/javascript;base64,d2luZG93LmZlc3RpdmFsRGF0YSA9IHsiZGF0ZSI6IkFwcmlsIDI4LCAyMDI3In07"></script>
1518<script type="speculationrules"> 1519{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/etch-child-theme-main/*","/wp-content/themes/etch-theme/*","/*\\?(.+)","/checkout/*"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 1520</script>
1520 1521<div class="trp_model_container" id="trp_ald_modal_container" style="display: none" data-no-dynamic-translation data-no-translation> 1522 <div class="trp_ald_modal" id="trp_ald_modal_popup"> 1523 <div id="trp_ald_popup_text"> 1524 We've detected you might be speaking a different language. Do you want to change to: </div> 1525 1526 <div class="trp_ald_select_and_button"> 1527 <div class="trp_ald_ls_container"> 1528 <div class="trp-language-switcher trp-language-switcher-container" id="trp_ald_popup_select_container" data-no-translation > 1529 1530 <div class="trp-ls-shortcode-current-language" id="en_GB" special-selector="trp_ald_popup_current_language" data-trp-ald-selected-language= "en_GB"> 1531 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/en_GB.svg" class="trp-flag-image" alt role="presentation" decoding="async" width="18" height="14" /> EN_GB </div> 1532 <div class="trp-ls-shortcode-language"> 1533 <div class="trp-ald-popup-select" id="en_GB" data-trp-ald-selected-language = "en_GB"> 1534 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/en_GB.svg" class="trp-flag-image" alt role="presentation" decoding="async" width="18" height="14" /> EN_GB </div> 1535 <div class="trp-ald-popup-select" id="bg_BG" data-trp-ald-selected-language = "bg_BG"> 1536 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/bg_BG.svg" class="trp-flag-image" alt="Change language to Bulgarian" decoding="async" width="18" height="14" /> BG </div> 1537 <div class="trp-ald-popup-select" id="cs_CZ" data-trp-ald-selected-language = "cs_CZ"> 1538 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/cs_CZ.svg" class="trp-flag-image" alt="Change language to Czech" decoding="async" width="18" height="14" /> CS </div> 1539 <div class="trp-ald-popup-select" id="da_DK" data-trp-ald-selected-language = "da_DK"> 1540 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/da_DK.svg" class="trp-flag-image" alt="Change language to Danish" decoding="async" width="18" height="14" /> DA </div> 1541 <div class="trp-ald-popup-select" id="de_DE" data-trp-ald-selected-language = "de_DE"> 1542 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/de_DE.svg" class="trp-flag-image" alt="Change language to German" decoding="async" width="18" height="14" /> DE </div> 1543 <div class="trp-ald-popup-select" id="el" data-trp-ald-selected-language = "el"> 1544 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/el.svg" class="trp-flag-image" alt="Change language to Greek" decoding="async" width="18" height="14" /> EL </div> 1545 <div class="trp-ald-popup-select" id="es_ES" data-trp-ald-selected-language = "es_ES"> 1546 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/es_ES.svg" class="trp-flag-image" alt="Change language to Spanish" decoding="async" width="18" height="14" /> ES </div> 1547 <div class="trp-ald-popup-select" id="et" data-trp-ald-selected-language = "et"> 1548 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/et.svg" class="trp-flag-image" alt="Change language to Estonian" decoding="async" width="18" height="14" /> ET </div> 1549 <div class="trp-ald-popup-select" id="fr_FR" data-trp-ald-selected-language = "fr_FR"> 1550 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/fr_FR.svg" class="trp-flag-image" alt="Change language to French" decoding="async" width="18" height="14" /> FR </div> 1551 <div class="trp-ald-popup-select" id="hu_HU" data-trp-ald-selected-language = "hu_HU"> 1552 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/hu_HU.svg" class="trp-flag-image" alt="Change language to Hungarian" decoding="async" width="18" height="14" /> HU </div> 1553 <div class="trp-ald-popup-select" id="it_IT" data-trp-ald-selected-language = "it_IT"> 1554 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/it_IT.svg" class="trp-flag-image" alt="Change language to Italian" decoding="async" width="18" height="14" /> IT </div> 1555 <div class="trp-ald-popup-select" id="pl_PL" data-trp-ald-selected-language = "pl_PL"> 1556 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/pl_PL.svg" class="trp-flag-image" alt="Change language to Polish" decoding="async" width="18" height="14" /> PL </div> 1557 <div class="trp-ald-popup-select" id="pt_PT" data-trp-ald-selected-language = "pt_PT"> 1558 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/pt_PT.svg" class="trp-flag-image" alt="Change language to Portuguese" decoding="async" width="18" height="14" /> PT </div> 1559 <div class="trp-ald-popup-select" id="uk" data-trp-ald-selected-language = "uk"> 1560 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/uk.svg" class="trp-flag-image" alt="Change language to Ukrainian" decoding="async" width="18" height="14" /> UK </div> 1561 </div> 1562 </div> 1563 </div> 1564 1565 1566 <div class="trp_ald_button"> 1567 <a href="https://www.corkchoral.ie" 1568 id="trp_ald_popup_change_language"> 1569 Change Language </a> 1570 </div> 1571 </div> 1572 <a id="trp_ald_x_button_and_textarea" href="#">
1573 <span id="trp_ald_x_button" title="Close and do not switch language"></span> 1574 <span id="trp_ald_x_button_textarea" title="Close and do not switch language"> 1575 Close and do not switch language </span> 1576 </a> 1577 </div> 1578</div> 1579<template id="trp_ald_no_text_popup_template"> 1580 <div id="trp_no_text_popup_wrap"> 1581 <div id="trp_no_text_popup" class="trp_ald_no_text_popup" data-no-dynamic-translation data-no-translation> 1582 1583 <div id="trp_ald_not_text_popup_ls_and_button"> 1584 <div id="trp_ald_no_text_popup_div"> 1585 <span id="trp_ald_no_text_popup_text"> 1586 We've detected you might be speaking a different language. Do you want to change to: </span> 1587 </div> 1588 <div class="trp_ald_ls_container"> 1589 <div class="trp-language-switcher trp-language-switcher-container" id="trp_ald_no_text_select" 1590 data-no-translation > 1591 1592 <div class="trp-ls-shortcode-current-language" id="en_GB" 1593 special-selector="trp_ald_popup_current_language" data-trp-ald-selected-language="en_GB"> 1594 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/en_GB.svg" class="trp-flag-image" alt role="presentation" decoding="async" width="18" height="14" /> EN_GB </div> 1595 <div class="trp-ls-shortcode-language" id="trp_ald_no_text_popup_select_container"> 1596 <div class="trp-ald-popup-select" id="en_GB" 1597 data-trp-ald-selected-language= en_GB> 1598 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/en_GB.svg" class="trp-flag-image" alt role="presentation" decoding="async" width="18" height="14" /> EN_GB </div> 1599 <div class="trp-ald-popup-select" id="bg_BG" 1600 data-trp-ald-selected-language="bg_BG"> 1601 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/bg_BG.svg" class="trp-flag-image" alt="Change language to Bulgarian" decoding="async" width="18" height="14" /> BG 1602 </div> 1603 <div class="trp-ald-popup-select" id="cs_CZ" 1604 data-trp-ald-selected-language="cs_CZ"> 1605 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/cs_CZ.svg" class="trp-flag-image" alt="Change language to Czech" decoding="async" width="18" height="14" /> CS 1606 </div> 1607 <div class="trp-ald-popup-select" id="da_DK" 1608 data-trp-ald-selected-language="da_DK"> 1609 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/da_DK.svg" class="trp-flag-image" alt="Change language to Danish" decoding="async" width="18" height="14" /> DA 1610 </div> 1611 <div class="trp-ald-popup-select" id="de_DE" 1612 data-trp-ald-selected-language="de_DE"> 1613 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/de_DE.svg" class="trp-flag-image" alt="Change language to German" decoding="async" width="18" height="14" /> DE 1614 </div> 1615 <div class="trp-ald-popup-select" id="el" 1616 data-trp-ald-selected-language="el"> 1617 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/el.svg" class="trp-flag-image" alt="Change language to Greek" decoding="async" width="18" height="14" /> EL 1618 </div> 1619 <div class="trp-ald-popup-select" id="es_ES" 1620 data-trp-ald-selected-language="es_ES"> 1621 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/es_ES.svg" class="trp-flag-image" alt="Change language to Spanish" decoding="async" width="18" height="14" /> ES 1622 </div> 1623 <div class="trp-ald-popup-select" id="et" 1624 data-trp-ald-selected-language="et"> 1625 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/et.svg" class="trp-flag-image" alt="Change language to Estonian" decoding="async" width="18" height="14" /> ET 1626 </div> 1627 <div class="trp-ald-popup-select" id="fr_FR" 1628 data-trp-ald-selected-language="fr_FR"> 1629 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/fr_FR.svg" class="trp-flag-image" alt="Change language to French" decoding="async" width="18" height="14" /> FR 1630 </div> 1631 <div class="trp-ald-popup-select" id="hu_HU" 1632 data-trp-ald-selected-language="hu_HU"> 1633 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/hu_HU.svg" class="trp-flag-image" alt="Change language to Hungarian" decoding="async" width="18" height="14" /> HU 1634 </div> 1635 <div class="trp-ald-popup-select" id="it_IT" 1636 data-trp-ald-selected-language="it_IT"> 1637 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/it_IT.svg" class="trp-flag-image" alt="Change language to Italian" decoding="async" width="18" height="14" /> IT 1638 </div> 1639 <div class="trp-ald-popup-select" id="pl_PL" 1640 data-trp-ald-selected-language="pl_PL"> 1641 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/pl_PL.svg" class="trp-flag-image" alt="Change language to Polish" decoding="async" width="18" height="14" /> PL 1642 </div> 1643 <div class="trp-ald-popup-select" id="pt_PT" 1644 data-trp-ald-selected-language="pt_PT"> 1645 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/pt_PT.svg" class="trp-flag-image" alt="Change language to Portuguese" decoding="async" width="18" height="14" /> PT 1646 </div> 1647 <div class="trp-ald-popup-select" id="uk" 1648 data-trp-ald-selected-language="uk"> 1649 <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/uk.svg" class="trp-flag-image" alt="Change language to Ukrainian" decoding="async" width="18" height="14" /> UK 1650 </div> 1651 </div> 1652 </div> 1653 </div> 1654 <div class="trp_ald_change_language_div"> 1655 <a href="https://www.corkchoral.ie" id="trp_ald_no_text_popup_change_language"> 1656 Change Language </a> 1657 </div> 1658 </div> 1659 <div id="trp_ald_no_text_popup_x"> 1660 <button id="trp_close"></button> 1661 </div> 1662 </div> 1663 </div> 1664</template> 1665<!-- Consent Management powered by Complianz | GDPR/CCPA Cookie Consent https://wordpress.org/plugins/complianz-gdpr --> 1666<div id="cmplz-cookiebanner-container"><div id="cmplz-cookiebanner-1-optin" class="cmplz-cookiebanner cmplz-hidden banner-1 banner-a optin cmplz-bottom-right cmplz-categories-type-view-preferences" aria-modal="true" data-nosnippet="true" role="dialog" aria-live="polite" aria-labelledby="cmplz-header-1-optin" aria-describedby="cmplz-message-1-optin"> 1667 <div class="cmplz-header"> 1668 <div class="cmplz-logo"></div> 1669 <div class="cmplz-title" id="cmplz-header-1-optin">
1669Manage Consent</div> 1670 <div class="cmplz-close" tabindex="0" role="button" aria-label="close-dialog"> 1671 <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="times" class="svg-inline--fa fa-times fa-w-11" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 352 512"><path fill="currentColor" d="M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z"></path></svg> 1672 </div> 1673 </div> 1674 1675 <div class="cmplz-divider cmplz-divider-header"></div> 1676 <div class="cmplz-body"> 1677 <div class="cmplz-message" id="cmplz-message-1-optin">To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behaviour or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.</div> 1678 <!-- categories start --> 1679 <div class="cmplz-categories"> 1680 <div class="cmplz-category cmplz-functional"> 1681 <div class="cmplz-category-header"> 1682 <span class="cmplz-category-title" id="cmplz-title-functional-1-optin">Functional</span> 1683 <span class='cmplz-always-active'> 1684 <span class="cmplz-banner-checkbox"> 1685 <input type="checkbox" 1686 id="cmplz-functional-optin" 1687 data-category="cmplz_functional" 1688 class="cmplz-consent-checkbox cmplz-functional" 1689 size="40" 1690 value="1"/> 1691 <label class="cmplz-label" for="cmplz-functional-optin"><span class="screen-reader-text">Functional</span></label> 1692 </span> 1693 Always active </span> 1694 <button class="cmplz-category-toggle" 1695 aria-expanded="false" 1696 aria-controls="cmplz-desc-functional-1-optin" 1697 aria-labelledby="cmplz-title-functional-1-optin"> 1698 <span class="cmplz-icon cmplz-open"> 1699 <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" height="18"><path d="M224 416c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 338.8l169.4-169.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-192 192C240.4 412.9 232.2 416 224 416z"/></svg> 1700 </span> 1701 </button> 1702 </div> 1703 <div class="cmplz-description" id="cmplz-desc-functional-1-optin" hidden> 1704 <span class="cmplz-description-functional">The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.</span> 1705 </div> 1706 </div> 1707 1708 <div class="cmplz-category cmplz-preferences"> 1709 <div class="cmplz-category-header"> 1710 <span class="cmplz-category-title" id="cmplz-title-preferences-1-optin">Preferences</span> 1711 <span class="cmplz-banner-checkbox"> 1712 <input type="checkbox" 1713 id="cmplz-preferences-optin" 1714 data-category="cmplz_preferences" 1715 class="cmplz-consent-checkbox cmplz-preferences" 1716 size="40" 1717 value="1"/> 1718 <label class="cmplz-label" for="cmplz-preferences-optin"><span class="screen-reader-text">Preferences</span></label> 1719 </span> 1720 <button class="cmplz-category-toggle" 1721 aria-expanded="false" 1722 aria-controls="cmplz-desc-preferences-1-optin" 1723 aria-labelledby="cmplz-title-preferences-1-optin"> 1724 <span class="cmplz-icon cmplz-open"> 1725 <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" height="18"><path d="M224 416c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 338.8l169.4-169.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-192 192C240.4 412.9 232.2 416 224 416z"/></svg> 1726 </span> 1727 </button> 1728 </div> 1729 <div class="cmplz-description" id="cmplz-desc-preferences-1-optin" hidden> 1730 <span class="cmplz-description-preferences">The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.</span> 1731 </div> 1732 </div> 1733 1734 <div class="cmplz-category cmplz-statistics"> 1735 <div class="cmplz-category-header"> 1736 <span class="cmplz-category-title" id="cmplz-title-statistics-1-optin">Statistics</span> 1737 <span class="cmplz-banner-checkbox"> 1738 <input type="checkbox" 1739 id="cmplz-statistics-optin" 1740 data-category="cmplz_statistics" 1741 class="cmplz-consent-checkbox cmplz-statistics" 1742 size="40" 1743 value="1"/> 1744 <label class="cmplz-label" for="cmplz-statistics-optin"><span class="screen-reader-text">Statistics</span></label> 1745 </span> 1746 <button class="cmplz-category-toggle" 1747 aria-expanded="false" 1748 aria-controls="cmplz-desc-statistics-1-optin" 1749 aria-labelledby="cmplz-title-statistics-1-optin"> 1750 <span class="cmplz-icon cmplz-open"> 1751 <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" height="18">
1751<path d="M224 416c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 338.8l169.4-169.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-192 192C240.4 412.9 232.2 416 224 416z"/></svg> 1752 </span> 1753 </button> 1754 </div> 1755 <div class="cmplz-description" id="cmplz-desc-statistics-1-optin" hidden> 1756 <span class="cmplz-description-statistics">The technical storage or access that is used exclusively for statistical purposes.</span> 1757 <span class="cmplz-description-statistics-anonymous">The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.</span> 1758 </div> 1759 </div> 1760 1761 <div class="cmplz-category cmplz-marketing"> 1762 <div class="cmplz-category-header"> 1763 <span class="cmplz-category-title" id="cmplz-title-marketing-1-optin">Marketing</span> 1764 <span class="cmplz-banner-checkbox"> 1765 <input type="checkbox" 1766 id="cmplz-marketing-optin" 1767 data-category="cmplz_marketing" 1768 class="cmplz-consent-checkbox cmplz-marketing" 1769 size="40" 1770 value="1"/> 1771 <label class="cmplz-label" for="cmplz-marketing-optin"><span class="screen-reader-text">Marketing</span></label> 1772 </span> 1773 <button class="cmplz-category-toggle" 1774 aria-expanded="false" 1775 aria-controls="cmplz-desc-marketing-1-optin" 1776 aria-labelledby="cmplz-title-marketing-1-optin"> 1777 <span class="cmplz-icon cmplz-open"> 1778 <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" height="18"><path d="M224 416c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 338.8l169.4-169.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-192 192C240.4 412.9 232.2 416 224 416z"/></svg> 1779 </span> 1780 </button> 1781 </div> 1782 <div class="cmplz-description" id="cmplz-desc-marketing-1-optin" hidden> 1783 <span class="cmplz-description-marketing">The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.</span> 1784 </div> 1785 </div> 1786 </div><!-- categories end --> 1787 </div> 1788 1789 <div class="cmplz-links cmplz-information"> 1790 <ul> 1791 <li><a class="cmplz-link cmplz-manage-options cookie-statement" href="#" data-relative_url="#cmplz-manage-consent-container">Manage options</a></li> 1792 <li><a class="cmplz-link cmplz-manage-third-parties cookie-statement" href="#" data-relative_url="#cmplz-cookies-overview">Manage services</a></li> 1793 <li><a class="cmplz-link cmplz-manage-vendors tcf cookie-statement" href="#" data-relative_url="#cmplz-tcf-wrapper">Manage {vendor_count} vendors</a></li> 1794 <li><a class="cmplz-link cmplz-external cmplz-read-more-purposes tcf" target="_blank" rel="noopener noreferrer nofollow" href="https://cookiedatabase.org/tcf/purposes/" aria-label="Read more about TCF purposes on Cookie Database">Read more about these purposes</a></li> 1795 </ul> 1796 </div> 1797 1798 <div class="cmplz-divider cmplz-footer"></div> 1799 1800 <div class="cmplz-buttons"> 1801 <button class="cmplz-btn cmplz-accept">Accept</button> 1802 <button class="cmplz-btn cmplz-deny">Deny</button> 1803 <button class="cmplz-btn cmplz-view-preferences">View preferences</button> 1804 <button class="cmplz-btn cmplz-save-preferences">Save preferences</button> 1805 <a class="cmplz-btn cmplz-manage-options tcf cookie-statement" href="#" data-relative_url="#cmplz-manage-consent-container">View preferences</a> 1806 </div> 1807 1808 1809 <div class="cmplz-documents cmplz-links"> 1810 <ul> 1811 <li><a class="cmplz-link cookie-statement" href="#" data-relative_url="">{title}</a></li> 1812 <li><a class="cmplz-link privacy-statement" href="#" data-relative_url="">{title}</a></li> 1813 <li><a class="cmplz-link impressum" href="#" data-relative_url="">{title}</a></li> 1814 </ul> 1815 </div> 1816</div> 1817</div> 1818 <div id="cmplz-manage-consent" data-nosnippet="true"><button class="cmplz-btn cmplz-hidden cmplz-manage-consent manage-consent-1" aria-haspopup="dialog" aria-controls="cmplz-cookiebanner-1-optin">
1818Manage consent</button> 1819 1820</div>
1820<script id="edd-ajax-js-extra" defer src="data:text/javascript;base64,CnZhciBlZGRfc2NyaXB0cyA9IHsiYWpheHVybCI6Imh0dHBzOi8vd3d3LmNvcmtjaG9yYWwuaWUvd3AtYWRtaW4vYWRtaW4tYWpheC5waHAiLCJwb3NpdGlvbl9pbl9jYXJ0IjoiIiwiaGFzX3B1cmNoYXNlX2xpbmtzIjoiMCIsImFscmVhZHlfaW5fY2FydF9tZXNzYWdlIjoiWW91IGhhdmUgYWxyZWFkeSBhZGRlZCB0aGlzIGl0ZW0gdG8geW91ciBiYXNrZXQiLCJlbXB0eV9jYXJ0X21lc3NhZ2UiOiJZb3VyIGJhc2tldCBpcyBlbXB0eSIsImxvYWRpbmciOiJMb2FkaW5nIiwic2VsZWN0X29wdGlvbiI6IlBsZWFzZSBzZWxlY3QgYW4gb3B0aW9uIiwiaXNfY2hlY2tvdXQiOiIwIiwiZGVmYXVsdF9nYXRld2F5Ijoic3RyaXBlIiwicmVkaXJlY3RfdG9fY2hlY2tvdXQiOiIwIiwiY2hlY2tvdXRfcGFnZSI6Imh0dHBzOi8vd3d3LmNvcmtjaG9yYWwuaWUvY2hlY2tvdXQvIiwicGVybWFsaW5rcyI6IjEiLCJxdWFudGl0aWVzX2VuYWJsZWQiOiIiLCJ0YXhlc19lbmFibGVkIjoiMCIsImN1cnJlbnRfcGFnZSI6IjY0MCJ9OwovLyMgc291cmNlVVJMPWVkZC1hamF4LWpzLWV4dHJhCg=="></script>
vendor: 1 bytes, line 1820
1820
1821<script id="edd-ajax-js" src="https://www.corkchoral.ie/wp-content/plugins/easy-digital-downloads/assets/build/js/frontend/edd-ajax.js?ver=3.7.0" defer></script>
vendor: 1 bytes, line 1821
1821
1822<script id="perfmatters-lazy-load-js-before"> 1823window.lazyLoadOptions={elements_selector:"img[data-src],.perfmatters-lazy,.perfmatters-lazy-css-bg",thresholds:"400px 0px",class_loading:"pmloading",class_loaded:"pmloaded",callback_loaded:function(element){if(element.tagName==="IFRAME"){if(element.classList.contains("pmloaded")){if(typeof window.jQuery!="undefined"){if(jQuery.fn.fitVids){jQuery(element).parent().fitVids()}}}}}};window.addEventListener("LazyLoad::Initialized",function(e){var lazyLoadInstance=e.detail.instance;}); 1824//# sourceURL=perfmatters-lazy-load-js-before 1825</script>
vendor: 1 bytes, line 1825
1825
1826<script id="perfmatters-lazy-load-js" async src="https://www.corkchoral.ie/wp-content/plugins/perfmatters/js/lazyload.min.js?ver=2.6.7"></script>
vendor: 1 bytes, line 1826
1826
1827<script id="cmplz-cookiebanner-js-extra" defer src="data:text/javascript;base64,CnZhciBjb21wbGlhbnogPSB7InByZWZpeCI6ImNtcGx6XyIsImRlYnVnIjoiIiwidXNlcl9iYW5uZXJfaWQiOiIxIiwic2V0X2Nvb2tpZXMiOltdLCJibG9ja19hamF4X2NvbnRlbnQiOiIwIiwiYmFubmVyX3ZlcnNpb24iOiIzIiwidmVyc2lvbiI6IjcuNS41Iiwic3RvcmVfY29uc2VudCI6IiIsImRvX25vdF90cmFja19lbmFibGVkIjoiIiwiY29uc2VudHR5cGUiOiJvcHRpbiIsInJlZ2lvbiI6ImV1IiwiZ2VvaXAiOiIiLCJkaXNtaXNzX3RpbWVvdXQiOiIiLCJkaXNhYmxlX2Nvb2tpZWJhbm5lciI6IiIsInNvZnRfY29va2lld2FsbCI6IiIsImRpc21pc3Nfb25fc2Nyb2xsIjoiIiwiY29va2llX2V4cGlyeSI6IjM2NSIsInVybCI6Imh0dHBzOi8vd3d3LmNvcmtjaG9yYWwuaWUvd3AtanNvbi9jb21wbGlhbnovdjEvIiwibG9jYWxlIjoibGFuZz1lbiZsb2NhbGU9ZW5fR0IiLCJzZXRfY29va2llc19vbl9yb290IjoiMCIsImNvb2tpZV9kb21haW4iOiIiLCJjdXJyZW50X3BvbGljeV9pZCI6IjMzIiwiY29va2llX3BhdGgiOiIvIiwiY2F0ZWdvcmllcyI6eyJzdGF0aXN0aWNzIjoic3RhdGlzdGljcyIsIm1hcmtldGluZyI6Im1hcmtldGluZyJ9LCJ0Y2ZfYWN0aXZlIjoiIiwicGxhY2Vob2xkZXJ0ZXh0IjoiQ2xpY2sgdG8gYWNjZXB0IG1hcmtldGluZyBjb29raWVzIGFuZCBlbmFibGUgdGhpcyBjb250ZW50IiwiY3NzX2ZpbGUiOiJodHRwczovL3d3dy5jb3JrY2hvcmFsLmllL3dwLWNvbnRlbnQvdXBsb2Fkcy9jb21wbGlhbnovY3NzL2Jhbm5lci17YmFubmVyX2lkfS17dHlwZX0uY3NzP3Y9MyIsInBhZ2VfbGlua3MiOnsiZXUiOnsiY29va2llLXN0YXRlbWVudCI6eyJ0aXRsZSI6IiIsInVybCI6Imh0dHBzOi8vd3d3LmNvcmtjaG9yYWwuaWUvZmVzdGl2YWxfY2hvaXJzL3VuaXZlcnNpdHktb2YtZ2Fsd2F5LWFsdW1uaS1lbnNlbWJsZS8ifSwicHJpdmFjeS1zdGF0ZW1lbnQiOnsidGl0bGUiOiIiLCJ1cmwiOiJodHRwczovL3d3dy5jb3JrY2hvcmFsLmllL2Zlc3RpdmFsX2Nob2lycy91bml2ZXJzaXR5LW9mLWdhbHdheS1hbHVtbmktZW5zZW1ibGUvIn0sImltcHJlc3N1bSI6eyJ0aXRsZSI6IiIsInVybCI6Imh0dHBzOi8vd3d3LmNvcmtjaG9yYWwuaWUvZmVzdGl2YWxfY2hvaXJzL3VuaXZlcnNpdHktb2YtZ2Fsd2F5LWFsdW1uaS1lbnNlbWJsZS8ifX0sInVrIjp7ImNvb2tpZS1zdGF0ZW1lbnQiOnsidGl0bGUiOiIiLCJ1cmwiOiJodHRwczovL3d3dy5jb3JrY2hvcmFsLmllL2Zlc3RpdmFsX2Nob2lycy91bml2ZXJzaXR5LW9mLWdhbHdheS1hbHVtbmktZW5zZW1ibGUvIn0sInByaXZhY3ktc3RhdGVtZW50Ijp7InRpdGxlIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cuY29ya2Nob3JhbC5pZS9mZXN0aXZhbF9jaG9pcnMvdW5pdmVyc2l0eS1vZi1nYWx3YXktYWx1bW5pLWVuc2VtYmxlLyJ9LCJpbXByZXNzdW0iOnsidGl0bGUiOiIiLCJ1cmwiOiJodHRwczovL3d3dy5jb3JrY2hvcmFsLmllL2Zlc3RpdmFsX2Nob2lycy91bml2ZXJzaXR5LW9mLWdhbHdheS1hbHVtbmktZW5zZW1ibGUvIn19LCJ1cyI6eyJpbXByZXNzdW0iOnsidGl0bGUiOiIiLCJ1cmwiOiJodHRwczovL3d3dy5jb3JrY2hvcmFsLmllL2Zlc3RpdmFsX2Nob2lycy91bml2ZXJzaXR5LW9mLWdhbHdheS1hbHVtbmktZW5zZW1ibGUvIn19LCJjYSI6eyJpbXByZXNzdW0iOnsidGl0bGUiOiIiLCJ1cmwiOiJodHRwczovL3d3dy5jb3JrY2hvcmFsLmllL2Zlc3RpdmFsX2Nob2lycy91bml2ZXJzaXR5LW9mLWdhbHdheS1hbHVtbmktZW5zZW1ibGUvIn19LCJhdSI6eyJpbXByZXNzdW0iOnsidGl0bGUiOiIiLCJ1cmwiOiJodHRwczovL3d3dy5jb3JrY2hvcmFsLmllL2Zlc3RpdmFsX2Nob2lycy91bml2ZXJzaXR5LW9mLWdhbHdheS1hbHVtbmktZW5zZW1ibGUvIn19LCJ6YSI6eyJpbXByZXNzdW0iOnsidGl0bGUiOiIiLCJ1cmwiOiJodHRwczovL3d3dy5jb3JrY2hvcmFsLmllL2Zlc3RpdmFsX2Nob2lycy91bml2ZXJzaXR5LW9mLWdhbHdheS1hbHVtbmktZW5zZW1ibGUvIn19LCJiciI6eyJpbXByZXNzdW0iOnsidGl0bGUiOiIiLCJ1cmwiOiJodHRwczovL3d3dy5jb3JrY2hvcmFsLmllL2Zlc3RpdmFsX2Nob2lycy91bml2ZXJzaXR5LW9mLWdhbHdheS1hbHVtbmktZW5zZW1ibGUvIn19fSwidG1fY2F0ZWdvcmllcyI6IjEiLCJmb3JjZUVuYWJsZVN0YXRzIjoiIiwicHJldmlldyI6IiIsImNsZWFuX2Nvb2tpZXMiOiIiLCJhcmlhX2xhYmVsIjoiQ2xpY2sgdG8gYWNjZXB0IG1hcmtldGluZyBjb29raWVzIGFuZCBlbmFibGUgdGhpcyBjb250ZW50IiwiaWFwaV9uYXYiOiJmYWxsYmFjayJ9OwovLyMgc291cmNlVVJMPWNtcGx6LWNvb2tpZWJhbm5lci1qcy1leHRyYQo="></script>
vendor: 1 bytes, line 1827
1827
1828<script defer id="cmplz-cookiebanner-js" src="https://www.corkchoral.ie/wp-content/plugins/complianz-gdpr/cookiebanner/js/complianz.min.js?ver=1789651989"></script>
1828 1829 <style wpcb-ids='36' class='wpcb2-inline-style'> 1830 1831 @charset "UTF-8";.wp-element-caption{font-size:var(--text-s)}.page-content-section .has-x-large-font-size{font-size:var(--text-xl);letter-spacing:var(--heading-letter-spacing)}.page-content-section .has-large-font-size{font-size:var(--text-l);letter-spacing:var(--heading-letter-spacing)}.page-content-section .has-medium-font-size{font-size:var(--text-m)}.page-content-section .has-small-font-size{font-size:var(--text-s)}.page-content-section .icon-card-alpha{grid-column:feature-max}.page-content-section .wp-block-accordion{display:flex;flex-direction:column;gap:var(--space-xs);grid-column:feature}.page-content-section .wp-block-accordion .wp-block-accordion-item .wp-block-accordion-heading{font-size:var(--text-m);font-weight:600;text-decoration:none}.page-content-section .wp-block-accordion .wp-block-accordion-item .wp-block-accordion-heading .wp-block-accordion-heading__toggle{text-align:left}.page-content-section .wp-block-accordion .wp-block-accordion-item .wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon{font-size:var(--text-xl);width:1em;height:1em;line-height:1;padding-bottom:.25em;transition:transform var(--transition-duration) var(--transition-timing)}.page-content-section .wp-block-accordion .wp-block-accordion-item .wp-block-accordion-panel{transition:all var(--transition-duration) var(--transition-timing);padding-inline:var(--space-xs)}.page-content-section .wp-block-accordion .wp-block-accordion-item .wp-block-accordion-panel[aria-hidden=true],.page-content-section .wp-block-accordion .wp-block-accordion-item .wp-block-accordion-panel[inert]{max-height:0;overflow:hidden;opacity:0;display:block}.page-content-section .wp-block-accordion .wp-block-accordion-item.is-open .wp-block-accordion-panel{padding-block:var(--space-xs);max-height:fit-content;overflow:visible;opacity:1}.page-content-section .wp-block-accordion .wp-block-accordion-heading__toggle{border:2px solid var(--primary);border-radius:var(--btn-border-radius);padding-block:.75em;padding-inline:.75em}.page-content-section .wp-block-accordion .wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title{text-decoration:none}.page-content-section .wp-block-accordion .wp-block-accordion-heading__toggle:focus-visible{outline-style:solid;outline-color:var(--focus-color);outline-width:var(--focus-width);outline-offset:var(--focus-offset)}.page-content-section .wp-block-accordion .wp-block-accordion-item.is-open>.wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon{transform:rotate(180deg)}.page-content-section .wp-block-group{padding-inline:var(--card-padding);padding-block:var(--card-padding);grid-column:feature-max;border-radius:var(--radius)}.page-content-section .wp-block-columns.wp-block-columns-is-layout-flex{gap:var(--content-gap)}.page-content-section .wp-block-button .wp-block-button__link{background:var(--primary);color:var(--primary-ultra-light);border-color:var(--primary);border-width:var(--btn-outline-border-width);border-radius:var(--btn-border-radius);font-weight:var(--btn-font-weight);text-decoration:none}.page-content-section .wp-block-button .wp-block-button__link:hover{background:var(--primary-hover);color:var(--primary-ultra-light);border-color:var(--primary-hover)}.page-content-section .wp-block-button .wp-block-button__link:focus{--focus-color:var(--primary-light)}.page-content-section .wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--primary)}.page-content-section .wp-block-image.aligncenter img{margin:0 auto}.page-content-section figure.wp-block-gallery.has-nested-images{display:flex;flex-wrap:wrap}.page-content-section blockquote.wp-block-quote{grid-column:feature}.header-logo--inverted{display:none}@media (min-width:1135px){header.header[data-overlay-nav="show true"]:not(.header--visible){background:transparent}header.header[data-overlay-nav="show true"]:not(.header--visible) .header-logo--normal{display:none}header.header[data-overlay-nav="show true"]:not(.header--visible) .header-logo--inverted{display:block}header.header[data-overlay-nav="show true"]:not(.header--visible) ul.etch-nav__list>li>a:not([data-link-style="Button"]),header.header[data-overlay-nav="show true"]:not(.header--visible) ul.etch-nav__list>li>button>span,header.header[data-overlay-nav="show true"]:not(.header--visible) ul.etch-nav__list>li>button>svg{filter:invert(100%) hue-rotate(180deg)}}.header{position:fixed;top:var(--wp-admin--admin-bar--height,0px);left:0;right:0;z-index:1000;background-color:var(--white);transition:var(--transition)}.header.header--hidden{transform:translateY(calc(-1 * var(--header-height)));opacity:1}.header.header--visible{transform:translateY(calc(-1 * var(--top-bar-height)));opacity:1;background-color:var(--white);box-shadow:0 0 40px color-mix(in srgb,black 10%,transparent)}.header .top-bar{transition:var(--transition)}.header.header--hidden .top-bar,.header.header--visible .top-bar{visibility:hidden;pointer-events:none}nav.etch-nav{--top-margin:calc(var(--header-height) + var(--wp-admin--admin-bar--height,0px))}nav.etch-nav ul.etch-nav__list>li>a[data-link-style="Button"]{--btn-background:var(--secondary);--btn-border-color:var(--secondary);--btn-text-color:var(--white);background:var(--btn-background);color:var(--btn-text-color);padding-block:var(--btn-padding-block);padding-inline:var(--btn-padding-inline);line-height:var(--btn-line-height);font-style:var(--btn-font-style);text-transform:var(--btn-text-transform);letter-spacing:var(--btn-letter-spacing);text-decoration:var(--btn-text-decoration);border-width:var(--btn-border-width);border-style:var(--btn-border-style);border-radius:var(--btn-border-radius);border-color:var(--btn-border-color);transition:var(--btn-transition,var(--transition));justify-content:var(--btn-justify-content,center);text-align:var(--btn-text-align,center);display:var(--btn-display,inline-flex)}nav.etch-nav ul.etch-nav__list li.etch-nav__item{font-size:calc(var(--text-s) * 1.1);font-weight:500}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown:has([data-dropdown-style="Mega"]){position:inherit}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown:has([data-dropdown-style="Mega"]):has(>button.etch-nav__button--dropdown-toggle[aria-expanded="true"]) ul.etch-nav__flyout{visibility:visible}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown:has([data-dropdown-style="Mega"]) ul.etch-nav__dropdown{width:100%;max-width:var(--content-width,1366px);left:0;right:0;margin-inline:auto;display:flex;flex-direction:row;justify-content:space-between;max-height:inherit!important}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown:has([data-dropdown-style="Mega"]) ul.etch-nav__dropdown li.etch-nav__item--has-flyout{position:relative}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown:has([data-dropdown-style="Mega"]) ul.etch-nav__dropdown li.etch-nav__item--has-flyout ul.etch-nav__flyout{position:relative;
1831left:0;max-height:inherit!important;opacity:1;box-shadow:none}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown:has([data-dropdown-style="Mega"]) ul.etch-nav__dropdown li.etch-nav__item--has-flyout ul.etch-nav__flyout li.etch-nav__item{position:relative;pointer-events:all}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown:has([data-dropdown-style="Mega"]) ul.etch-nav__dropdown li.etch-nav__item--has-flyout ul.etch-nav__flyout li.etch-nav__item a.etch-nav__link{position:relative}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown:has([data-dropdown-style="Normal"]){position:relative}@media (min-width:1135px){nav.etch-nav{--nav-item-block-padding:.5em;--nav-item-inline-padding:.5em}nav.etch-nav ul.etch-nav__list ul.etch-nav__dropdown{border-radius:6px;padding-block:.5em;padding-inline:.5em}nav.etch-nav ul.etch-nav__list ul.etch-nav__dropdown[data-dropdown-style="Mega"]{padding:var(--space-s);top:calc(var(--header-height) - var(--space-m))}nav.etch-nav ul.etch-nav__list button.etch-nav__button--flyout-toggle{cursor:default}nav.etch-nav ul.etch-nav__list button.etch-nav__button--flyout-toggle:hover{color:inherit}nav.etch-nav ul.etch-nav__list button.etch-nav__button--flyout-toggle>span{font-weight:var(--heading-font-weight,600);font-size:var(--text-m);color:var(--black);padding-block-end:.15em}nav.etch-nav ul.etch-nav__list button.etch-nav__button--flyout-toggle>span:after{content:" â·";position:relative;color:var(--secondary-hover)}nav.etch-nav ul.etch-nav__list button.etch-nav__button--flyout-toggle>svg{display:none}}@media (max-width:1135px){nav.etch-nav[aria-expanded="true"]{height:calc(100vh - var(--header-height));width:100vw;box-shadow:0 4px 25px oklch(0 0 0/0.22)}nav.etch-nav ul.etch-nav__list{background-color:var(--nav-mobile-background-color,#fff);height:calc(100dvh - var(--top-margin));max-height:calc(100dvh - var(--top-margin))!important;overflow-y:auto;overscroll-behavior:contain}nav.etch-nav ul.etch-nav__list li.etch-nav__item{position:relative!important;padding:1em var(--gutter);border-bottom:1px solid var(--border-color-dark);width:100%}nav.etch-nav ul.etch-nav__list button>svg{transition:none}nav.etch-nav ul.etch-nav__list button[aria-expanded="false"] svg{transform:rotate(-90deg)}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown>button[aria-expanded="true"]{position:absolute;height:var(--header-height);top:calc(var(--header-height) * -.83);gap:.4em;align-items:center;color:var(--black)}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown>button[aria-expanded="true"]>span{display:none}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown>button[aria-expanded="true"]>svg{transform:rotate(90deg)}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown>button[aria-expanded="true"]::after{content:"Back"}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown ul.etch-nav__dropdown,nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown ul.etch-nav__flyout{transition:transform .2s ease-in-out;background:var(--nav-background-color,#fff);width:100%;height:calc(100dvh - var(--top-margin));max-height:calc(100dvh - var(--top-margin))!important;overflow-y:auto;overscroll-behavior:contain}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown ul.etch-nav__dropdown{top:var(--top-margin);position:fixed!important;min-height:calc(100dvh - var(--top-margin));height:calc(100dvh - var(--top-margin));max-height:calc(100dvh - var(--top-margin))!important;flex-direction:column!important;justify-content:flex-start!important}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown:has(>button[aria-expanded="false"]) ul.etch-nav__dropdown{transform:translateX(-100%)}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown:has(>button[aria-expanded="true"]){position:static!important}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown:has(>button[aria-expanded="true"]) ul.etch-nav__dropdown{transform:translateX(0);z-index:9999;left:0}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-flyout ul.etch-nav__flyout{flex-direction:column;justify-content:flex-start;position:fixed!important;height:calc(100dvh - var(--top-margin));max-height:calc(100dvh - var(--top-margin))!important;overflow-y:auto;overscroll-behavior:contain;top:0}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-flyout:has(>button[aria-expanded="false"]) ul.etch-nav__flyout{transform:translateX(-100%)}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-flyout:has(>button[aria-expanded="true"]) ul.etch-nav__flyout{transform:translateX(0);z-index:99999}}@media (max-width:1135px){header.header-alpha:has(nav>ul>li>button[aria-expanded="true"]) .header-alpha__logo,header.header-alpha:has(nav>ul>li>button[aria-expanded="true"]) .header-logo-link,header.header:has(nav>ul>li>button[aria-expanded="true"]) .header-alpha__logo,header.header:has(nav>ul>li>button[aria-expanded="true"]) .header-logo-link{opacity:0;z-index:-1}}.wp-block-envira-envira-gallery{grid-column:full}.wp-block-envira-envira-gallery .envira-pagination{margin-inline:auto;max-inline-size:max-content}.trp-shortcode-switcher{z-index:9999;padding:0;--border-radius:7px;--bg:var(--white);--font-size:var(--text-s)}.trp-shortcode-switcher.trp-shortcode-overlay{left:-10px}.trp-shortcode-switcher .trp-language-item{padding:.3em .6em}.trp-shortcode-switcher .trp-language-item .trp-language-item-name{line-height:1.4}.trp-shortcode-switcher .trp-language-item:focus-visible{outline-style:solid;outline-color:var(--focus-color);outline-width:var(--focus-width);outline-offset:-2px}.trp-shortcode-switcher .trp-current-language-item__wrapper .trp-language-item{gap:.4em}.trp-shortcode-switcher .trp-switcher-dropdown-list .trp-language-item{min-width:max-content}:root,body{--edd-blocks-button-background:var(--secondary,var(--f-light-btn-background));--edd-blocks-button-text:var(--secondary-ultra-light,var(--f-light-btn-text-color))}.edd-blocks-receipt__items .edd-blocks-receipt__item-details{display:flex;flex-direction:column;gap:.5em}.edd-blocks-receipt__items .edd-blocks__row{display:flex;flex-direction:column;align-items:flex-start;padding:1em 0}.edd-blocks-receipt__items .edd-blocks__row ul{display:flex;flex-direction:column;gap:.15em}.edd-blocks-receipt__items .edd-blocks__row ul li a{text-decoration:none;font-size:var(--text-s)}#edd_purchase_form.edd_form,#edd-blocks-form__login,#edd-blocks-form__lost-password,#edd_profile_editor_form,#edd_login_form{display:flex;flex-direction:column;gap:var(--content-gap)}#edd_purchase_form.edd_form input[type=text],#edd_purchase_form.edd_form input[type=password],#edd_purchase_form.edd_form select,#edd-blocks-form__login input[type=text],#edd-blocks-form__login input[type=password],#edd-blocks-form__login select,#edd-blocks-form__lost-password input[type=text],#edd-blocks-form__lost-password input[type=password],#edd-blocks-form__lost-password select,#edd_profile_editor_form input[type=text],#edd_profile_editor_form input[type=password],#edd_profile_editor_form select,#edd_login_form input[type=text],#edd_login_form input[type=password],#edd_login_form select{padding:var(--wsf-field-padding-vertical,.85em) var(--wsf-field-padding-horizontal,1em);border-radius:var(--btn-border-radius);border-color:var(--primary-light);border-style:solid;border-width:var(--border-width)}#edd_purchase_form.edd_form input[type=text]:placeholder,#edd_purchase_form.edd_form input[type=password]:placeholder,#edd_purchase_form.edd_form select:placeholder,#edd-blocks-form__login input[type=text]:placeholder,#edd-blocks-form__login input[type=password]:placeholder,#edd-blocks-form__login select:placeholder,#edd-blocks-form__lost-password input[type=text]:placeholder,#edd-blocks-form__lost-password input[type=password]:placeholder,#edd-blocks-form__lost-password select:placeholder,#edd_profile_editor_form input[type=text]:placeholder,#edd_profile_editor_form input[type=password]:placeholder,#edd_profile_editor_form select:placeholder,#edd_login_form input[type=text]:placeholder,#edd_login_form input[type=password]:placeholder,#edd_login_form select:placeholder{color:var(--wsf-field-color-placeholder,var(--neutral-light))}#edd_purchase_form.edd_form fieldset,#edd_purchase_form.edd_form fieldset#edd_cc_fields,#edd-blocks-form__login fieldset,#edd-blocks-form__login fieldset#edd_cc_fields,#edd-blocks-form__lost-password fieldset,#edd-blocks-form__lost-password fieldset#edd_cc_fields,#edd_profile_editor_form fieldset,#edd_profile_editor_form fieldset#edd_cc_fields,#edd_login_form fieldset,#edd_login_form fieldset#edd_cc_fields{border-width:1px;border-radius:var(--radius-s);padding:var(--space-m);border-color:var(--border-color-dark);
1831display:flex;flex-direction:column;gap:1em}#edd_purchase_form.edd_form .edd-blocks-form,#edd-blocks-form__login .edd-blocks-form,#edd-blocks-form__lost-password .edd-blocks-form,#edd_profile_editor_form .edd-blocks-form,#edd_login_form .edd-blocks-form{border-radius:var(--radius-s);padding:var(--space-m)}#edd_purchase_form.edd_form .edd-blocks-form .edd-blocks-form__group>label,#edd-blocks-form__login .edd-blocks-form .edd-blocks-form__group>label,#edd-blocks-form__lost-password .edd-blocks-form .edd-blocks-form__group>label,#edd_profile_editor_form .edd-blocks-form .edd-blocks-form__group>label,#edd_login_form .edd-blocks-form .edd-blocks-form__group>label{font-size:var(--f-form-font-size);font-weight:var(--wsf-field-label-font-weight,400);color:var(--text-dark);line-height:var(--text-line-height)}#edd_purchase_form.edd_form .edd-blocks-form .edd-description,#edd-blocks-form__login .edd-blocks-form .edd-description,#edd-blocks-form__lost-password .edd-blocks-form .edd-description,#edd_profile_editor_form .edd-blocks-form .edd-description,#edd_login_form .edd-blocks-form .edd-description{color:var(--neutral-semi-dark);font-size:var(--text-s)}#edd_purchase_form.edd_form .edd-blocks-form input[type=text],#edd_purchase_form.edd_form .edd-blocks-form select,#edd-blocks-form__login .edd-blocks-form input[type=text],#edd-blocks-form__login .edd-blocks-form select,#edd-blocks-form__lost-password .edd-blocks-form input[type=text],#edd-blocks-form__lost-password .edd-blocks-form select,#edd_profile_editor_form .edd-blocks-form input[type=text],#edd_profile_editor_form .edd-blocks-form select,#edd_login_form .edd-blocks-form input[type=text],#edd_login_form .edd-blocks-form select{padding:var(--wsf-field-padding-vertical,.85em) var(--wsf-field-padding-horizontal,1em);border-radius:var(--btn-border-radius);border-color:var(--primary-light);border-style:solid;border-width:var(--border-width)}#edd_purchase_form.edd_form .edd-blocks-form input[type=text]:placeholder,#edd_purchase_form.edd_form .edd-blocks-form select:placeholder,#edd-blocks-form__login .edd-blocks-form input[type=text]:placeholder,#edd-blocks-form__login .edd-blocks-form select:placeholder,#edd-blocks-form__lost-password .edd-blocks-form input[type=text]:placeholder,#edd-blocks-form__lost-password .edd-blocks-form select:placeholder,#edd_profile_editor_form .edd-blocks-form input[type=text]:placeholder,#edd_profile_editor_form .edd-blocks-form select:placeholder,#edd_login_form .edd-blocks-form input[type=text]:placeholder,#edd_login_form .edd-blocks-form select:placeholder{color:var(--wsf-field-color-placeholder,var(--neutral-light))}#edd_purchase_form.edd_form .edd-blocks-form legend,#edd-blocks-form__login .edd-blocks-form legend,#edd-blocks-form__lost-password .edd-blocks-form legend,#edd_profile_editor_form .edd-blocks-form legend,#edd_login_form .edd-blocks-form legend{font-size:var(--f-form-font-size,var(--text-m));font-weight:var(--wsf-section-legend-font-weight,600)}#edd_purchase_form.edd_form .edd-blocks__payment-details,#edd-blocks-form__login .edd-blocks__payment-details,#edd-blocks-form__lost-password .edd-blocks__payment-details,#edd_profile_editor_form .edd-blocks__payment-details,#edd_login_form .edd-blocks__payment-details{display:flex;flex-direction:column;gap:var(--content-gap)}#edd_purchase_form.edd_form .edd-blocks__payment-details #edd_purchase_submit,#edd-blocks-form__login .edd-blocks__payment-details #edd_purchase_submit,#edd-blocks-form__lost-password .edd-blocks__payment-details #edd_purchase_submit,#edd_profile_editor_form .edd-blocks__payment-details #edd_purchase_submit,#edd_login_form .edd-blocks__payment-details #edd_purchase_submit{border:0 solid transparent;gap:var(--content-gap);display:flex;flex-direction:column}#edd_purchase_form.edd_form .edd-blocks__payment-details #edd_purchase_submit fieldset,#edd-blocks-form__login .edd-blocks__payment-details #edd_purchase_submit fieldset,#edd-blocks-form__lost-password .edd-blocks__payment-details #edd_purchase_submit fieldset,#edd_profile_editor_form .edd-blocks__payment-details #edd_purchase_submit fieldset,#edd_login_form .edd-blocks__payment-details #edd_purchase_submit fieldset{border:0 solid transparent;padding:0}dialog #edd-blocks-form__login{padding:0;margin-top:var(--space-s);border-width:0;gap:calc(var(--content-gap) / 2)}dialog #edd-blocks-form__login .edd-blocks-form__group-lost-password{display:none}:root{--fluentform-primary:var(--secondary);--fluentform-secondary:var(--neutral-semi-dark);--fluentform-danger:#f56c6c;--fluentform-border-color:var(--border-color-dark);--fluentform-border-radius:var(--btn-radius);--fluentform-input-select-height:auto;--f-input-height:inherit}.ff-default .ff-el-form-control{padding:var(--wsf-field-padding-vertical,.85em) var(--wsf-field-padding-horizontal,1em)}.frm-fluent-form .ff-btn:not(.ff_upload_btn),.edd-submit{background-color:var(--secondary,var(--f-light-btn-background));color:var(--secondary-ultra-light,var(--f-light-btn-text-color));border-style:var(--btn-border-style,solid);border-width:var(--btn-border-width,2px);border-color:var(--secondary,var(--f-light-btn-border-color));border-radius:var(--btn-border-radius,var(--f-btn-border-radius));-webkit-border-radius:var(--btn-border-radius,var(--f-btn-border-radius));-moz-border-radius:var(--btn-border-radius,var(--f-btn-border-radius));-ms-border-radius:var(--btn-border-radius,var(--f-btn-border-radius));-o-border-radius:var(--btn-border-radius,var(--f-btn-border-radius));font-size:var(--btn-font-size,var(--f-btn-text-size));font-weight:var(--btn-font-weight,400);line-height:var(--btn-line-height,1);padding-block:var(--btn-padding-block,var(--f-btn-padding-y));padding-inline:var(--btn-padding-inline,var(--f-btn-padding-x));margin-block-start:var(--f-btn-margin-top,0);text-align:center;-webkit-text-decoration:var(--btn-text-decoration,var(f-btn-text-decoration));text-decoration:var(--btn-text-decoration,var(--f-btn-text-decoration));text-transform:var(--btn-text-transform,var(--f-btn-text-transform));transition:all var(--btn-transition-duration) ease;min-height:inherit;inline-size:var(--btn-width,auto);min-inline-size:var(--btn-min-width)}.frm-fluent-form .ff-btn:not(.ff_upload_btn):hover{background-color:var(--secondary-hover,var(--f-light-btn-background));color:var(--white,white);border-color:var(--secondary-hover,var(--f-light-btn-background))}.frm-fluent-form .ff-btn:not(.ff_upload_btn):hover{opacity:inherit}:root{--wpgb-accent-scheme-1:var(--primary);--wpgb-dark-scheme-1:var(--neutral-dark);--wpgb-dark-scheme-2:var(--neutral-semi-dark);--wpgb-dark-scheme-3:var(--neutral-semi-light);--wpgb-light-scheme-1:var(--white);--wpgb-light-scheme-2:var(--neutral-ultra-light);--wpgb-light-scheme-3:var(--neutral-light)}
1831.wpgb-facet fieldset:last-child{margin-bottom:0}.wpgb-facet .wpgb-checkbox-label>span,.wpgb-facet .wpgb-radio-label>span{color:var(--primary-semi-light)}.wpgb-facet .wpgb-pagination{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.wpgb-facet .wpgb-pagination li>a{background-color:var(--secondary);padding-inline:var(--btn-padding-inline);padding-block:var(--btn-padding-block);border-radius:var(--btn-border-radius);font-size:var(--text-m);font-weight:var(--btn-font-weight);color:var(--white)}.wpgb-facet .wpgb-pagination li>a:hover{background-color:var(--secondary-hover);padding-inline:var(--btn-padding-inline);padding-block:var(--btn-padding-block);border-radius:var(--btn-border-radius);font-size:var(--text-m);font-weight:var(--btn-font-weight)}html,body{overflow-x:hidden}.hide,.display--none{display:none}a[target="_blank"]:not(.social-links-alpha__link,.etch-nav__link,[class*="btn--"],.wp-block-button__link){position:relative;padding-inline-end:.75em}a[target="_blank"]::after{position:absolute;inset-inline-end:0}[class*="btn--"]:has(svg){display:flex;white-space:nowrap;gap:.35em;text-decoration:none;width:auto;align-items:center}[class*="btn--"]:has(svg)>svg{width:1.2em;fill:var(--btn-text-color);transition:var(--btn-transition,var(--transition))}[class*="btn--"]:has(svg):hover>svg{fill:var(--btn-text-color-hover)}body.no-scroll{overflow:hidden;position:fixed;width:100%;height:100%}body.ff_landing_page_body{display:block} 1832 </style> 1833 1834 </body> 1835</html><!-- Performance optimized by Redis Object Cache. Learn more: https://wprediscache.com --> 1836<!-- WP Fastest Cache file was created in 0.484 seconds, on 18 September 2026 @ 5:03 pm --><!-- via php -->
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.