Dear Prudence is online weekly to chat live with readers. Here’s an edited transcript of this week’s chat.

Danny Lavery: What a time to be alive and seeking counsel! Let’s do our best.

Q. Choosing sides: Four years ago, my daughter “Cindy’s” husband “Andy” impregnated my other daughter, “Allison.” Andy left Cindy for Allison, and our family imploded. Cindy and Allison (and my third daughter, “Alice”) were very close growing up, so Allison hurting Cindy this way came out of the blue. Cindy suffered a breakdown, and our family rallied around her. A consequence of this is that we (my husband, Alice, and I) were not as involved with Allison’s pregnancy as we would otherwise have been. Alice sided with Cindy and largely cut Allison out of her life. My husband and I have seen Allison, but we despise Andy and were incredibly disappointed in her.

Allison and Andy now have two children and seem to be very much in love. I love my grandchildren, and I see them often. But, perhaps unfairly, I always give Cindy first dibs on the holidays, and my husband and I celebrate with Allison’s family on a different date if Cindy wants to spend it with us. I know Allison longs to make amends with her sisters and is sometimes upset that my husband and I don’t broker a peace. This holiday season we got in a fight because she feels that I’ve chosen Cindy over her and am punishing her children for something she and Andy did.

Am I a bad parent or grandparent if I never approve of their marriage? Cindy is engaged now, and Allison says that when Cindy has children, she worries I will favor them over her own. She says she knows what she did was wrong but that my husband and I shouldn’t punish her forever. I don’t want to punish Allison, but I just can’t bring myself to ignore the hurt she and Andy have caused our family.

A: The question of whether you’re punishing Allison is an open one—you may be!—but alternating holidays between her and Cindy is not a punishment so much as an acknowledgment of reality. It’s also not retribution that you haven’t “brokered a peace” with someone who’s very clearly uninterested in making peace! You cannot force Cindy to forgive Allison, and it would be wrong of you to promise anything of the kind. If those are Allison’s only objections to your conduct, you should kindly but firmly let her know you make no apologies for keeping Cindy in your life or respecting her limits by not trying to force them into the same room together. You say you love your grandchildren, see them often, and seem very clear that they’re not in any way responsible for how their parents got together, so unless there’s something critical you’re leaving out here, I don’t think you have to subscribe to Allison’s fear that you might someday favor Cindy’s hypothetical children over hers. Rather, her fear seems to be the idea that you’ll continue to maintain an independent relationship with Cindy and any children she may have, and that this will sometimes mean you can’t spend time simultaneously with Allison and her children. Again, that’s not a punishment—merely a consequence of only being able to be in one place at any given time.

If, on the other hand, Allison objects to how often you bring up the circumstances of her marriage to Andy, or any other (in)direct ways you remind them of your disapproval, you might find an opportunity to change something there. You don’t ever have to like how they got together, or even pretend that you do, but it is reasonable to ask that if you’re going to maintain a relationship that you act, after four years, as if they already know your opinion on the subject, and therefore don’t need to hear about it again.

How to Get Advice From Prudie:

• Send questions for publication to [email protected]. (Questions may be edited.)

• Join the live chat Mondays at noon. Submit your questions and comments here before or during the discussion.

• Call the voicemail of the Dear Prudence podcast at 401-371-DEAR (3327) to hear your question answered on a future episode of the show.

Q. Neighbor’s rude kids: My next-door neighbors have two kids with no filters. I’m a fairly heavy man and always have been. I’m pretty sensitive about my weight, and while most adults understand that you don’t call each other names, the neighbor’s little kids do not. They’ve started referring to me as “the fat guy,” “fatso,” or any number of things. They’ll yell it at me to get my attention when I’m on a walk and they’re playing in their yard, and if they see me glance at them, they’ll waddle around and make a parody of how I look and walk. Once, I gently tried to tell them that wasn’t nice, that some people are bigger and some are more slender and that’s just how people are, but one of them just looked me straight in the eye and said, “No, Mom says it’s because you eat too much.”

