#onlinedating | My husband is having a midlife crisis and wants to open a restaurant, and more advice from Dear Prudie. | #bumble | #tinder | #pof


Photo illustration by Slate. Photo by Rawpixel/iStock/Getty Images Plus.

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

Q. Ill-timed dreams: My husband got laid off during the pandemic (he worked in the travel industry) and went into a full-bore, midlife crisis tailspin. We’re in our mid-30s and I guess he came to the conclusion that he hated many aspects of his life. His response has been to make noise about starting a restaurant. He seems genuinely excited about the idea of building a community space, hosting group events, and helping people connect over food. I love that he’s so excited and passionate about this—honestly, more animated than I’ve seen him in years.

But Prudie, I think this is an awful idea. Three restaurants just closed within 10 minutes of us due to the pandemic. My husband has literally no experience in food service or management, let alone starting up a new venture. He has never taken a business course and couldn’t even tell you what a profit margin is. We have a 2-year-old; though we’re OK income-wise because my job is stable and pays well, we cannot afford to fund his pipe dream. I’ve tried gently injecting some reality into the conversation, but my husband just spouts platitudes from Instagram influencers he follows (“If you aren’t sacrificing for your dreams, they will only remain dreams”) and says I’m being unsupportive of his goals.

I’m getting more and more frustrated trying to dialogue with a man treating me like the roadblock to him achieving self-actualization, rather than a rational partner trying to ensure our family is financially stable in the midst of economic turmoil. We are deeply in love but I feel like I no longer recognize my husband. What in the world should I do?

A: Remain unsupportive of his goals—or at least of this goal, as long as his goal is “open a restaurant” (which has an incredibly high rate of failure even under non-pandemic conditions) without experience or even a sense of what a “profit margin” is (!), and whose only response to legitimate, practical concerns is to parrot nonsensical platitudes he saw on Instagram. Stop being “gentle” when you inject reality in these conversations. Gentleness is not required here, especially when your partner has clearly lost sight of his responsibilities to your toddler in his fantasy of “helping people connect over food.” Inject reality loudly, firmly, and often.

How to Get Advice From Prudie:

