Even if you’re not a millennial parent, there’s a good chance you’ve heard about Bluey. The Australian animated children’s series centers on the Heelers, a family of anthropomorphic dogs made up of parents Chilli (Mum) and Bandit (Dad), and their two daughters, 6-year-old (or 7-year-old, in later episodes) Bluey and 4-year-old Bingo. Each episode is a bite-size treat, clocking in at about seven or so minutes. But what sets Bluey apart from other kids’ TV shows is how — even though the target audience is ostensibly children aged 5 to 7 — the series is equally entertaining (and at times, an emotional gut punch) for the parents.
I’ve cried watching episodes of Bluey with my daughter, and I know I’m not the only one. Bluey takes the banal challenges of raising children and infuses those commonplace struggles with humor, joy, and wonder. Some episodes are straight-up silly, showcasing each of the Heelers’ personalities; some convey their story with a fun twist in presentation; and some will see you bawling your eyes out on the couch at 3 p.m. on a Sunday. All the great Bluey episodes, however, stick with you. Moments from the sillier ones pop up as you try to navigate similar child-rearing scenarios, and the tearjerkers twist your heart into knots, reminding you of the terrible joy that comes with parenthood.
There are currently three seasons, over 150 episodes in total, streaming in the U.S. on Disney+. For those new to the series, whose fans include childless adults (yes, the show is that good), that number might seem daunting. Each Bluey episode stands on its own, however, though there are definite callbacks in later episodes to things that happened in previous stories. (Yes, I saw that Yes/No button toy from season two’s “Dance Mode” underneath those couch cushions in season three’s “Cubby.”)
If you’re looking for an intro to the show or just want to revisit some instant classics, here are 15 essential Bluey episodes that give you a sampling of what the series offers up. Hooray!
“Keepy Uppy” (Season 1, Episode 3)
Since the show is supposedly meant for young kids, I asked my 3-year-old daughter what the best Bluey episode was. Her response was “Keepy Uppy,” and even though her answer will likely be different if I ask her an hour from now, she’s right. In the episode, Bluey finds a lone balloon that Chilli turns into the titular game, where her two children have to keep it from touching the ground. When the game gets stale, Bandit steps in and makes it more challenging for the kiddos. Excitement and, ultimately, the balloon’s inevitable demise, ensue. The episode not only showcases the personalities of the four Heelers but also how they all interact with each other, with Chilli and Bandit building on the shenanigans of their children in constructive ways that real-life human parents can never dream of emulating. It also has a killer song to go with it, allowing you to play your own game of Keepy Uppy at home, a pastime that can keep your little squirt occupied for tens of minutes.
“Fruit Bat” (Season 1, Episode 8)
Chilli and Bandit often display unachievable levels of play with their children, committing to whatever bit Bingo or Bluey come up with, even if that means public humiliation like pretending to be a toddler at the grocery store or enduring physical pain during a hairdressing appointment gone wrong. The Heeler parents have also, however, given me tips for handling my own kid. “Fruit Bat,” an early episode, beautifully captures the Heeler family dynamics and gave me two parenting tools I use daily: the introduction of the “tactical wee,” which Bingo explains is taken to prevent an accident in the night, and Bandit telling Bluey that jumping on the bed is a “daytime game.” These two tips alone make this a must-watch. Traveling through Bluey’s ethereal dreamscape as she sees her dad play touch football with his friends (something he can’t do that much anymore because, you know, kids) is a bonus.
“Fairies” (Season 1, Episode 30)
Several Bluey episodes center around one of the parents (usually Bandit) messing up, as parents are wont to do. In “Fairies,” Bandit (it’s always Bandit) hurts Bingo’s feelings by snapping at her when she bothers him while he’s writing a work email. (We are all Bandit.) He and Chilli make things better by pretending fairies have invaded their home; Bandit ends up doing an embarrassing dance in front of their neighbors to appease the fairies (a.k.a. Bingo). The episode conveys one of Bluey’s recurring themes: All parents fuck up, but how you as a parent respond to your fuck-up is just as important as trying not to fuck up at all. The fairy folk song that goes with this episode is also one that doesn’t grate too much after hearing it over a hundred times.
“Daddy Dropoff” (Season 2, Episode 8)
Some Bluey episodes are straight-up silly all the way through as they convey their respective parenting/child development message, and some are clearly meant to pluck your heartstrings from the get-go. And then there are the sneaky episodes, the ones that seem like they’re going to fit in the silly category and then rudely make you start crying in their final seconds. “Daddy Dropoff” falls into this final category (as does season one’s “Camping”). The bulk of “Daddy Dropoff” centers on Bandit trying to get Bingo and Bluey to school on time and being thwarted every which way, in part because he plays along with their games, including having him move in slow-motion when Bingo waves a wand (a.k.a. a leaf) at him. Without spoiling it, Bandit’s willingness to play with his kids, even when faced with the stress of getting them to school on time, has an unforeseen fortuitous consequence for Bingo. How dare the show make me cry in this episode’s final few seconds. The audacity.
“Sleepytime” (Season 2, Episode 9)
“Sleepytime” is a beautiful episode, one where Bingo strives to stay in her bed all night. The youngest Heeler drifts off to a meditative dreamland where she and her stuffed bunny travel the solar system while, in real life, her parents handle the nighttime awakenings that are commonplace in a household with small people. The imagery is beautiful — from Bingo’s traveling in the cosmos to the flecks of dust floating around the glass of water by her bed — and captures the radiant love and comfort Bingo gets from her family (Chilli’s love is literally the warmth of the sun, for example, in Bingo’s dream). It will, in short, make you cry, not unlike the stellar “Rain,” a season-three episode with no words, where Bluey finds joy in a rainstorm that Chilli eventually embraces as well.
“Bus” (Season 2, Episode 22)
Bingo and Bluey pretend to be Grannies in several episodes (see season one’s “Grannies” and season three’s “Granny Mobile” for other examples), but season two’s “Bus” captures the kids’ Granny personas the best. The Heelers are playing at home, with Bandit pretending to be a bus driver taking the Grannies and a nice lady (a.k.a. Chilli) around town. The trip takes many twists and turns — will the lady with the pretty hat have the nerve to ask the bus driver out?! — and is a great example of one of the series’ sillier episodes.
“Christmas Swim” (Season 2, Episode 26)
We meet members of the larger Heeler family throughout Bluey’s three seasons, and most of them (on Bandit’s side of the family, at least) are showcased in season two’s “Christmas Swim.” In it, Bluey gets a new toy dog she names Bartlebee, and she gets upset when others treat the stuffed animal too roughly. Uncle Rad’s girlfriend, Frisky (the two had a meet-cute in the earlier episode “Double Babysitter”), helps Bartlebee give Bluey’s family a second chance. The Heelers, she says, are a bit crazy but also full of love. The episode evokes a loud, raucous family gathering (and, for us in North America, the novelty of a summertime Christmas!) and captures the loving chaos that all Heelers embody.
“See Saw” (Season 2, Episode 27)
We also meet several of Bluey and Bingo’s friends throughout the show, and in “See Saw” many of them make an appearance. But it is a showcase for Pom Pom, a tiny Pomeranian who, in this episode, feels left out because she’s so small. Bandit picks up on this and taunts the other kids by sitting on one side of a seesaw, keeping them up in the air. Bluey goes around corralling all the kids at the playground to outweigh Bandit, and it’s Pom Pom — who psyches herself up by saying the meme-able line, “Pomeranians are a small but hearty breed!” — who literally tips the scales and gains confidence in the process.
“Library” (Season 2, Episode 30)
I admit that Bluey and Bingo’s cousin, Muffin, is a personal favorite. Muffin is a 3-year-old ball of uncontained chaos (for further evidence, watch “Faceytalk” and/or “The Sleepover”). Muffin’s wrath is unleashed in “Library” when her dad tells her that she’s the most special kid in the world. Muffin takes that to mean she can do whatever she wants, and she wreaks havoc on Bluey and Bingo’s game of library, causing Muffin’s dad to tell her she isn’t special. A chaotic Muffin is worth the watch alone, but the message from this episode to kids — you’re just not that great! — is a bold one, and one that few shows other than Bluey would even broach.
“Baby Race” (Season 2, Episode 47)
I can’t help but imagine that the prompt for “Baby Race” was to see how hard the Bluey writers could make the mothers watching cry. My unofficial poll of parents about this episode has the cry rate at 100%, and it saw me sobbing out messy tears by the end. In it, we get a flashback to Bluey as a baby. The story focuses, however, on Chilli as a new mother. When Bluey didn’t learn to walk as fast as others, she felt like a failure. Coco’s mom — a poodle with nine(!) children — tells a struggling Chilli that she’s a good mom, something that every parent needs to hear once in a while. That moment was where I started to lose it, but when we shift to baby Bluey’s point of view in the final seconds as she takes her first steps toward what she wants — her mom — the waterworks were going full blast.
“Mini Bluey” (Season 3, Episode 7)
The dynamic between Bluey and Bingo is another core aspect of the show. And while the two sisters share many interests, they have marked differences from one another. Those differences are highlighted in “Mini Bluey,” where Bingo, painted blue by her sister, becomes Mini Bluey and mirrors everything her older sister does. When the two switch roles, with Bluey becoming Big Bingo, Bandit messes up yet again and says he wishes there were two Bingos all the time. Bluey gets upset but is consoled by Bingo, who convinces her older sister that she, too, is really annoying, just in a different way. Another truth about children and parenting is laid bare: Each child is unique, and each child will get on your nerves in their own special way.
“Faceytalk” (Season 3, Episode 23)
I’m already on record as a Muffin fan, and “Faceytalk” is not only peak Muffin but also a scorching callout of millennial parenting practices. The episode gives a fun twist on the show’s usual presentation, with the bulk of it seen via the tablet screens that Bluey and Bingo are using to do the equivalent of FaceTime or Snapchat with their cousins, Muffin and Socks. As the story progresses, Muffin steals her dad’s phone after she’s put in time-out for hogging the table. He chases Muffin throughout the house, and we see this all unfold through his phone, which is still in Muffin’s hot little hand. As she runs, we get treated to faux backgrounds, Muffin’s dad turning into a gorilla wearing a bikini, and her parents arguing about their parenting approach ( “We don’t do time-outs anymore — I read a book!”) all while the other kiddos watch along. It packs a lot into 6.5-minutes and every second of it is gold.
“Onesies” (Season 3, Episode 32)
All Bluey episodes relate to children and adults on different levels, but some deal with more grown-up emotions and issues. “Onesies” is one of those — in it, Chilli’s sister Brandy visits them for the first time in four years, bringing the two kids animal onesies. Bingo, donning the cheetah onesie, becomes the carnivorous feline and attacks everyone else. As the episode progresses, it becomes clear that Brandy finds the visit difficult because she can’t have children of her own. “Onesies” explores the struggle and pain that comes from infertility — a topic not often seen in a children’s show targeted to 5-year-olds — and is another example of how Bluey’s vision is to create meaningful programming for adults as well as children.
“Relax” (Season 3, Episode 40)
A new tranche of episodes became available on Disney+ on January 12, and one of them, “Relax,” tackles a major message of the series head-on. The Heelers are on vacation, and the kids are excited about all the amenities found in their hotel by the beach. Chilli is quite wound up about the idea of relaxing (she even got a self-help book to aid her in doing so!) and heads to the beach by herself when Bluey and Bingo would rather take a bubble bath. Chilli, however, can’t relax; she comes home and sees her kids experience pure joy by kicking themselves in the butt with the rising leg rest on a sofa chair. As she looks at her children in loving wonder, she voices the implicit mantra of the show: “You kids just … go about it.” Chilli takes that mantra to heart, and finds her own wonder and joy in the everyday. “Relax” and the show as a whole urges you to “just go about it” as well. Take a breath, and find that wonder inside yourself.
“The Sign” (Season 3, Episode 49)
“The Sign” is the first Bluey episode that spans a whopping 28 minutes rather than its usual 6- or 7-minute format, and it lives up to the expanded run time. In the final, gasp-inducing moments of the episode prior, “Ghostbasket,” we see a “For Sale” sign in front of the Heelers’ house. “The Sign” digs into the emotions of that impending move to another city, which become entwined with the preparations (and drama) associated with Uncle Rad and Aunt Frisky’s wedding. This episode has it all for Bluey devotees, with numerous callbacks to previous installments both cheeky (I see you floating in the sky, Greenie) and tear-jerking (Chilli’s sister, who we met in “Onesies,” is pregnant!). It also carries the weight of the potential upheaval to the Bluey universe while making sure to stick to a poignant narrative that cleverly circles back to earlier moments to deliver an emotional whopper of an ending. This is a monumental episode for Bluey, and also one of the few that viewers will get more out of if they are already familiar with the series. Where will the show go from here? To paraphrase a through-line from “The Sign,” we’ll have to see. But I feel good about it.
By submitting your email, you agree to our
Terms and Privacy Notice
and to receive email correspondence from us. This site is protected by reCAPTCHA and the Google
Privacy Policy and
Terms of Service apply.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
Already a subscriber?
Already a subscriber?
`;
// integrate Sub(x) scripts and elements
if (hostname !== 'subs.nymag.com') { // do not integrate on this subdomain
document.head.appendChild(trackingScript);
document.body.insertAdjacentHTML('beforeend', subXAnimationElements);
}
There was an error processing the request. Please try again later."}).catch(e=>console.error("Error verifying email: ",e)))(r.querySelector(".content"),o.bannerCTAVerification)})):(l.remove(),s.remove()),o.dismissable||n.remove(),o.useAlertIcon||a.remove(),r.classList.add("show"),n.addEventListener("click",()=>{u(),r.classList.remove("show")})}else r.remove()}});
}, {"1":1,"6":6,"12":12,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(3),auth=require(12),signInButton=dom.find(".user-signin"),signOutButton=dom.find(".user-signout"),globalNav=dom.find('[class^="global-nav"]'),body=dom.find("body"),dropdownItems=dom.findAll(".dropdown-wrap"),gtm=require(1),appendLandingPageParams=require(136),pageUri=require(124).getPageUri(),subscriptionPromoLinks=dom.findAll(".persist-params"),searchString=window.location.search||"";function closeDropdowns(e){let n=globalNav.querySelectorAll(".dropdown.open");dropdownItems.forEach(function(t){let o=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||o.classList.remove("open")})}function gtmSendReport(e,n,t){let o={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(o.eventLabel=n.href),gtm.reportNow(o)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const o=t.split("?"),i=new URLSearchParams(o[1]);for(let e of n.entries())i.set(e[0],e[1]);t=`${o[0]}?${i.toString()}`,e.href=t}else e.href=`${t}?${n.toString()}`}}function init(e){const n=e.querySelectorAll(".to-landing-page");window.addEventListener("auth:init",()=>{signInButton.addEventListener("click",function(e){e.preventDefault(),auth.showEmbeddedLoginFlow("top navigation")}),signOutButton.addEventListener("click",function(e){e.preventDefault(),gtmSendReport("Sign Out",e.target,"user-info-link"),auth.logout()}),auth.isAuthenticated()&&e.classList.add("signed-in"),auth.isSubscriber()&&e.classList.add("subscribed"),e.querySelectorAll(".user-link").forEach(e=>{e.classList.add("active")}),subscriptionPromoLinks.forEach(e=>{updateElementTargetUrlsIfQueryStrings(e)}),appendLandingPageParams(n)})}dropdownItems.forEach(function(e){e.addEventListener("click",function(){e.querySelector(".dropdown").classList.toggle("open")})}),body.addEventListener("click",closeDropdowns),document.addEventListener("keydown",closeDropdowns),globalNav.addEventListener("click",function(e){let n=e.target;n.classList.contains("global-nav-track")&>mSendReport(n.text,n,"global-nav-link")}),module.exports=init;
}, {"1":1,"3":3,"12":12,"124":124,"136":136}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(221),_each=require(408),Fingerprint2=require(407),DS=require(406),Eventify=require(246);function registerGlobals(){window.DS=DS,window.Eventify=Eventify,window.Fingerprint2=Fingerprint2,DS.value("Eventify",Eventify),DS.value("Fingerprint2",Fingerprint2),DS.value("$document",window.document),DS.value("$window",window)}function mountDollarSliceComponents(){DS.service("components",["$document","$module",function(e,n){var o=_pickBy(n.definitions,e=>e.providerStrategy===n.providers.controller),r=Object.keys(o);function t(e){return o=>{try{n.get(e,o)}catch(e){logMountError(o,e)}}}_each(r,n=>{var o=e.querySelectorAll('[data-uri*="/_components/'+n+'/"]'),r=e.querySelectorAll('[data-uri$="/_components/'+n+'"]');_each(o,t(n)),_each(r,t(n))}),this.components=r}]),DS.get("components")}function logMountError(e,n){const o=e.outerHTML.slice(0,e.outerHTML.indexOf(e.innerHTML));console.error("Error attaching controller to "+o,n)}registerGlobals(),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{mountDollarSliceComponents()}):mountDollarSliceComponents();
}, {"221":221,"246":246,"406":406,"407":407,"408":408}];
window.modules["ads.legacy"] = [function(require,module,exports){"use strict";const _map=require(118),_forEach=require(107),_isString=require(268),_intersectionWith=require(409),_isEqual=require(274),_each=require(408),_debounce=require(182),_sortBy=require(205),page=require(124),visit=require(114);DS.service("adService",["Eventify","$cid","$document","$window",function(e,t,a,i){var o,n,s,r,d,c,u,l,g={},p=this,h=[],f=visit.getQueryParamsObject(["utm_campaign"]),m=document.querySelector('script[data-type="ad-a9"]'),b=[],w=!1,v=[],y=document.querySelector('script[data-name="ad-doubleverify"]');document.querySelector('script[data-name="concert-ads"]')||(i.NYM={},i.NYM.analytics={},i.NYM.analytics.adStartTime=i.performance.now(),i.googletag=i.googletag||{},i.googletag.cmd=i.googletag.cmd||[],u=i.googletag,(m||y)&&(i.googletag.cmd=i.googletag.cmd||[],i.googletag.cmd.push(function(){i.googletag.pubads().disableInitialLoad()})),m&&(l=i.setInterval(function(){void 0!==window.apstag&&void 0!==window.apstag.timeout&&(i.clearInterval(l),window.apstag.cleared=!0,l=null)},10),setTimeout(function(){l&&(i.clearInterval(l),i.googletag.pubads().refresh(),window.apstag||console.log("MESSAGE: Timeout for A9 load exceeded, aborting"))},500)),y&&(b.push(new Promise(function(e){w?e():v.push(e)})),c=i.setTimeout(T,2500)),o=function(e){var t,a,o=e.data,n=[];return o.loaded?e:(o.loaded=!0,t=null,(t=o.sizes?u.defineSlot(o.name,o.sizes,o.id).addService(u.pubads()):u.defineOutOfPageSlot(o.name,o.id).addService(u.pubads())).setTargeting("adid",o.id),f.hasOwnProperty("utm_campaign")&&t.setTargeting("utmcamp",f.utm_campaign),a=p.getAdCount(o.label),t.setTargeting("label",o.label+"_"+o.site+"-"+a),u.display(o.id),u.pubads().addEventListener("slotOnload",function(){i.NYM.analytics.firstAdLoadTime||(i.NYM.analytics.firstAdLoadTime=i.performance.now(),i.NYM.analytics.firstAdLoadLabel=e.data.label)}),n=_(o),Promise.all(b).then(function(){n?window.apstag&&window.apstag.cleared?window.apstag.fetchBids({slots:[n],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([t],{changeCorrelator:!1})})}):y&&u.pubads().refresh([t],{changeCorrelator:!1}):u.pubads().refresh([t],{changeCorrelator:!1})}),e.slot=t,e)},n=function(e){var a,i,o,n=t(),s=e.getAttribute("data-name"),r=e.getAttribute("data-sizes"),d=e.getAttribute("data-label"),c=e.getAttribute("data-site");n=e.id,r&&r.length?(r=r.split(","),a=[],_map(r,function(e){e=e.split("x"),i=parseInt(e[0]),o=parseInt(e[1]),a.push([i,o])})):(e.classList.add("oop"),a=!1),this.data={id:n,name:s,sizes:a,loaded:!1,label:d,site:c},g[n]=this},r=function(e){u.cmd.push(function(){var t=o(e);g[e.data.id]=t})},s=function(e){var t=[];e.slot?(t=_(e))&&window.apstag&&window.apstag.cleared&&window.apstag.fetchBids({slots:[t],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([e.slot],{changeCorrelator:!1})})}):e&&r(e)},u.cmd.push(function(){var e,t,o,n=page.getMeta("article:tag"),s=page.getMeta("author"),r=i.location.href,d=(e=a.head.querySelector(".head-gtm"),t=a.body.querySelector(".gtm"),e&&"top"===e.getAttribute("data-gtm")?"gtmtop":t&&"bottom"===t.getAttribute("data-gtm")?"gtmbottom":"");o=[],_forEach([n,s,d],function(e){_forEach(e.split(","),function(e){(e=e.trim().toLowerCase().replace(/\s/g,"-").replace(/\'|\’/g,"")).length&&o.push(e)})}),u.pubads().setTargeting("kw",o),u.pubads().setTargeting("entry_group",o),r=r.slice(r.lastIndexOf("/")+1),u.pubads().setTargeting("pn",r),u.companionAds().setRefreshUnfilledSlots(!0),u.pubads().enableAsyncRendering(),u.enableServices()}),this.load=r,this.create=function(e){return new n(e)},this.refresh=function(e){var t;_isString(e)?(t=this.getById(e),s(t)):s(e)},this.remove=function(e){var t=e.data.id;a.getElementById(t).innerHTML=""},this.getAdCount=function(e){var t,a=0,i=Object.keys(g);return _each(i,function(i){(t=g[i]).data.loaded&&t.data.label===e&&a++}),a},this.getById=function(e){return g[e]},d=_debounce(function(){var e={TopLeaderboard:1,RightColTopMPU:2,outOfPage:99,"homepageTakeover/TopLeaderboard":1},t=_sortBy(h,function(t){return e[t.data.label]||10});_forEach(t,function(e){return e.data.sizes?r(e):i.setTimeout(function(){r(e)},2e3)}),y&&window.PQ.cmd.push(()=>{try{window.PQ.loadSignals(["ids","bsc","vlp"],T)}catch(e){T(),console.error(`There has been an error loading Double Verify signals: ${e}`)}}),h=[]},10),this.addToPageLoadQueue=function(e){h.push(e),d()});function _(e){var t,a=e.sizes;return a=_intersectionWith(a,[[970,250],[970,90],[728,90],[300,600],[300,250],[320,100],[320,50]],_isEqual),e.sizes&&e.sizes.length&&(t={slotID:e.id,sizes:a,slotName:e.label}),t}function T(){i.clearTimeout(c),w=!0,_forEach(v,function(e){e()})}}]);
}, {"107":107,"114":114,"118":118,"124":124,"182":182,"205":205,"268":268,"274":274,"408":408,"409":409}];
window.modules["cid.legacy"] = [function(require,module,exports){"use strict";DS.service("$cid",function(){var r=Math.floor(100*Math.random());return function(){return"cid-"+ ++r}});
}, {}];
window.modules["client.legacy"] = [function(require,module,exports){"use strict";require("cid.legacy"),require("ads.legacy"),require("facebook.legacy"),require("aaa-module-mounting.legacy");
}, {"cid.legacy":"cid.legacy","aaa-module-mounting.legacy":"aaa-module-mounting.legacy","ads.legacy":"ads.legacy","facebook.legacy":"facebook.legacy"}];
window.modules["facebook.legacy"] = [function(require,module,exports){"use strict";DS.service("facebook",[function(){this.fb=function(i){window.FB&&window.FB[i].apply(this,Array.prototype.slice.call(arguments,1))}}]);
}, {}];
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o typeof key === 'string' && key.match(/\.legacy$/)).forEach(key => window.require(key));
}
function tryToMount(fn, el, name) {
try {
fn(el); // init the controller
} catch (e) {
const elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML));
console.error(`Error initializing controller for "${name}" on "${elementTag}"`, e);
}
}
/**
* mount client.js component controllers
*/
function mountComponentModules() {
Object.keys(window.modules).filter(key => typeof key === 'string' && key.match(/\.client$/)).forEach(key => {
let controllerFn = window.require(key);
if (typeof controllerFn === 'function') {
const name = key.replace('.client', ''),
instancesSelector = `[data-uri*="_components/${name}/"]`,
defaultSelector = `[data-uri$="_components${name}"]`,
instances = document.querySelectorAll(instancesSelector),
defaults = document.querySelectorAll(defaultSelector);
for (let el of instances) {
tryToMount(controllerFn, el, name);
}
for (let el of defaults) {
tryToMount(controllerFn, el, name);
}
}
});
}
// Make sure that a `window.process.env.NODE_ENV` is available in the client for any dependencies,
// services, or components that could require it
// note: the `` value is swapped for the actual environment variable in /lib/cmd/compile/scripts.js
window.process = window.process || {};
window.process.env = window.process.env || {};
if (!window.process.env.NODE_ENV) {
window.process.env.NODE_ENV = '';
}
// note: legacy controllers that require legacy services (e.g. dollar-slice) must
// wait for DOMContentLoaded to initialize themselves, as the files themselves must be mounted first
mountLegacyServices();
mountComponentModules();
// ]]