Not only should these kids not be policing anyone’s diets, they don’t know anything about me or my struggles. I can’t just give them a long sit-down about it, because I’m not their parents. They’re kids and don’t know any better, and it’s clear their parents think badly of my weight if they’re talking about me behind my back. But I can’t tell off someone else’s kids. I’m having trouble getting up the nerve to confront the parents because talking about my weight is really hard, but it really sucks to have these kids making fun of me like a bunch of childhood bullies. I don’t want to feel like I can’t go around the neighborhood because the kids will tease me, but … well, I do.

My family says I should just lose weight; my friends say that I shouldn’t care what kids say. The internet will probably just tell me I deserve it. Except it’s getting to me, getting in my head, and I don’t know what to do. I know me reacting isn’t helping, but I can’t just ignore this. Help?

A: Oh, you can absolutely tell off someone else’s kids! I think it should usually be as a last resort, and you should still be careful not to tell them off as if you were a kid yourself—exercise good common sense and don’t threaten them or call them names. But please don’t tell yourself that you’re not allowed to object more strenuously than, “Hey, that’s not nice.” You are.

Your family’s response I’ll dismiss out of hand as Lucille Bluth–level viciousness. “Unless you lose weight, you deserve to be mocked by whichever strangers feel compelled to mock you” is a shockingly cruel worldview (although sadly common). You don’t. That’s an awful thing for them to say, and they should be ashamed of themselves. Your friends may have better intentions; they want you to “rise above it,” but it’s difficult to rise above something that happens all the time, and which has been repeatedly drilled into you as something you deserve because of your size. It’s perfectly human and understandable to have your feelings hurt when people try to hurt your feelings. Yes, they’re kids and don’t have the sort of moral culpability that adults do; yes, it’s clear that they’re just repeating the shitty lessons they’re being taught at home. But you’re a human being, not an automaton, and it’s not a sign of weakness that you feel bad when someone follows you around to make fun of the way you look and move.

I can understand why you’re reluctant to talk to their parents, because the kids have made it pretty clear that they’re getting these ideas from their parents. The worry that you’d hear another version of “You brought this on yourself” or “Actually, it’s a good thing that my kids jeer you whenever you leave your house; being taunted by children for going outside is really good for one’s mental and physical health” is a real one. Your best options, as I see them, are to tell the kids off more strenuously (think “Knock it the hell off” rather than “I’m going to steal your bike”), and if the parents object, remain cheerfully bland and nonapologetic (“As long as your kids harass me in my front yard, I’m going to object with strong and appropriate language! If you don’t want them to hear curse words, maybe it’s time for the classic ‘If you can’t say something nice, don’t say anything at all’ ”). You say that talking about your weight is really difficult (and based on your friends and family’s reactions, I’m not surprised), so that may feel really ambitious; in that case you may prefer to leave a note with your neighbors rather than try to talk face-to-face. I don’t normally recommend leaving notes with neighbors when a conversation over the fence is possible, but this strikes me as a good case. I’m so sorry you have so little meaningful support right now—I hope you can find more in the future.

Q. Food woes: This is a nonproblem but I keep running into it. My friends and I are working hard to patronize local restaurants in our area (takeout only). We’ve also been trying to support Black-owned businesses in our city. Here’s the issue: All of the Black-owned restaurants near me are Southern and Cajun food, none of which I really like. I feel bad for not supporting these places, some of which are really struggling, but I genuinely don’t like to eat anything on the menu. Do you have any suggestions for how to support these businesses?

A: If you want to support Black-owned businesses, look for nonrestaurant businesses to patronize, and order food that you would like to eat.

Q. My sister’s in my COVID pod—and I’m starting to hate her: My sister’s family and mine formed a COVID pod back in March. We have four kids between us, all of whom got along well and are similar in age. We shared similar views on COVID safety and we live 10 minutes away, so creating a COVID pod seemed like a no-brainer.

Well, fast-forward 10 months, and I’m starting to hate my sister. Her latent anxiety and self-centeredness have really hit an all-time high. We wind up sniping at each other while our kids play in the yard. In a non-COVID time, I’d just scale back on our time together and let our kids go to someone else’s house. But I don’t feel comfortable interacting with other families (we live in a city full of people not taking COVID seriously) and I don’t want my kids to lose their only social outlet. I worry that if I let this keep going, we’ll say things to each other that we can’t take back. What should I do?