• Send questions for publication to prudence@slate.com. (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. My partner and my sister don’t get along: I’ve been in a relationship for seven years with a great guy I love, admire, and respect. We have been through a lot of ups and downs together but are in a very happy and stable place right now and are considering taking the next step of getting engaged. However, he and one of my siblings dislike each other. Both have strong personalities. My partner considers my sister bossy, condescending, and rude. Our family dynamic is that she is the “bossy” one out of us three siblings, which we all find endearing, and I have deep respect and admiration for what she’s accomplished and who she is. I haven’t directly asked her for her characterization of my partner, but I have gathered from our conversations that she finds him neurotic, inconsiderate, and emotionally demanding. This is in part because when my partner and I were going through tough times, I spoke to my sister for advice.

I appreciated her support but feel like ever since then, she got an impression of his darkest sides and has never fully reconciled that with the fact that we stayed in—and are happy in—our relationship. I’ve expressed my wish to both of them that I would like them to form a friendship or at least get to know each other better, which they have agreed to, but no real progress has been made. I know they have more in common with each other than they think. It’s difficult because we live far away from one another, but this hasn’t stopped my other sibling from getting along wonderfully with my partner, nor the rest of my family who all seem to like him, and I am close with his immediate family and their spouses. Moreover, it’s extremely painful for me to imagine a world where my one sister and a potential husband of mine aren’t friends. It upsets me that they don’t seem to share this feeling, or that they haven’t given it serious thought. Given the fact that my partner and I are getting more serious, I feel compelled to start making more overt attempts to get them to reconcile. Is there more I can do to challenge them about their assumptions of each other?

A: I wish very much that I knew more about the “ups and downs” that preceded this “happy and stable place” you’re currently in, and just how much of the last seven years was spent in the up-and-down zone. If you two spent the last six-and-a-half years, say, cheating on each other, constantly quarreling in public, and taking each other to small claims court, but have had a relatively peaceful six months, I shouldn’t wonder that your sister takes issue with him; if the the “ups and downs” had more to do with figuring out what you both wanted out of your lives together and you’ve been quite happy for some time now, and your sister’s simply decided your partner’s too “complicated” to like, then you might have grounds to complain. Without knowing more about just what she’s found “inconsiderate” in your partner’s conduct, I can’t offer a judgment about what may be possible for their relationship in the future. If you’ve shared his “darkest sides” with your sister, what have you done to share his lighter sides with her—beyond simply asserting “things are much better now”? Do you want to appeal to your sister for her advice in the future, or do you want to start asserting yourself against her historic “bossiness”? If you do plan on asking her for her advice again, and then decide not to take it, are you prepared to deal with her inevitable frustration?

I will note that you say you want your sister and your partner to “get to know each other better” and then later to “reconcile,” which suggests you’re not quite clear on the problem. Is the issue that your sister doesn’t know your partner very well? Or is the issue that she’s made a judgment of his character, based on her knowledge of him, that makes things difficult for you? Your letter seems inclined to push your sister to “try harder” with your partner—have you considered asking your partner to try harder with your sister? Why do you think he hasn’t given serious thought to how this might affect you, and do you think it has anything to do with your sister’s characterization of him as inconsiderate?

Q. Say my name: My husband and I have been together 15 years, married for eight, and have two kids aged 7 and 4. About two months ago, his schedule changed to swing, while I stayed at home with the kids (as I have during the entire pandemic; I quit my dental job to do this). He told me when he got this job that he would be working in the same department with a girl named “Tess.” He said she has kind of a shaved hairstyle and might have a girlfriend. I am still in good shape, confident, and beautiful so I didn’t really think anything about it…until two weeks ago. I was getting in bed and he was already asleep and I got in to snuggle him and he said, “You feel so good, Tess’’ in his sleep. At first, I wasn’t sure and I didn’t want to wake him up to fight about what seemed benign and that I wasn’t 100 percent sure about that night. I let it roll off me and let it go. Last night, however, the same thing happened. I get into bed, he’s asleep. I cuddle up and tell him I love you and then clear as day he says: “I love you, Tess.” I went out to our couch and fell asleep until he realized I wasn’t in the bed and asked what was wrong. He felt horrible but couldn’t explain why it happened twice.

I am really hurt and questioning everything now. Since this new shift change, the amount of “thinking of you” texts has gone from almost every day to maybe once every two weeks and he has been going to lunch with a male colleague, supposedly, but now I question whether that’s true. He cheated on me for about eight months when we first got together but he was just a kid, so I forgave him. But he’s always had a wandering eye and has taken advantage of me as a wife because I do all parenting and home tasks, including home schooling. I just don’t know how to feel. I love him so much and we have been through everything together these last 15 years. I don’t want to cut ties over a dream word, but my gut has told me since the first time he said it that something may be going on with her. I love your column and I know you will give me sound advice.

A: You’re not contemplating cutting ties over “a dream word.” Your husband cheated on you at the very outset of your relationship, regularly takes advantage of your desire to please, leaves you to do all of the domestic work without much in the way of appreciation or helpfulness, has called you another woman’s name twice (a woman whose appearance and attractiveness he’s also gone out of his way to describe to you) and then insults your intelligence by claiming “Gee, I have no idea” when asked to expend a modicum of emotional energy into figuring out where this was coming from, has abruptly and dramatically decreased your day-to-day conversations, and has “always had a wandering eye” during your 15 years together. Your gut is telling you something’s going on because something’s been going on for your entire relationship. It’s not just Tess, it’s not just a dream word, and it’s not just a recent development.

I know you love him, and I know you’ve been together for a long time and that you have two young kids together. You don’t have to leave him now or ever, if you don’t want to. But you can stay without pretending that you’re fine, or that you’re not being lied to, when you clearly are. What might it be like to have a conversation with your husband about his “wandering eye” of 15 years, and if you two stopped pretending that he was a faithful husband? What do you want from him in terms of honesty and respect, and what are you prepared to do to look out for yourself if he can’t or won’t give them to you? What if you stopped letting things “roll off you” and letting them go?

Q. Wary of teacher: Given the extended period of physical distancing we’ve been experiencing, I have begun to explore online dating. Particularly, I have been looking for someone who both shares my sexual interests and is a good human being overall for the possibility of a long(er)-term relationship.

While I feel like I might have found this person recently, the fact that they are a teacher and have a strong interest in roleplaying student-teacher, and my own dating history, make me wonder if this kink is a healthy outlet for someone in their position or a foreshadowing or indicator of something more sinister. While I do not want to rule out someone for “pre-crime” or “thought crime,” I also want to make sure that our sexual liaisons do not in any way contribute to their venturing (or furthering) into unethical and destructive (not to mention illegal) territory.

A: I’m not quite sure what you mean by your own dating history here—do you mean that you’ve dated a lot of teachers in the past? Regardless, I think the question to ask here is not, “Does this fantasy mean this person is looking for ways to encroach upon boundaries with their own students?” but “Am I interested in this fantasy too, and has this person demonstrated a willingness to take No for an answer, and to treat my limits and need for a deliberate pace with respect?”

I will say I don’t think the idea that a student-teacher roleplaying kink is a “healthy outlet” for a teacher, because I don’t think teachers have to expunge some automatic, inherent desire for their students simply by virtue of being teachers. Treating kink as a sort of moral pressure-release system assumes that all fantasies have a direct and consequential relationship to reality or to one’s job, which is not always the case. Kinky sex is not some sort of harm-reduction approach to wanting to sleep with one’s students. If you’re not into this roleplay, or you don’t believe this particular person has a strong sense of boundaries and the ability to distinguish between fantasy and reality, look for someone else.

Q. I can’t unhear it: My partner and I are living in a tiny studio in a high-rent city, which has mostly worked out during the pandemic because the summer weather here is gorgeous and one of us could work outside. However, the temperatures have dropped for fall and we are now both working from inside our home full-time. Additionally, my partner has been having their therapy sessions inside. I wear headphones but I can still hear a little bit. I can’t work outside because of the weather, and I can’t work at a coffee shop or even in the lobby of our complex because everything is still locked down because of the pandemic.

I’ve heard some stuff about their suicidal ideation and it really scares me. I know they’re not obligated to share these deeply private and personal thoughts with me, but it scares me that they’re having scary thoughts and that I had no idea about it. At the same time, I want them to feel comfortable being open with their therapist and I don’t want them to feel self-censored if they knew I was listening. What should I do?

A: Tell your partner that your headphones haven’t sufficiently covered up the sounds of their therapy sessions and that you’ll both need to do more to make sure those sessions are truly confidential. Be honest about what you’ve overheard so that your partner doesn’t feel uncertain or paranoid about the extent of what you’ve gleaned from their sessions, apologize for not saying something right away, and stress your commitment to making sure you don’t accidentally-on-purpose eavesdrop-by-inaction again. Get noise-canceling headphones, and be prepared for your partner to be angry and even have difficulty trusting you after this revelation. It’s possible you two can work through this and rebuild trust over time; you are trying to maintain a semblance of normalcy and privacy under deeply trying circumstances. But you need to frame this as a violation of your partner’s privacy that you’re prepared to apologize for, not as an opportunity to express concern over something they shared confidentially to their therapist.

Q. Rocky reconciliations: My best friend “Allie” and I both fell out with a third friend, “Gretchen,” more than a year ago for separate reasons. We all lived together for two years. Gretchen and I were planning on living together when our lease was up; she changed her mind and she made Allie tell me instead of herself. Our relationship dissolved from there and once we moved out, we stopped speaking. Allie and Gretchen had a separate falling-out a few months later that I was not present for. I know hurtful things were said on both sides, but Gretchen brought Allie’s deceased brother into the fight. I told Allie bringing up a deceased loved one was below the belt. I had my own history with Gretchen and her temper so I didn’t give further commentary.

Now Allie and Gretchen have made progress towards reconciling. I had a feeling this would happen. Allie is an incredibly forgiving person, but she’s been taken advantage of by others in the past. Allie and Gretchen have their own relationship and they should, but the thought of seeing Gretchen again fills me with dread. I don’t know what to say to Allie. How do I handle this reconciliation in the works or do I have to keep my mouth shut?

A: You don’t have to see Gretchen again! Nor do you have to try to argue Allie out of deciding to reconcile with Gretchen, even if you think such a reconciliation is ill-advised or likely to result in another falling-out sometime in the future. As long as Allie doesn’t assume her renewed friendship with Gretchen means that, by the transitive property, you’ll renew yours too, there’s very little you have to do here. You can remind Allie that you don’t want to socialize with Gretchen yourself, and feel free to shut down any conversations that seem designed to push you towards reconciliation too, but beyond that, you can just privately disagree with Allie’s decision and continue to give Gretchen a wide berth. You may find that, depending on how close Allie and Gretchen become in the future, your own intimacy with Allie declines; in that case, you can decide when, how often, and under what conditions you’d like to see her, and what information you feel you can trust her with. But Allie’s agreeable nature isn’t something you have to manage, and if she goes through life forgiving others where you’d maintain a healthy suspicion, let her.

Q. Pandemic dilemma: I do research in a field that has been mildly affected by COVID. I’m applying for a position as a researcher on a project in Europe. The pay isn’t great, but it’s doable. Regardless, it’s a great career move. I’ve lived in Europe before, so I’m not worried about having to move to another country again.

I am worried about moving in the middle of a pandemic, though. I’m especially worried about moving away from my mom. My mom is a teacher and her school district hasn’t shut down yet. I hope the school district will shut down by the time I move in a few months, but, in my opinion, the school district has been very reckless in their decisions so far. I’m terrified that something will happen to my mom and I won’t be able to get back, either because of money or because of travel being shut down again.

My mom is the only real emotional safety net I have. I’ve been the one making sure that she’s been doing social distancing, but she’s been slipping a bit lately and not making people wear masks in the house when she thinks they’re only “coming over for five minutes.” They of course end up staying for much longer. She responds a lot to social pressure, which is good when I’m around but bad when her irresponsible friends are around. She and her friends mean well, they’re just not as informed or diligent about this topic. I’d personally feel much safer in the country I’d be moving to, but I’m still worried about my mom. How do I figure out what to do?

A: I think the question to answer here is, “Am I worried about moving to Europe because my mother is my only real emotional ‘safety net,’ and if she got sick I’d want to be able to be with her” (or at least close by—if your mother were to contract COVID and were hospitalized, it’s entirely possible that you wouldn’t be allowed to see her in-person, even if you lived in the same town), or “Am I worried about moving to Europe because I won’t be able to monitor whether she’s practicing social distancing”? Both concerns are legitimate, and meaningful, of course, but I’m not so sure that even if you stayed in-country that you’d be able to perfectly control your mother’s relationship to health-and-safety protocols. You can also certainly discuss your concerns with her, and talk about what possible contingency plans you might draw up together, whether you move or not.

Q. Re: My partner and my sister don’t get along: Prudie, it’s a little weird that you spent two paragraphs addressing how the letter writer’s partner is wrong and only one sentence on the sister’s “bossiness” without mentioning the “rude and condescending” bit.

A: I wanted to spend more time focusing on the letter writer’s partner because the letter itself seemed to take for granted that the sister, and not the partner, was going to have to make all of the adjustments, reassess all past judgments, and do the work bridging the gap; I think the overcorrection was necessary in order to spread some of the work around. But you’re quite right to draw our attention back to what seem like genuinely difficult points of the sister’s character. I don’t at all doubt that some of her ire stems from not getting her way when she’s used to it.

Q. Re: My partner and my sister don’t get along: This could have been from my sister, except that my sister’s partner has also had a number of major arguments with our mother and had been condescending, inconsiderate, and rude to every member of our family at least once. Please do not try and force your sister and partner to be friends. After seven years, unless they truly don’t know each other at all and only have heard about each other through you (in which case it seems as if you’re responsible for the bad perceptions they’ve formed of each other), they have had plenty of opportunities to get to know each other, and some personalities just don’t mesh. I’d also encourage the letter writer to consider how hurtful it may be to their sister if they have chosen a partner who has treated the family poorly in the past—it’s an emotional rift that will forever exist between my sister and I about which I can’t tell her without making it “it’s him or me.” No one gets to choose your partner for you, but your choice will impact how others see you and whether they can continue to be close to you.

A: That’s an excellent point—after seven years, even if your sister and partner haven’t spent very much time together, they’re at least no longer relative strangers to one another. If you feel truly devastated at the thought of a husband and a sister who don’t like one another, that’s important information to consider before getting married; as well as asking what part you yourself may have played in contributing to their not liking one another. Are you asking too much of one? Too little of the other? Have you complained too much about your partner and then expected others to forget about your complaints once the fight passed, and would you do better to speak more judiciously of your partner during a fight in the future? Or, conversely, have you been too inclined to downplay serious acts of rudeness or selfishness? Without knowing more details, I think the best way forward is to focus on limiting hostilities and expecting politeness, if not genuine warmth, from both parties; even if that’s not what you’d originally hoped for, I think it may be the best you can ask for now.

Danny M. Lavery: Thanks so much for your help, everyone! I’ll see you next week. May all your partners and siblings be exactly as close as you wish them to be—no less, and certainly no more.

If you missed Part 1 of this week’s chat, click here to read it.

Discuss this column on our Facebook page!

From Care and Feeding

Q. My neighbor constantly screams at her kids: I live in a small building—26 units—with some young families and other singles. It’s an expensive building, as is most every place in L.A. We mostly get along very well—except for a family with two small children, a 4-year-old girl and a 2-year-old boy. They live across the courtyard from me and the children are always crying and screaming; the mother is always yelling at them, inside their apartment and elsewhere. My next-door neighbor hears the worst of it: The other day, the mother put the girl outside the door and closed it because the child was screaming! She screamed louder! Then the mother took her inside and put her in her room and slammed the door and the child screamed some more. I don’t hear any of it; my neighbor shares a wall, so she does.

The neighbors who know about this hate what’s happening but don’t want to get involved; I think someone has to step up to help these children from being mistreated! Read what Carvell Wallace had to say.

Get the audiobook edition of Danny M. Lavery’s latest book. Save $5 when you buy it from Slate—and listen in your preferred podcast app!

'; }, t.createTrackPixelIframeHtml = de, t.getValueString = fe, t.uniques = le, t.flatten = pe, t.getBidRequest = function (n, e) { return n ? (e.some(function (e) { var t = s()(e.bids, function (t) { return ["bidId"https://slate.com/,"adId"https://slate.com/,"bid_id"].some(function (e) { return t[e] === n; }); }); return t && (r = t), t; }), r) : void 0; var r; }, t.getKeys = ge, t.getValue = ye, t.getKeyByValue = function (e, t) { for (var n in e) { if (e.hasOwnProperty(n) && e[n] === t) return n; } }, t.getBidderCodes = function () { return (0 t[n] ? -1 : 0; }; }, t.parseQS = je, t.formatQS = we, t.parseUrl = function (e, t) { var n = document.createElement("a"); t && "noDecodeWholeURL" in t && t.noDecodeWholeURL ? n.href = e : n.href = decodeURIComponent(e); var r = t && "decodeSearchAsString" in t && t.decodeSearchAsString; return { href: n.href, protocol: (n.protocol "https://slate.com/"https://slate.com/"https://slate.com/").replace(/:$/, "https://slate.com/"), hostname: n.hostname, port: +n.port, pathname: n.pathname.replace(/^(?!/)/, "/"), search: r ? n.search : k.parseQS(n.search "https://slate.com/"https://slate.com/"https://slate.com/"), hash: (n.hash "https://slate.com/"https://slate.com/"https://slate.com/").replace(/^#/, "https://slate.com/"), host: n.host "https://slate.com/" window.location.host }; }, t.buildUrl = function (e) { return (e.protocol "https://slate.com/"https://slate.com/"http") + "://" + (e.host "https://slate.com/" e.hostname + (e.port ? ":".concat(e.port) : "https://slate.com/")) + (e.pathname "https://slate.com/"https://slate.com/"https://slate.com/") + (e.search ? "?".concat(k.formatQS(e.search "https://slate.com/"https://slate.com/"https://slate.com/")) : "https://slate.com/") + (e.hash ? "#".concat(e.hash) : "https://slate.com/"); }, t.deepEqual = Ce, t.mergeDeep = xe; var r = n(3), o = n(167), i = n.n(o), a = n(168), c = n.n(a), u = n(11), s = n.n(u), d = n(12), f = n.n(d), l = n(182); n.d(t, "deepAccess", function () { return l.a; }); var p = n(183); function g(e, t) { return function (e) { if (Array.isArray(e)) return e; }(e) "https://slate.com/" function (e, t) { if ("undefined" == typeof Symbol "https://slate.com/" !(Symbol.iterator in Object(e))) return; var n = [], r = !0, o = !1, i = void 0; try { for (var a, c = e[Symbol.iterator](); !(r = (a = c.next()).done) && (n.push(a.value), !t "https://slate.com/" n.length !== t); r = !0) { ; } } catch (e) { o = !0, i = e; } finally { try { r "https://slate.com/" null == c.return "https://slate.com/" c.return(); } finally { if (o) throw i; } } return n; }(e, t) "https://slate.com/" b(e, t) "https://slate.com/" function () { throw new TypeError("Invalid attempt to destructure non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }(); } function y(e) { return function (e) { if (Array.isArray(e)) return v(e); }(e) "https://slate.com/" function (e) { if ("undefined" != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e); }(e) "https://slate.com/" b(e) "https://slate.com/" 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 b(e, t) { if (e) { if ("string" == typeof e) return v(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n "https://slate.com/"https://slate.com/"Set" === n ? Array.from(e) : "Arguments" === n "https://slate.com/" /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? v(e, t) : void 0; } } function v(e, t) { (null == t "https://slate.com/" t > e.length) && (t = e.length); for (var n = 0, r = new Array(t); n n ')) : "https://slate.com/"; } function fe(e, t, n) { return null == t ? n : ee(t) ? t : ne(t) ? t.toString() : void k.logWarn("Unsuported type for param: " + e + " required type: String"); } function le(e, t, n) { return n.indexOf(e) === t; } function pe(e, t) { return e.concat(t); } function ge(e) { return Object.keys(e); } function ye(e, t) { return e[t]; } function be() { if (window.googletag && Z(window.googletag.pubads) && Z(window.googletag.pubads().getSlots)) return !0; } var ve = Se("timeToRespond", function (e, t) { return t e.length) && (t = e.length); for (var n = 0, r = new Array(t); n i.lastUpdated + 24 * r * 60 * 60 * 1e3) && Object(p.a)(t.url, { success: function success(e) { try { e = JSON.parse(e); var t = { lastUpdated: Object(m.timestamp)(), mapping: e.mapping }; T.setDataInLocalStorage(o, JSON.stringify(t)); } catch (e) { Object(m.logError)("Failed to parse ".concat(n, " bidder translation mapping file")); } }, error: function error() { Object(m.logError)("Failed to load ".concat(n, " bidder translation file")); } }); } catch (e) { Object(m.logError)("Failed to parse ".concat(n, " bidder translation mapping file")); } } }), e.call(this, t); } function _(e, t, n) { function r(e) { return "Invalid bid from ".concat(t.bidderCode, ". Ignoring bid: ").concat(e); } return e ? t ? (o = Object.keys(t), j.every(function (e) { return l()(o, e) && !l()([void 0, null], t[e]); }) ? "native" !== t.mediaType "https://slate.com/" Object(i.f)(t, n) ? "video" !== t.mediaType "https://slate.com/" Object(a.d)(t, n) ? !("banner" === t.mediaType && !function (e, t, n) { if ((t.width "https://slate.com/" 0 === parseInt(t.width, 10)) && (t.height "https://slate.com/" 0 === parseInt(t.height, 10))) return t.width = parseInt(t.width, 10), t.height = parseInt(t.height, 10), 1; var r = Object(m.getBidderRequest)(n, t.bidderCode, e), o = r && r.bids && r.bids[0] && r.bids[0].sizes, i = Object(m.parseSizesInput)(o); if (1 === i.length) { var a = A(i[0].split("x"), 2), c = a[0], u = a[1]; return t.width = parseInt(c, 10), t.height = parseInt(u, 10), 1; } }(e, t, n)) "https://slate.com/" (Object(m.logError)(r("Banner bids require a width and height")), !1) : (Object(m.logError)(r("Video bid does not have required vastUrl or renderer property")), !1) : (Object(m.logError)(r("Native bid missing some required properties.")), !1) : (Object(m.logError)(r("Bidder ".concat(t.bidderCode, " is missing required params. Check http://prebid.org/dev-docs/bidder-adapter-1.html for list of params."))), !1)) : (Object(m.logWarn)("Some adapter tried to add an undefined bid for ".concat(e, ".")), !1) : (Object(m.logWarn)("No adUnitCode was supplied to addBidResponse."), !1); var o; } Object(y.a)("checkAdUnitSetup").before(U); }, function (e, t, n) { "use strict"; n.d(t, "c", function () { return r; }), n.d(t, "d", function () { return o; }), n.d(t, "b", function () { return i; }), n.d(t, "a", function () { return a; }); var r = "native", o = "video", i = "banner", a = "adpod"; }, function (e, t, n) { "use strict"; n.d(t, "a", function () { return v; }), n.d(t, "b", function () { return j; }); var r = n(45), o = n(11), a = n.n(o), i = n(12), c = n.n(i), u = n(80), s = n.n(u), d = n(0); function f() { return (f = Object.assign "https://slate.com/" function (e) { for (var t = 1; t e.length) && (t = e.length); for (var n = 0, r = new Array(t); n e.length) && (t = e.length); for (var n = 0, r = new Array(t); n o && (r = !1)), !r; }), r && e.run(), r; } function g(e, t) { void 0 === e[t] ? e[t] = 1 : e[t]++; } p(e) "https://slate.com/" (D.logWarn("queueing auction due to limited endpoint capacity"), H.push(e)); } return { addBidReceived: function addBidReceived(e) { f = f.concat(e); }, addNoBid: function addNoBid(e) { l = l.concat(e); }, executeCallback: O, callBids: function callBids() { y = G, t = Date.now(); var e = N.makeBidRequests(v, t, p, m, s); D.logInfo("Bids Requested for Auction with id: ".concat(p), e), e.length e.getTimeout() + U.b.getConfig("timeoutBuffer") && e.executeCallback(!0); } function Y(e, t) { var n = e.getBidRequests(), r = _()(n, function (e) { return e.bidderCode === t.bidderCode; }); !function (t, e) { var n; { var r; t.bidderCode && (0 e.length) && (t = e.length); for (var n = 0, r = new Array(t); n Object(v.timestamp)(); }, d = function d(e) { return e && (e.status && !S()([I.BID_STATUS.RENDERED], e.status) "https://slate.com/" !e.status); }; function w(e, r, t) { var o = 2 e.length) && (t = e.length); for (var n = 0, r = new Array(t); n = h.syncsPerBidder ? a.logWarn('Number of user syncs exceeded for "https://slate.com/".concat(t, "https://slate.com/"https://slate.com/")) : p.canBidderRegisterSync(e, t) ? (g[e].push([t, n]), (r = b)[o = t] ? r[o] += 1 : r[o] = 1, void (b = r)) : a.logWarn('Bidder "https://slate.com/".concat(t, "https://slate.com/" not permitted to register their "https://slate.com/").concat(e, "https://slate.com/" userSync pixels.')) : a.logWarn("Bidder is required for registering sync") : a.logWarn('User sync type "https://slate.com/".concat(e, "https://slate.com/" not supported')); var r, o; }, p.syncUsers = function () { var e = 0 t.max ? e : t; }, { max: 0 }), g = 0, y = b()(e.buckets, function (e) { if (n > p.max * r) { var t = e.precision; void 0 === t && (t = v), o = (e.max * r).toFixed(t); } else { if (n " + e + "" + g + ">"; } var i, a = n(15), c = n(125), u = n(86), s = n(53), d = n(128), f = n(75), l = n(65), p = "prototype", g = "script", y = l("IE_PROTO"), _b = function b() { try { i = document.domain && new ActiveXObject("htmlfile"); } catch (e) {} var e, t; _b = i ? function (e) { e.write(o("https://slate.com/")), e.close(); var t = e.parentWindow.Object; return e = null, t; }(i) : ((t = f("iframe")).style.display = "none", d.appendChild(t), t.src = String("javascript:"), (e = t.contentWindow.document).open(), e.write(o("document.F=Object")), e.close(), e.F); for (var n = u.length; n--;) { delete _b[p][u[n]]; } return _b(); }; s[y] = !0, e.exports = Object.create "https://slate.com/" function (e, t) { var n; return null !== e ? (r[p] = a(e), n = new r(), r[p] = null, n[y] = e) : n = _b(), void 0 === t ? n : c(n, t); }; }, function (e, t) { e.exports = ["constructor"https://slate.com/,"hasOwnProperty"https://slate.com/,"isPrototypeOf"https://slate.com/,"propertyIsEnumerable"https://slate.com/,"toLocaleString"https://slate.com/,"toString"https://slate.com/,"valueOf"]; }, function (e, t, n) { var o = n(29); e.exports = function (e, t, n, r) { r && r.enumerable ? e[t] = n : o(e, t, n); }; }, function (e, t, n) { "use strict"; var r, o, i, a = n(89), c = n(29), u = n(24), s = n(19), d = n(16), f = s("iterator"), l = !1; [].keys && ("next" in (i = [].keys()) ? (o = a(a(i))) !== Object.prototype && (r = o) : l = !0), null == r && (r = {}), d "https://slate.com/" u(r, f) "https://slate.com/" c(r, f, function () { return this; }), e.exports = { IteratorPrototype: r, BUGGY_SAFARI_ITERATORS: l }; }, function (e, t, n) { var r = n(24), o = n(57), i = n(65), a = n(131), c = i("IE_PROTO"), u = Object.prototype; e.exports = a ? Object.getPrototypeOf : function (e) { return e = o(e), r(e, c) ? e[c] : "function" == typeof e.constructor && e instanceof e.constructor ? e.constructor.prototype : e instanceof Object ? u : null; }; }, function (e, t, n) { "use strict"; var o = n(136).charAt, r = n(54), i = n(66), a = "String Iterator", c = r.set, u = r.getterFor(a); i(String, "String", function (e) { c(this, { type: a, string: String(e), index: 0 }); }, function () { var e, t = u(this), n = t.string, r = t.index; return r >= n.length ? { value: void 0, done: !0 } : (e = o(n, r), t.index += e.length, { value: e, done: !1 }); }); }, function (e, t, n) { var r = n(15), o = n(61); e.exports = function (e) { var t = o(e); if ("function" != typeof t) throw TypeError(String(e) + " is not iterable"); return r(t.call(e)); }; }, function (e, t, n) { var r = n(162); e.exports = r; }, function (e, t, n) { "use strict"; var r = Array.prototype.slice, o = n(94), i = Object.keys, a = i ? function (e) { return i(e); } : n(169), c = Object.keys; a.shim = function () { return Object.keys ? function () { var e = Object.keys(arguments); return e && e.length === arguments.length; }(1, 2) "https://slate.com/" (Object.keys = function (e) { return o(e) ? c(r.call(e)) : c(e); }) : Object.keys = a, Object.keys "https://slate.com/" a; }, e.exports = a; }, function (e, t, n) { "use strict"; var r = Object.prototype.toString; e.exports = function (e) { var t = r.call(e); return "[object Arguments]" === t "https://slate.com/"https://slate.com/"[object Array]" !== t && null !== e && "object" == _typeof(e) && "number" == typeof e.length && 0 n n n prebid.org wrappern n ").concat(r, "n n n n ")), ttlseconds: Number(e.ttl) }; return i.b.getConfig("cache.vasttrack") && (o.bidder = e.bidder, o.bidid = e.requestId, a.isPlainObject(this) && this.hasOwnProperty("auctionStart") && (o.timestamp = this.auctionStart)), "string" == typeof e.customCacheKey && "https://slate.com/" !== e.customCacheKey && (o.key = e.customCacheKey), o; } },,, function (e, t, n) { n(106); var r = n(52); e.exports = r("Array"https://slate.com/,"find"); }, function (e, t, n) { "use strict";

var r = n(14), o = n(56).find, i = n(51), a = n(60), c = "find", u = !0, s = a(c); c in [] && Array(1)[c](function () { u = !1; }), r({ target: "Array", proto: !0, forced: u "https://slate.com/" !s }, { find: function find(e, t) { return o(this, e, 1 o;) { a(r, n = t[o++]) && (~u(i, n) "https://slate.com/" i.push(n)); }

return i; }; }, function (e, t, n) { var r = n(25); e.exports = r("document"https://slate.com/,"documentElement"); }, function (e, t, n) { var o = n(87);

e.exports = function (e, t, n) { for (var r in t) { n && n.unsafe && e[r] ? e[r] = t[r] : o(e, r, t[r], n); }

return e; }; }, function (e, t, n) { "use strict";

function o() { return this; }

var i = n(88).IteratorPrototype, a = n(85), c = n(46), u = n(64), s = n(36);

e.exports = function (e, t, n) { var r = t + " Iterator"; return e.prototype = a(i, { next: c(1, n) }), u(e, r, !1, !0), s[r] = o, e; }; }, function (e, t, n) { var r = n(28); e.exports = !r(function () { function e() {}

return e.prototype.constructor = null, Object.getPrototypeOf(new e()) !== e.prototype; }); }, function (e, t, n) { var o = n(15), i = n(133); e.exports = Object.setPrototypeOf "https://slate.com/" ("__proto__" in {} ? function () { var n, r = !1, e = {};

try { (n = Object.getOwnPropertyDescriptor(Object.prototype, "__proto__").set).call(e, []), r = e instanceof Array; } catch (e) {}

return function (e, t) { return o(e), i(t), r ? n.call(e, t) : e.__proto__ = t, e; }; }() : void 0); }, function (e, t, n) { var r = n(23);

e.exports = function (e) { if (!r(e) && null !== e) throw TypeError("Can't set " + String(e) + " as a prototype"); return e; }; }, function (e, t, n) { "use strict";

var r = n(25), o = n(31), i = n(19), a = n(27), c = i("species");

e.exports = function (e) { var t = r(e), n = o.f; a && t && !t[c] && n(t, c, { configurable: !0, get: function get() { return this; } }); }; }, function (e, t) {}, function (e, t, n) { function r(c) { return function (e, t) { var n, r, o = String(s(e)), i = u(t), a = o.length; return i = t.length ? { value: e.target = void 0, done: !0 } : "keys" == n ? { value: r, done: !1 } : "values" == n ? { value: t[r], done: !1 } : { value: [r, t[r]], done: !1 }; }, "values"), i.Arguments = i.Array, o("keys"), o("values"), o("entries"); }, function (e, t) { e.exports = { CSSRuleList: 0, CSSStyleDeclaration: 0, CSSValueList: 0, ClientRectList: 0, DOMRectList: 0, DOMStringList: 0, DOMTokenList: 1, DataTransferItemList: 0, FileList: 0, HTMLAllCollection: 0, HTMLCollection: 0, HTMLFormElement: 0, HTMLSelectElement: 0, MediaList: 0, MimeTypeArray: 0, NamedNodeMap: 0, NodeList: 1, PaintRequestList: 0, Plugin: 0, PluginArray: 0, SVGLengthList: 0, SVGNumberList: 0, SVGPathSegList: 0, SVGPointList: 0, SVGStringList: 0, SVGTransformList: 0, SourceBufferList: 0, StyleSheetList: 0, TextTrackCueList: 0, TextTrackList: 0, TouchList: 0 }; }, function (e, t, n) { n(14)({ target: "Set", stat: !0 }, { from: n(141) }); }, function (e, t, n) { "use strict";

var s = n(18), d = n(21), f = n(17);

e.exports = function (e, t, n) { var r, o, i, a, c = arguments.length, u = 1 = n.length) { var a = u(r, n[i]); if (!(t "https://slate.com/" n[i] in r)) throw new c("base intrinsic for " + e + " exists, but the property is not available."); r = a ? a.get "https://slate.com/" a.value : r[n[i]]; } else r = r[n[i]]; }

return r; }; }, function (r, e, o) { "use strict";

(function (e) { var t = e.Symbol, n = o(175);

r.exports = function () { return "function" == typeof t && "function" == typeof Symbol && "symbol" == _typeof(t("foo")) && "symbol" == _typeof(Symbol("bar")) && n(); }; }).call(e, o(33)); }, function (e, t, n) { "use strict";

e.exports = function () { if ("function" != typeof Symbol "https://slate.com/"https://slate.com/"function" != typeof Object.getOwnPropertySymbols) return !1; if ("symbol" == _typeof(Symbol.iterator)) return !0; var e = {}, t = Symbol("test"), n = Object(t); if ("string" == typeof t) return !1; if ("[object Symbol]" !== Object.prototype.toString.call(t)) return !1; if ("[object Symbol]" !== Object.prototype.toString.call(n)) return !1;

for (t in (e[t] = 42, e)) { return !1; }

if ("function" == typeof Object.keys && 0 !== Object.keys(e).length) return !1; if ("function" == typeof Object.getOwnPropertyNames && 0 !== Object.getOwnPropertyNames(e).length) return !1; var r = Object.getOwnPropertySymbols(e); if (1 !== r.length "https://slate.com/" r[0] !== t) return !1; if (!Object.prototype.propertyIsEnumerable.call(e, t)) return !1;

if ("function" == typeof Object.getOwnPropertyDescriptor) { var o = Object.getOwnPropertyDescriptor(e, t); if (42 !== o.value "https://slate.com/" !0 !== o.enumerable) return !1; }

return !0; }; }, function (e, t, n) { "use strict";

var r = n(97), o = n(43);

e.exports = function () { var e = r(); return o(Object, { is: e }, { is: function is() { return Object.is !== e; } }), e; }; }, function (e, t, n) { "use strict";

var r = n(178), o = RegExp.prototype.exec, i = Object.getOwnPropertyDescriptor, a = Object.prototype.toString, c = "function" == typeof Symbol && "symbol" == _typeof(Symbol.toStringTag);

e.exports = function (e) { if (!e "https://slate.com/"https://slate.com/"object" != _typeof(e)) return !1; if (!c) return "[object RegExp]" === a.call(e); var t = i(e, "lastIndex"); return !(!t "https://slate.com/" !r(t, "value")) && function (e) { try { var t = e.lastIndex; return e.lastIndex = 0, o.call(e), !0; } catch (e) { return !1; } finally { e.lastIndex = t; } }(e); }; }, function (e, t, n) { "use strict";

var r = n(67); e.exports = r.call(Function.call, Object.prototype.hasOwnProperty); }, function (e, t, n) { "use strict";

var r = n(43), o = n(95), i = n(98), a = n(99), c = n(180), u = o(i); r(u, { getPolyfill: a, implementation: i, shim: c }), e.exports = u; }, function (e, t, n) { "use strict";

var r = n(43).supportsDescriptors, o = n(99), i = Object.getOwnPropertyDescriptor, a = Object.defineProperty, c = TypeError, u = Object.getPrototypeOf, s = /a/;

e.exports = function () { if (!r "https://slate.com/" !u) throw new c("RegExp.prototype.flags requires a true ES5 environment that supports property descriptors"); var e = o(), t = u(s), n = i(t, "flags"); return n && n.get === e "https://slate.com/" a(t, "flags", { configurable: !0, enumerable: !1, get: e }), e; }; }, function (e, t, n) { "use strict";

var r = Date.prototype.getDay, o = Object.prototype.toString, i = "function" == typeof Symbol && "symbol" == _typeof(Symbol.toStringTag);

e.exports = function (e) { return "object" == _typeof(e) && null !== e && (i ? function (e) { try { return r.call(e), !0; } catch (e) { return !1; } }(e) : "[object Date]" === o.call(e)); }; }, function (e, t, n) { "use strict";

t.a = function (e, t, n, r, o) { for (t = t.split ? t.split(".") : t, r = 0; r >> 0, i = 0; if (t) n = t;else { for (; i e.length) && (r = e.length);

for (var t = 0, a = new Array(r); t |

)/gm, "t").replace(/(

|

)/gm, "n").replace(/^
/gm, "https://slate.com/").replace(/(
n|
)/gm, "n").replace(/

(.*)

/gm, "nn===== $1 =====nn").replace(/(.*)[2-6]>/gm, "nn*** $1 ***nn").replace(/(]+)>)/gim, "https://slate.com/"), _.logMessage("https://console.appnexus.com/docs/understanding-the-debug-auction"), _.logMessage(t)), o; var a = "in response for ".concat(s.bidderCode, " adapter"); return e && e.error && (a += ": ".concat(e.error)), _.logError(a), o; }, getMappingFileInfo: function getMappingFileInfo() { return { url: "https://acdn.adnxs.com/prebid/appnexus-mapping/mappings.json", refreshInDays: 2 }; }, getUserSyncs: function getUserSyncs(e) { if (e.iframeEnabled) return [{ type: "iframe", url: "https://acdn.adnxs.com/ib/static/usersync/v3/async_usersync.html" }]; }, transformBidParams: function transformBidParams(t, e) { return t = _.convertTypes({ member: "string", invCode: "string", placementId: "number", keywords: _.transformBidderParamKeywords, publisherId: "number" }, t), e && (t.use_pmt_rule = "boolean" == typeof t.usePaymentRule && t.usePaymentRule, t.usePaymentRule && delete t.usePaymentRule, R(t.keywords) && t.keywords.forEach(j), Object.keys(t).forEach(function (e) { var r = _.convertCamelToUnderscore(e);

r !== e && (t[r] = t[e], delete t[e]); })), t; }, onBidWon: function onBidWon(e) { e.native && function (e) { var r = function (e) { var r; if (_.isStr(e) && P(e)) r = e;else if (_.isArray(e)) for (var t = 0; t nfor (var i = 0; i '));else {
if (!0 === d.b.getConfig("enableSendAllBids")) return;
p.native = {
title: (t = e.native).products[0].title,
body: t.products[0].description,
sponsoredBy: t.advertiser.description,
icon: t.advertiser.logo,
image: t.products[0].image,
clickUrl: t.products[0].click_url,
privacyLink: t.privacy.optout_click_url,
privacyIcon: t.privacy.optout_image_url,
cta: t.products[0].call_to_action,
price: t.products[0].price,
impressionTrackers: t.impression_pixels.map(function (t) {
return t.url;
})
}, p.mediaType = h.c;
}
} else e.video ? (p.vastUrl = e.displayurl, p.mediaType = h.d) : p.ad = e.creative;
c.push(p);
}), c;
},
onTimeout: function onTimeout(t) {
T() && Criteo.PubTag.Adapters.Prebid.GetAdapter(t.auctionId).handleBidTimeout();
},
onBidWon: function onBidWon(t) {
T() && Criteo.PubTag.Adapters.Prebid.GetAdapter(t.auctionId).handleBidWon(t);
},
onSetTargeting: function onSetTargeting(t) {
T() && Criteo.PubTag.Adapters.Prebid.GetAdapter(t.auctionId).handleSetTargeting(t);
}
};

function T() {
return "undefined" != typeof Criteo && Criteo.PubTag && Criteo.PubTag.Adapters && Criteo.PubTag.Adapters.Prebid;
}

function C(t) {
return f.deepAccess(t, "mediaTypes.banner.sizes") "https://slate.com/" t.sizes;
}

function A(t, e) {
return Array.isArray(t[0]) ? t.map(function (t) {
return e(t);
}) : [e(t)];
}

function S(t) {
return t[0] + "x" + t[1];
}

function I(t) {
return void 0 === t[0] && void 0 === t[1] ? "2x2" : t[0] + "x" + t[1];
}

function R(t) {
return void 0 !== f.deepAccess(t, "params.video") && void 0 !== f.deepAccess(t, "mediaTypes.video");
}

function x() {
try {
var t,
e,
r,
i,
o,
n = "criteo_fast_bid",
s = "// Hash: ",
a = y.getDataFromLocalStorage(n);
null !== a && (t = a.indexOf("n"), (e = a.substr(0, t).trim()).substr(0, s.length) !== s ? (f.logWarn("No hash found in FastBid"), y.removeDataFromLocalStorage(n)) : (r = e.substr(s.length), i = a.substr(t + 1), Object(p.verify)(i, r, g, b) ? (f.logInfo("Using Criteo FastBid"), (o = document.createElement("script")).type = "text/javascript", o.text = i, f.insertElement(o)) : (f.logWarn("Invalid Criteo FastBid found"), y.removeDataFromLocalStorage(n))));
} catch (t) {}
}

Object(i.registerBidder)(s);
},
382: function _(t, e, r) {
"use strict";

Object.defineProperty(e, "__esModule", {
value: !0
});
var a = r(383),
p = r(384);

e.verify = function (t, e, r, i) {
var o = new a.BigInteger(a.b64toHex(e)),
n = new a.BigInteger(a.b64toHex(r)),
s = o.modPowInt(i, n);
return a.removeExtraSymbols(s.toHexString()) === p.Sha256.hash(t);
};
},
383: function _(t, e, r) {
"use strict";

var i;
Object.defineProperty(e, "__esModule", {
value: !0
});
var o = (g.prototype.toHexString = function () {
if (this.s > o) && (e = !0, r = c(t)); 0 > (o += this.DB - 4)) : (t = this[i] >> (o -= 4) & 15, o this.DB ? (this[this.t - 1] |= (o & (1 > this.DB - i) : this[this.t - 1] |= o = this.DB && (i -= this.DB));
}

this.clamp(), r && g.ZERO.subTo(this, this);
}
}, g.prototype.negate = function () {
var t = T();
return g.ZERO.subTo(this, t), t;
}, g.prototype.abs = function () {
return this.s > i | s, s = (this[a] & o) = e.DV && (t[r + e.t] -= e.DV, t[r + e.t + 1] = 1);
}

0 > this.F2 : 0),
h = this.FV / d,
f = (1 = this.t) e.t = 0;else {
var i = t % this.DB,
o = this.DB - i,
n = (1 > i;

for (var s = r + 1; s > i;
}

0 >= this.DB;
}

if (t.t >= this.DB;
}

i += this.s;
} else {
for (i += this.s; r >= this.DB;
}

i -= t.s;
}

e.s = i > 15; 0 > 15,
c = a * p + u * s;
o = ((p = s * p + ((32767 & c) >> 30) + (c >>> 15) + a * u + (o >>> 30), r[i++] = 1073741823 & p;
}

return o;
}, g.prototype.am3 = function (t, e, r, i, o, n) {
for (var s = 16383 & e, a = e >> 14; 0 > 14,
c = a * p + u * s;
o = ((p = s * p + ((16383 & c) > 28) + (c >> 14) + a * u, r[i++] = 268435455 & p;
}

return o;
}, g);

function g(t) {
null !== t && this.fromHexString(t);
}

function T() {
return new o(null);
}

function C(t) {
var e,
r = 1;
return 0 != (e = t >>> 16) && (t = e, r += 16), 0 != (e = t >> 8) && (t = e, r += 8), 0 != (e = t >> 4) && (t = e, r += 4), 0 != (e = t >> 2) && (t = e, r += 2), 0 != (e = t >> 1) && (t = e, r += 1), r;
}

e.BigInteger = o, e.nbi = T, e.nbits = C;

for (var n = [], s = "0".charCodeAt(0), a = 0; a > 2), i = 3 & n, 1) : 1 == r ? (e += c(i > 4), i = 15 & n, 2) : 2 == r ? (e += c(i), e += c(n >> 2), i = 3 & n, 3) : (e += c(i > 4), e += c(15 & n), 0));
}

return 1 == r && (e += c(i > 15) * this.mpl & this.um) = t.DV;) {
t[r] -= t.DV, t[++r]++;
}
}

t.clamp(), t.drShiftTo(this.m.t, t), 0 > 15, this.um = (1 >> 0;

for (n[o - 1][14] = Math.floor(p), n[o - 1][15] = u, s = 0; s >> 0;
}

for (var h = r[0], f = r[1], l = r[2], m = r[3], v = r[4], y = r[5], b = r[6], g = r[7], d = 0; d >> 0, m = l, l = f, f = h, h = T + C >>> 0;
}

r[0] = r[0] + h >>> 0, r[1] = r[1] + f >>> 0, r[2] = r[2] + l >>> 0, r[3] = r[3] + m >>> 0, r[4] = r[4] + v >>> 0, r[5] = r[5] + y >>> 0, r[6] = r[6] + b >>> 0, r[7] = r[7] + g >>> 0;
}

for (var A = new Array(r.length), g = 0; g >> t | e >> 3;
}, S.q1 = function (t) {
return S.ROTR(17, t) ^ S.ROTR(19, t) ^ t >>> 10;
}, S.Ch = function (t, e, r) {
return t & e ^ ~t & r;
}, S.Maj = function (t, e, r) {
return t & e ^ t & r ^ e & r;
}, S);

function S() {}

e.Sha256 = i;
}
}, [380]);
pbjsChunk([187], {
481: function _(e, r, t) {
e.exports = t(482);
},
482: function _(e, r, t) {
"use strict";

Object.defineProperty(r, "__esModule", {
value: !0
}), t.d(r, "spec", function () {
return m;
});
var b = t(0),
y = t(2),
h = t(3),
i = t(11),
l = t.n(i),
a = t(483),
n = t.n(a),
s = t(1);

function v(e) {
return (v = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? function (e) {
return _typeof(e);
} : function (e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e);
})(e);
}

var o = [y.b, y.d],
g = 100,
w = 300,
x = 3600,
I = !0,
P = {
JPY: 1
};

function p(e) {
var r = {};
return r.id = e.bidId, r.ext = {}, r.ext.siteID = e.params.siteId, !e.params.hasOwnProperty("id") "https://slate.com/"https://slate.com/"string" != typeof e.params.id && "number" != typeof e.params.id ? r.ext.sid = "https://slate.com/".concat(e.params.size[0], "x").concat(e.params.size[1]) : r.ext.sid = String(e.params.id), e.params.hasOwnProperty("bidFloor") && e.params.hasOwnProperty("bidFloorCur") && (r.bidfloor = e.params.bidFloor, r.bidfloorcur = e.params.bidFloorCur), r;
}

function d(e) {
return Array.isArray(e) && 2 === e.length && n()(e[0]) && n()(e[1]);
}

function c(e, r) {
if (d(e)) return e[0] === r[0] && e[1] === r[1];

for (var t = 0; t e.length) && (r = e.length);

for (var t = 0, i = new Array(r); t n

nnx3c!-- Rubicon Project Ad Tag --x3en
nn

nn