A: I wonder if you two can treat the sniping and the general resentment-through-cabin-fever as a totally understandable symptom of being cooped up together almost every day, rather than a terrible and shocking development you can’t acknowledge without permanent estrangement. “I don’t want to fight like this, and I don’t think you do either. I think it would help us both to structure some alone time while the kids are playing, so that when we do talk our nerves aren’t quite so jangled.” You could bring some headphones and listen to an audiobook or music during some of these play dates, saving more in-depth conversations for once or twice a week. That way, the kids can still see one another and burn off some energy, but you won’t continue to feel obligated to socialize every time the kids do.

Q. My old boss is talking trash on social media: My old boss “K” was pretty unsuccessful in his role. He was a bad manager and had the respect of basically no one. He was let go two years ago when he threw a temper tantrum over needing “accommodations” and the company wouldn’t give him everything he wanted.

Now he’s built up a new presence on social media as some sort of expert/consultant in our field. He’s constantly talking about his coaching and managerial skills, and it seems like people are actually listening to him! Additionally, he doesn’t hesitate to trash-talk his old employees—he doesn’t list us by name or describe anything recognizable, but he frequently will list specific actions and how he “fixed the problem” (he didn’t). I’ve tried muting him from my feed, but co-workers who are friends of mine keep bringing it up. We’re all annoyed and just want to call him out on it. Would this be appropriate? He lives in a different city than us, so it’s not like we’d run into him in the grocery store or anything.

A: The most appropriate solution to your annoyance is to say to your co-workers who keep bringing up his latest posts, “I’ve actually muted him and am trying to focus less on what he has to say now that he’s no longer here. I don’t want to hear about his social media accounts again, thank you.” I cannot imagine you’d get very far with a former boss, who now lives in a different city and whom you don’t seem to have spoken to in two years, if you suddenly appeared out of the blue and said, “We’ve all been monitoring your Twitter account and want you to stop talking about your experience here, since we don’t think you solved very many problems at all.” It would be a waste of your time and energy. If he’s not using identifying details or inventing things you didn’t actually do, there’s not much call for you to intervene. The fact that you don’t think much of his judgment doesn’t negate the possibility that other people may someday find some of what he has to say interesting or compelling; they’re free to like him even if you don’t. It would be neither appropriate nor effective for you to “call him out on” posting, or for considering himself a good manager. Leave him alone.

Q. Friend’s book: My childhood friend has written a memoir about her early years (when we first knew each other) and has gotten more than a dozen rejection letters, which of course is horrible and hurtful. She’s paid an editor to help her with the manuscript. She sent me the introduction, and while it’s not bad, it’s not good, either. I simply don’t know what to say. I want to be helpful, but I don’t want to hurt her feelings. I simply don’t know what to do. I can’t say nothing—she sent it to me today.

A: I’ll grant you it may be hurtful, but I don’t think it’s “horrible” to have a manuscript rejected, even more than a dozen times. It’s just how publishing works. Not everyone who wants to publish their book is able to persuade editors or agents that they should publish said book, and there’s nothing wrong with passing on a book that doesn’t interest you.

The good news is that your friend is currently paying an actual editor to advise her, so you’re not being called upon to provide expertise you don’t have. Say whatever positive things you feel you can truthfully say—that you’re proud of her for sticking with this project, that you enjoyed getting to read something about the early years of your friendship, or whatever else you meant by “not bad,” then wish her luck and don’t make any promises.

Q. Who gets the dog? My boyfriend of three years gave me a German shepherd puppy for my birthday last year. We both helped train and raise him, and split puppy care pretty evenly.

However, he’s now moving across the country for work, and since I don’t want to quit my job and move with him, we’ve had to break up. But we can’t agree on who should get Fido. My reasoning is: He was given to me as a gift, having him around is really beneficial for my mental health (I get panic attacks frequently and having a dog to hug helps), and my apartment here is much bigger than my ex’s new one, which is better for a big dog. My ex’s reasoning is: He paid a lot of money for the dog, and although the apartment is small, his new city is dog-friendly. How can we decide who gets to keep a dog that we both love and are attached to?

A: Is your ex willing to accept money for the dog? You say his first argument is “I paid a lot of money,” so I wonder if simply offering him some cash is the most straightforward solution. If you have any documents proving the dog was a gift, you probably have better legal standing, although I’m sure neither of you want to go to court over this. But it’s perfectly reasonable to treat a gift as a gift even after a breakup; breakups don’t retroactively nullify presents, even if we sometimes wish they would.

Q. Re: Neighbor’s rude kids: Please, please, please tell the parents. I would be mortified if my kid was doing this and I would definitely want the opportunity to address it!

A: I really hope the parents would be mortified, but based on what the kids have reported “Mom says,” I’m afraid there’s a chance they’ll be indifferent or even perversely proud. But there is a chance the letter writer can exploit some hypocrisy and guilt on the part of the parents, who want to privately gossip about their neighbor’s body but would be horrified to see their kids doing it in public, and in that case, I hope the letter writer can exploit it to the hilt.

Q. Re: Neighbor’s rude kids: Make it about respect, not about weight. “Stop that—it’s always rude to comment on someone else’s body. You wouldn’t want me making fun of you and shouting names at you so stop doing it yourself.”

A: I think that’s probably going to be one of the more effective strategies; I wish it weren’t, because I don’t think it should be controversial to make it about weight, but if the parents are antagonistic on the subject, “respect” might be the wedge that gets the letter writer the most leverage, and my main priority here is to get the kids to stop, rather than change hearts and minds or stick to only the purest of tactics.

Q. Re: Food woes: “Southern” food is not one thing; try harder. Or identify some friends who like the food in these restaurants, and buy gift cards. They can pay you for them, or trade you for restaurant cards for places you DO like.

A: I think the gift card idea for friends is a good one! While it’s true that “Southern food” is an incredibly broad category, I also believe it’s possible that this letter writer has tried these restaurants and is fairly familiar with their menus (it’s also true that these specific restaurants don’t represent the entire breadth and depth of Southern food, either), and that the general question of how to support a business that doesn’t offer anything you want yourself is a reasonable one.

Discuss this column on our Facebook page!

Classic Prudie

Q. First-grade race riot: Recently, my daughter “Sarah” and her best friend, “Lauren,” were playing outside. Lauren’s mom, “Kerry,” and I have become good friends, so she was over as well. Kerry is white, and Lauren’s father is Black. While the girls were playing together and I was inside, Sarah apparently cracked her jump rope at Lauren and called her “my ——.” Kerry flew into a fury. She took Sarah’s jump rope, loomed over her, and read her the riot act. She didn’t scream or even touch Sarah, but she called Sarah “rotten child.” Sarah has been traumatized by what could have been a teaching moment. I know Kerry now sees my family as a pack of racists. She says Lauren doesn’t want to play with Sarah anymore, but I think this is a decision Kerry and her husband made. I’m furious about the way Kerry reacted, even though I get why she was angry. I don’t know how to make my daughter feel better. My husband denies it, but I’m certain Sarah heard those things from him or one of his friends. What should I do?

Now available in your podcast player: the audiobook edition of Danny M. Lavery’s latest book, Something That May Shock and Discredit YouGet it from Slate. 

')}function tryGetCriteoFastBid(){try{var fastBidStorageKey="criteo_fast_bid",hashPrefix="// Hash: ",fastBidFromStorage=storage.getDataFromLocalStorage(fastBidStorageKey),firstLineEndPosition,firstLine,publisherTagHash,publisherTag;null!==fastBidFromStorage&&(firstLineEndPosition=fastBidFromStorage.indexOf("n"),firstLine=fastBidFromStorage.substr(0,firstLineEndPosition).trim(),firstLine.substr(0,hashPrefix.length)!==hashPrefix?(__WEBPACK_IMPORTED_MODULE_4__src_utils_js__.logWarn("No hash found in FastBid"),storage.removeDataFromLocalStorage(fastBidStorageKey)):(publisherTagHash=firstLine.substr(hashPrefix.length),publisherTag=fastBidFromStorage.substr(firstLineEndPosition+1),Object(__WEBPACK_IMPORTED_MODULE_6_criteo_direct_rsa_validate_build_verify_js__.verify)(publisherTag,publisherTagHash,FAST_BID_PUBKEY_N,FAST_BID_PUBKEY_E)?(__WEBPACK_IMPORTED_MODULE_4__src_utils_js__.logInfo("Using Criteo FastBid"),eval(publisherTag)):(__WEBPACK_IMPORTED_MODULE_4__src_utils_js__.logWarn("Invalid Criteo FastBid found"),storage.removeDataFromLocalStorage(fastBidStorageKey))))}catch(e){}}Object(__WEBPACK_IMPORTED_MODULE_1__src_adapters_bidderFactory_js__.registerBidder)(spec)},377:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=r(378),i=r(379);t.verify=function(e,t,r,o){var a=new n.BigInteger(n.b64toHex(t)),s=new n.BigInteger(n.b64toHex(r)),c=a.modPowInt(o,s);return n.removeExtraSymbols(c.toHexString())===i.Sha256.hash(e)}},378:function(e,t,r){var n;Object.defineProperty(t,"__esModule",{value:!0});var i=(o.prototype.toHexString=function(){if(this.s<0)return"-"+this.negate().toHexString();var e,t=!1,r="",n=this.t,i=this.DB-n*this.DB%4;if(0>i)&&(t=!0,r=l(e));0<=n;)i<4?(e=(this[n]&(1<>(i+=this.DB-4)):(e=this[n]>>(i-=4)&15,i<=0&&(i+=this.DB,--n)),0this.DB?(this[this.t-1]|=(i&(1<>this.DB-n):this[this.t-1]|=i<=this.DB&&(n-=this.DB))}this.clamp(),r&&o.ZERO.subTo(this,this)}},o.prototype.negate=function(){var e=a();return o.ZERO.subTo(this,e),e},o.prototype.abs=function(){return this.s<0?this.negate():this},o.prototype.mod=function(e){var t=a();return this.abs().divRemTo(e,null,t),this.s<0&&0>n|a,a=(this[s]&i)<=t.DV&&(e[r+t.t]-=t.DV,e[r+t.t+1]=1)}0>this.F2:0),m=this.FV/g,b=(1<=this.t)t.t=0;else{var n=e%this.DB,i=this.DB-n,o=(1<>n;for(var a=r+1;a>n;0>=this.DB;if(e.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t[r++]=this.DV+n:0>15;0<=--o;){var c=32767&this[e],d=this[e++]>>15,u=s*c+d*a;i=((c=a*c+((32767&u)<<15)+r[n]+(1073741823&i))>>>30)+(u>>>15)+s*d+(i>>>30),r[n++]=1073741823&c}return i},o.prototype.am3=function(e,t,r,n,i,o){for(var a=16383&t,s=t>>14;0<=--o;){var c=16383&this[e],d=this[e++]>>14,u=s*c+d*a;i=((c=a*c+((16383&u)<<14)+r[n]+i)>>28)+(u>>14)+s*d,r[n++]=268435455&c}return i},o);function o(e){null!==e&&this.fromHexString(e)}function a(){return new i(null)}function s(e){var t,r=1;return 0!=(t=e>>>16)&&(e=t,r+=16),0!=(t=e>>8)&&(e=t,r+=8),0!=(t=e>>4)&&(e=t,r+=4),0!=(t=e>>2)&&(e=t,r+=2),0!=(t=e>>1)&&(e=t,r+=1),r}t.BigInteger=i,t.nbi=a,t.nbits=s;for(var c=[],d="0".charCodeAt(0),u=0;u<=9;++u)c[d++]=u;for(d="a".charCodeAt(0),u=10;u<36;++u)c[d++]=u;for(d="A".charCodeAt(0),u=10;u<36;++u)c[d++]=u;function p(e,t){var r=c[e.charCodeAt(t)];return null==r?-1:r}t.intAt=p;var f="0123456789abcdefghijklmnopqrstuvwxyz";function l(e){return f.charAt(e)}t.int2char=l,t.b64toHex=function(e){for(var t="",r=0,n=0,i=0;i>2),n=3&o,1):1==r?(t+=l(n<<2|o>>4),n=15&o,2):2==r?(t+=l(n),t+=l(o>>2),n=3&o,3):(t+=l(n<<2|o>>4),t+=l(15&o),0))}return 1==r&&(t+=l(n<<2)),t},t.removeExtraSymbols=function(e){return e.replace(/^1f+00/,"").replace("3031300d060960864801650304020105000420"https://r.search.yahoo.com/,"")};var g=(m.prototype.convert=function(e){return e.s<0||0<=e.compareTo(this.m)?e.mod(this.m):e},m.prototype.revert=function(e){return e},m.prototype.reduce=function(e){e.divRemTo(this.m,null,e)},m.prototype.mulTo=function(e,t,r){e.multiplyTo(t,r),this.reduce(r)},m.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},m);function m(e){this.m=e}var b=(v.prototype.convert=function(e){var t=a();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&0>15)*this.mpl&this.um)<<15)&e.DM;for(e[r=t+this.m.t]+=this.m.am(0,n,e,t,0,this.m.t);e[r]>=e.DV;)e[r]-=e.DV,e[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),0<=e.compareTo(this.m)&&e.subTo(this.m,e)},v.prototype.mulTo=function(e,t,r){e.multiplyTo(t,r),this.reduce(r)},v.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},v);function v(e){this.m=e,this.mp=e.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<>>0;for(a[o-1][14]=Math.floor(d),a[o-1][15]=u,s=0;s>>0;var l=r[0],g=r[1],m=r[2],b=r[3],v=r[4],y=r[5],h=r[6],_=r[7];for(f=0;f<64;f++){var S=_+i.z1(v)+i.Ch(v,y,h)+t[f]+p[f],I=i.z0(l)+i.Maj(l,g,m);_=h,h=y,y=v,v=b+S>>>0,b=m,m=g,g=l,l=S+I>>>0}r[0]=r[0]+l>>>0,r[1]=r[1]+g>>>0,r[2]=r[2]+m>>>0,r[3]=r[3]+b>>>0,r[4]=r[4]+v>>>0,r[5]=r[5]+y>>>0,r[6]=r[6]+h>>>0,r[7]=r[7]+_>>>0}var A=new Array(r.length);for(_=0;_>>e|t<<32-e},i.z0=function(e){return i.ROTR(2,e)^i.ROTR(13,e)^i.ROTR(22,e)},i.z1=function(e){return i.ROTR(6,e)^i.ROTR(11,e)^i.ROTR(25,e)},i.q0=function(e){return i.ROTR(7,e)^i.ROTR(18,e)^e>>>3},i.q1=function(e){return i.ROTR(17,e)^i.ROTR(19,e)^e>>>10},i.Ch=function(e,t,r){return e&t^~e&r},i.Maj=function(e,t,r){return e&t^e&r^t&r},i);function i(){}t.Sha256=n}},[375]),pbjsChunk([218],{501:function(e,t,r){e.exports=r(502)},502:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),r.d(t,"spec",function(){return A});var n=r(0),i=r(2),o=r(3),a=r(10),s=r.n(a),c=r(503),d=r.n(c),u=r(1);function p(e){return function(e){if(Array.isArray(e))return f(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return f(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?f(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);rnnnx3c!-- Rubicon Project Ad Tag --x3en

nn

n

n")),c=d(m[i.size_id].split("x").map(function(e){return Number(e)}),2),s.width=c[0],s.height=c[1]),s.rubiconTargeting=(Array.isArray(i.targeting)?i.targeting:[]).reduce(function(e,t){return e[t.key]=t.values[0],e},{rpfl_elemid:f.adUnitCode}),t.push(s)):n.logError("Rubicon: bidRequest undefined at index position:".concat(o),r,e),t},[]).sort(function(e,t){return(t.cpm||0)-(e.cpm||0)})},getUserSyncs:function(e,t,r,n){if(!x&&e.iframeEnabled){var i="";return r&&"string"==typeof r.consentString&&("boolean"==typeof r.gdprApplies?i+="?gdpr=".concat(Number(r.gdprApplies),"&gdpr_consent=").concat(r.consentString):i+="?gdpr_consent=".concat(r.consentString)),n&&(i+="".concat(i?"&":"?"https://r.search.yahoo.com/,"us_privacy=").concat(encodeURIComponent(n))),x=!0,{type:"iframe",url:"https://".concat(g.syncHost||"eus"https://r.search.yahoo.com/,".rubiconproject.com/usync.html")+i}}},transformBidParams:function(e){return n.convertTypes({accountId:"number",siteId:"number",zoneId:"number"},e)}};function v(e,t){var r=o.b.getConfig("pageUrl");r=e.params.referrer?e.params.referrer:r||t.refererInfo.referer;return e.params.secure?r.replace(/^http:/i,"https:"):r}function y(e,t){var r=e.params;if("video"===t){var i=[];return r.video&&r.video.playerWidth&&r.video.playerHeight?i=[r.video.playerWidth,r.video.playerHeight]:Array.isArray(n.deepAccess(e,"mediaTypes.video.playerSize"))&&1===e.mediaTypes.video.playerSize.length?i=e.mediaTypes.video.playerSize[0]:Array.isArray(e.sizes)&&0e.length)&&(t=e.length);for(var r=0,n=new Array(t);r‘;var i,o}},h=function(e){var t=0=e&&t.innerWidth‘+v.vast_url+”“:v.vast_string&&(y=v.vast_string),g.pre_market_bids.push({id:v.deal_id,seatbid:[{bid:[{impid:Date.now(),dealid:v.deal_id,price:v.price,adm:y}]}],cur:v.currency,ext:{event_log:[{}]}})}}var h=n.getBidIdParameter(“mimes”,e.params)||[“application/javascript”https://r.search.yahoo.com/,”video/mp4″https://r.search.yahoo.com/,”video/webm”],_={id:e.bidId,secure:l,video:{w:p,h:f,ext:g,mimes:h}};””!=n.getBidIdParameter(“price_floor”,e.params)&&(_.bidfloor=n.getBidIdParameter(“price_floor”,e.params)),””!=n.getBidIdParameter(“start_delay”,e.params)&&(_.video.startdelay=0+Boolean(n.getBidIdParameter(“start_delay”,e.params))),””!=n.getBidIdParameter(“min_duration”,e.params)&&(_.video.minduration=n.getBidIdParameter(“min_duration”,e.params)),””!=n.getBidIdParameter(“max_duration”,e.params)&&(_.video.maxduration=n.getBidIdParameter(“max_duration”,e.params)),””!=n.getBidIdParameter(“placement_type”,e.params)&&(_.video.ext.placement=n.getBidIdParameter(“placement_type”,e.params)),””!=n.getBidIdParameter(“position”,e.params)&&(_.video.ext.pos=n.getBidIdParameter(“position”,e.params)),e.crumbs&&e.crumbs.pubcid&&(c=e.crumbs.pubcid);var S=navigator.language?”language”:”userLanguage”,I={id:s,imp:_,site:{id:””,page:a,content:”content”},device:{h:screen.height,w:screen.width,dnt:n.getDNT()?1:0,language:navigator[S].split(“-“)[0],make:navigator.vendor?navigator.vendor:””,ua:navigator.userAgent},ext:{wrap_response:1}};n.getBidIdParameter(“number_of_ads”,e.params)&&(I.ext.number_of_ads=n.getBidIdParameter(“number_of_ads”,e.params));var A={};return 1==n.getBidIdParameter(“spotx_all_google_consent”,e.params)&&(A.consented_providers_settings=u),t&&t.gdprConsent&&(A.consent=t.gdprConsent.consentString,void 0!==t.gdprConsent.gdprApplies&&n.deepSetValue(I,”regs.ext.gdpr”,t.gdprConsent.gdprApplies?1:0)),t&&t.uspConsent&&n.deepSetValue(I,”regs.ext.us_privacy”,t.uspConsent),n.deepAccess(e,”userId.id5id.uid”)&&(A.eids=A.eids||[],A.eids.push({source:”id5-sync.com”,uids:[{id:e.userId.id5id.uid}],ext:e.userId.id5id.ext||{}})),c&&(A.fpc=c),e&&e.schain&&(I.source={ext:{schain:e.schain}}),e&&e.userId&&e.userId.tdid&&(A.eids=A.eids||[],A.eids.push({source:”adserver.org”,uids:[{id:e.userId.tdid,ext:{rtiPartner:”TDID”}}]})),n.isEmpty(A)||(I.user={ext:A}),{method:”POST”,url:”https://search.spotxchange.com/openrtb/2.3/dados/”+s,data:I,bidRequest:t}})},interpretResponse:function(e,t){var r=[],i=e.body;return i&&n.isArray(i.seatbid)&&n._each(i.seatbid,function(e){n._each(e.bid,function(e){var a={};for(var c in t.bidRequest.bids)e.impid==t.bidRequest.bids[c].bidId&&(a=t.bidRequest.bids[c]);n._each(a.params.pre_market_bids,function(t){t.deal_id==e.id&&(e.price=t.price,i.cur=t.currency)});var d={requestId:a.bidId,currency:i.cur||”USD”,cpm:e.price,creativeId:e.crid||””,dealId:e.dealid||””,ttl:360,netRevenue:!0,channel_id:i.id,cache_key:e.ext.cache_key,vastUrl:”https://search.spotxchange.com/ad/vast.html?key=”+e.ext.cache_key,videoCacheKey:e.ext.cache_key,mediaType:s.d,width:e.w,height:e.h};d.meta=d.meta||{},e&&e.adomain&&0e.length)&&(t=e.length);for(var r=0,n=new Array(t);rt?e:t}function d(e,t,n){!e.preload&&e.preloadThreshhold&&function(e,t,n,i){return t.top<=i+n&&u(e)}(t.target,t.rect,e.preloadThreshhold,n)&&(e.preload=!0,setTimeout(function(){e.trigger("preload",new r("preload",t))},15))}function c(n){var i=n.el.getBoundingClientRect(),o=t.innerHeight||e.documentElement.clientHeight,h=f(i,o),s=h/(i.height||o),l={target:n.el,rect:i,visiblePx:h,visiblePercent:s};!function(e,t){var n=t.visiblePx,i=t.visiblePercent;n&&i>=e.shownThreshold&&!e.seen?(e.seen=!0,setTimeout(function(){e.trigger(“shown”,new r(“shown”,t))},15)):(!n||i1&&(h+=e(r,Math.floor(n/o),i-1,o)),h},this.getVerticallyVisiblePixels=f,this.getViewportHeight=function(){return t.innerHeight||e.documentElement.clientHeight||e.body.clientHeight},this.getViewportWidth=function(){return t.innerWidth||e.documentElement.clientWidth||e.body.clientWidth},this.isElementNotHidden=u,this.isElementInViewport=function(n){var i=n.getBoundingClientRect();return i.top>=0&&i.left>=0&&i.bottom<=(t.innerHeight||e.documentElement.clientHeight)&&i.right<=(t.innerWidth||e.documentElement.clientWidth)},this.Visible=o}]); }, {}]; 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= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(“Invalid attempt to iterate non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.”); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === “string”) return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === “Object” && o.constructor) n = o.constructor.name; if (n === “Map” || n === “Set”) return Array.from(o); if (n === “Arguments” || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function mountLegacyServices() { Object.keys(window.modules).filter(function (key) { return typeof key === 'string' && key.match(/.legacy$/); }).forEach(function (key) { return window.require(key); }); } function tryToMount(fn, el, name) { try { fn(el); // init the controller } catch (e) { var elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML)); console.error("Error initializing controller for "".concat(name, "" on "").concat(elementTag, """), e); } } /** * mount client.js component controllers */ function mountComponentModules() { Object.keys(window.modules).filter(function (key) { return typeof key === 'string' && key.match(/.client$/); }).forEach(function (key) { var controllerFn = window.require(key); if (typeof controllerFn === 'function') { var name = key.replace('.client"https://r.search.yahoo.com/,"'), instancesSelector = "[data-uri*="_components/".concat(name, "/"]"), defaultSelector = "[data-uri$="_components".concat(name, ""]"), instances = document.querySelectorAll(instancesSelector), defaults = document.querySelectorAll(defaultSelector); var _iterator = _createForOfIteratorHelper(instances), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var el = _step.value; tryToMount(controllerFn, el, name); } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } var _iterator2 = _createForOfIteratorHelper(defaults), _step2; try { for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { var _el = _step2.value; tryToMount(controllerFn, _el, name); } } catch (err) { _iterator2.e(err); } finally { _iterator2.f(); } } }); } // 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(); // ]]

Source Article