The Crab Theory Revisited


This 2:23-minute clip is another part of Ella Mae Lentz’s presentation at the NAD conference during the summer of 2006, Understanding Deafhood: Our Language (part 2 of 4). This clip re-frames the Crab Theory that has been used to describe how Deaf people pull “achieving” Deaf people down. Framing is how we use language to set up others’ thinking about a particular thing, in this case, about Deaf people’s behaviors. Enjoy this challenge to our thinking! FYI: The book mentioned in this clip is “Understanding Deaf Culture: In Search of Deafhood” by Dr. Paddy Ladd (2003).

42 comments

  • DE 18 years ago

    Ella, RIGHT ON! Time to challenge those who put us in the “pail”, not attack each other!!! We KISS-FIST you, Ella!!!!!!!!!!#@Q@$@!$@#@!$#@%$^%

    Reply
  • Wolmah 18 years ago

    Just nailed it. The community needs to sit and revisit their thoughts and actions. Thank you.

    Reply
  • moi 18 years ago

    Gotta agree with DE – KISS-FIST ya, Ella! It is such a pleasure working with you and discussing these issues with you!!! I LOVE this story and I could watch it over and over and over again. Thank you!

    Reply
  • PJ 18 years ago

    Ella… Baaadddd You are Champ!!!

    Reply
  • noreen 18 years ago

    beautiful & powerful msg! thanks, ella mae!

    Reply
  • Mark Drolsbaugh 18 years ago

    Ella… you hit a homerun there. Excellent point! If the Deaf community could just be more supportive of each other and grow stronger, we could crack the crab pail and get out of it. Then we’d have a better understanding of how we got there in the first place. But that’s a big “if.” Can we, as a Deaf community, unite enough to pull it off? I hope so! It starts with awareness — and Ella, you did a great job waking us up. 🙂

    Reply
  • Tara Bennett 18 years ago

    Homerun for Ella Mae! Bad azz! Mwah on fist YOU! Fab Job! 🙂

    Reply
  • Paul Kiel 18 years ago

    That is interesting topic. Not only Deaf – the hearing need to stop spreading misinformation.

    Kudos to Ella for that analogy!

    We can be stronger if those audists would stop the abuses! =^)

    Reply
  • Howie Seago 18 years ago

    Ella,
    GREEEEEAAATT perspective! Will share this with our new Washington Deaf Teen Leadership Camp
    next year! Keep up the “thinking outside of the box…or outside of the metal boiling pot.”
    KUDOS to Joey too for such a valuable service.

    Reply
  • Delanne Woodall 18 years ago

    *rimshot* WOW! I’ve never thought of it! You made a POINT!!

    Reply
  • Elizabeth 18 years ago

    Very true. Thank you for bringing up the story again. As usual, I love your ASL narration.

    Reply
  • Crab Theory Smasher 18 years ago

    I agree with Ella with no questions!! We need to encourage deafies to be successful in the world as we are proud of them in every way. Thumb Up to Ella!!!

    Reply
  • testing_the_truth 18 years ago

    People who are doing well lift up the community spirit and become role models for the others. Crabbing down the successful is suicidal for the community because without them only the crabs remain to crawl around making happy none! Very good point, Ella!

    Reply
  • Melissa 18 years ago

    Yeah, Ella Mae! Never thought of it that way– crabs never asked to be in the pail. So, now that we’re there, did Paddy Ladd offer solutions on how we could really get out of there? By practicing deafhood? Looking forward to part 3 and 4 clips!!!! 🙂 Nice job, Joey.

    Reply
  • Ron Sipek 18 years ago

    TRUE! ! ! Over decades what common things happened elsewhere. I’ve tried to tell that the hearing with their “greed” or “glory seeker” attitudes – tend to inject Deaf minds and cause us turn against each other with their syringes. – the secret medicine,”Horizontal Oppression”.

    Ella, sign beautifullllllly, wave I-L-Y. Time to pound the wall of bucket together and “break through” 🙂 Joey, thank for your fabulous work.

    ASL-me>

    Reply
  • The One and Only Ridor 18 years ago

    I watched this three times and I’m still having these goosebumps.

    You, Ella Mae, resonated what I felt all along in a long time!

    Thank you!

    R-

    Reply
  • Rene Visco 18 years ago

    In reality, what is the “bucket”? What are the examples?

    Reply
  • Penny 18 years ago

    I wish I could agree with this but look what had happened to the Director found a new agency called Domestic Violence Against Women but Deaf community put her in rusty pail and nearly brought her to destruction. They simply couldn’t and wouldn’t allow her to make mistakes so she can become a better Leader. Thank goodness she is made of steel and did not give up. Now Deaf community is doing the same thing to Gallaudet New President. I can list more names here but it will create negative energy. Crab Theory really lives among us today—Deaf or Hearing. Not just Deaf only. It is not too late to change our attitude and give our utmost support for everyone who wants to make a difference.

    Reply
  • Penny 18 years ago

    I forgot to add “who” and I meant Deaf Women Against Violence (DWAV) which changed to Deaf Hope. Thanks.

    Reply
  • Just a Thought 18 years ago

    Hello,

    I enjoyed reading all the Vlogs. Very informative although I may not agree with all of them, but I did listen with an open mind.

    I would like to give two cents of my opinion, if you don’t mind.

    About the crab theory, from a different perspective, I would suggest that each of us to analyze within as to whether if we have a “jealous bone”. If so, then we should work within to get rid of this jealousy. Then the crab theory would not exist.

    To me, the crab theory exists due to jealousy, power greed, and fame.

    It does exist everywhere, in various cultures, subgroups, etc. Deaf culture is only one of them. It is part of human nature to want to be better than others. But we CAN improve ourselves individually. When each individual improves himself/herself, then naturally it will form a peaceful culture!

    Reply
  • Jon Savage 18 years ago

    My comment to Ella:

    Go to YouTube (ASL VLOG)

    Reply
  • Mike Schmidt 18 years ago

    I watched this with a BIG GRIN on my face. Ella can be really funny. These poor crabs! Kudos to all invovled.

    Reply
  • Ella Lentz 18 years ago

    Aidan…Go Go Girl!! you did great what you did with the interpreter situation. Im sorry it was rough for you. Hate when these happen. We do not deserve that at all!
    I look forward to your films.

    Penny…evidently you got your information from one side only. There’s always two sides to a story, you know. And since i was right in middle of that mess, I am sure you were NOT there to witness what happened. What happened with DWAV was very painful for ALL of us, including the CEO. There is a public letter the last DWAV board wrote to explain what happened. If you are interested, we can reprint that letter somewhere. I believe a GOOD Deaf leader should practice community building and not splitting in ANY level of communciations/relationships. A good Deaf leader should be courageous to challenge anything that splits or oppresses the Deaf signing community. A good Deaf leader should also know when to step down if the Deaf community is suffering from him/her being too stubborn or manipulative. That would have been much more healing than being so stubborn and staying there and splitting the community more. But our community is very generous and the two women discussed here are STILL up there.

    (a point of clarification…DWAV folded due to bankruptcy evidently caused by the CEO in question. It DID NOT change to DeafHope. DeafHope was an entirely NEW organization.)

    The point of revisiting the Crab Theory is we need to point to the powerful person who have put us in the pail causing our troubles and infighting, and stop blaming ourselves for pulling each other down. That powerful person is looking down at us, studying us, criticizing us, blaming us for our problems instead of realizing its his fault and making up for that. I declare that is the AUDISTIC SYSTEM and if you need a face, I propose the face of Alexander Graham Bell or whoever thinks and acts like he did. And that’s what/who we SHOULD be fighting…also get rid of our audistic attitudes ingrained inside our souls by those supporting the SYSTEM.

    Reply
  • Ella Lentz 18 years ago

    AnnMarie,
    I agree with you about being committed to talk directly with person that you re criticizing. And if you do not plan to do that, then stop complaining to everybody else. That may be one good strategy we can try! Another challenge is HOW do we express ourselves to that person? you want to be honest, but not destructive, right? You want to make sense and not be too offensive that the other person refuse to listen. Sometimes, no matter how hard you try, the other person wont listen. if so, then so be it! Learn from that and move on!

    Reply
  • Penny 18 years ago

    When I expressed my opinion last night…I told myself that I might expect army tanks in front of my door and indeed I did. Ella Lentz, you made a good point that I was not there to witness incident with DWAV. You are correct about that one. I think after my journey around the world and getting older, I have learned to look away from negative side and focus on positive side only. I am at stage where I am not interested hearing negative side of the story. I am not perfect but I am working on it lately. I don’t know if this is healthy or not especially when we want to improve our community.

    I have seen Director of DWAV did something that I was not pleased with but I decided not to approach her about it or discussed with someone else because I wanted to overlook her one flaw. I have seen her positive attributes she made to our community. I can give you some examples here.

    Most of us are aware that Director had counseled clients who were violently abused, attacked and raped by husbands, partners and strangers at her home before DWAV existed. She also received no pay. She coordinated many fundraising events too. From my understanding, when bankruptcy occurred with DWAV, the director was not present and the organization fell apart. NO ONE came and started a new organization. No one. The former director of DWAV decided to return and started a new organization with new name. Don’t you think we indebted her for starting all over again?

    I strongly believe that Director has many support today. If that is the case then why can’t we give her another chance? Organization to help Deaf women, children and men are rather new in our state. I feel that all of us should feel fortunate to have someone like her on board because if not for her, who will take her place? I personally feel that if anyone is frustrated or do not agree with leader’s perspective, opinion, or decision then this person should find something else to do rather than continue backstabbing her/him. The complaint against Director mainly came from board members. Board members were a small number of group compared to majority of Deaf people in the community who admired her commitment. I am aware that leaders can’t make everyone happy. I am sure they wish but it is not realistic at all.

    I respect your perspective here. Like I said you did make good points. I am not on her side or yours but I feel that we as a minority group, we should give utmost support for each other regardless if we agree with her/his decision unless the leader did or do something out of ordinary and hurt the community then of course, we should take action and do something about it.

    Now Ridor…I don’t know Jane Fernandes at all and I am not at her side either. From my understanding is that 13 Board of Trustees were/are Deaf and I think the rest four were/are hearing. 24 applicants applied for the position and Board of Trustees decided to select Jane Fernandes as President. FSAA have mentioned that procedures were not complied appropriately and fairly. If this is the case then my question is why didn’t 23 applicants file complaint but so far they haven’t. Correct me if I am wrong. If 23 have filed complaint due to unfairness, discrimination etc then that is total different story. This will tell me that something is literally wrong within internal office. I have not seen any lists of concrete evidence re; Jane’s poor service on campus. I do know there are quite few “Of, By, and For the Deaf leaders who are advocating her to become next President. I also don’t comprehend why FSAA are spraying bullets directly to Jane instead of to Board of Trustees. They might do both but Jane did not hire herself. The Board of Trustees selected her. I feel that she has right to accept her new position. I don’t know you at all but I have heard people love you and hate you but you would not cancel your own blog because of that. If they don’t like you then I am sure you will tell them “Then don’t read my blog” simple as it is.

    Again, I truly appreciate your feedback and I have seen some good points here.

    Thanks for sharing!

    Reply
  • Donna 18 years ago

    Hi Ella Mae, I enjoyed watching your Crab Theory tape, Charlotte AD had just sold the FAED center last Febuary which saddened our true DEAF hearts, but we still move on, by having DEAFHOOD Night at Concord Mill Mall on first Saturday of each month, and 3 or 4 times a year big events. Thanks for sharing this with us!!! Smiles

    Reply
  • In the middle 18 years ago

    The bucket is not created by nor that most of us, the ASL Deaf, are put in by “them.” It is our disability that limits us from being able to fully integrate in the hearing world. That is the very reason why the Deaf world came into existence.. out of necessity. There are no such audists, no such bucket, no such oppression. We are deaf, with a hearing loss and so what. Just snap out of it and move on.

    Reply
  • Paul Kiel 18 years ago

    Wow! Adian — I have a registry of bad interpreters and I will be happy to take their names. I can put them on roster that no one would hire….. I have a few bad interpreters in my town….we need to put them out of business as they are disgrace to the Deaf community.

    Jon Savage- your video is cool! Neat!

    Ella – yeah! I have poster by my name on ALLDEAF with picture of AG Bell with a slogan underneath “PUBLIC ENEMY #1″….I have been saying that for years and I made a video about him NOT being a true inventor of telephone so I made a video about the true inventor of telephone… The U.S. Congress made a resolution to correct the information of who was a true inventor of telephone….see it at _http://video.google.com/videoplay?docid=836517773712430582&q=deaf%2C+image_ It was Antonio Meucci. It proved how AG Bell was a thief and a corrupted one who stole millions and millions! Once a thief, always a thief…so audism is part of his master plan to destroy our lives…. It is time to put AG Bell out of business!

    =^)

    Reply
  • Tissa Peiris 18 years ago

    Wow! Ella, you did a Beautiful presentation! I love it!!! You should give the presentation to
    WFD in Spain next summer. It would be helpful to Deaf world…Bravo!!!!

    Reply
  • Virginia L. Beach 18 years ago

    I greatly enjoyed watching this clip, and it certainly gave me some interestinging food for thought! One comment I would like to make – while I do realize that this website and the vlogs are mainly intended for ASL users, is there any chance of adding “sign to voice” interpretation so that hearing non-signers can watch these vlogs? I would love to refer some of the Hearies I interact with to watch these and hopefully gain a little more insight into the Deaf Perspective. I deal with hearing people often and it gets frustrating when I try to share my views about deafness and deaf/hearing issues and they think it’s MY own personal rant and feelings, instead of recognizing that they represent thoughts that are pretty common in the Deaf Community. Sometimes I wish I could introduce them to a few other Deafies so that they would see it’s not just a “Gin thing”…it’s a Deaf thing!

    So again…if there is a way to add sound to these vlogs (and I apologize if that has already been done, but my hearing friend indicated he didn’t hear any sound on this clip), it would be appreciated.

    But as for the Crab Theory itself…I think an interesting perspective has been brought up here that is worth thinking about. However, playing the Devil’s Advocate for a moment – are we in the Deaf Community at fault to an extent also for allowing ourselves to be thrown into that pail in the first place? Does oppression just happen…or does it happen because the person(s) allow it to happen? I’m not saying that bad things don’t happen to good people…because they do, and sometimes it is thru no fault of their own. But I know in my own life there have been times when things have happened and it was mostly because I didn’t do anything, or I did the wrong thing, or handled the situation in the wrong way. And as much as I hate to say it, for every strong, assertive, outspoken Deaf person I know, there are at least two or three passive Deafies who just sit back and say/do nothing.

    So yes, I agree we have to take a look at who put us in that pail and hold them responsible…but we also need to take a hard look at ourselves as well and what we are doing to try and avoid ending up in that pail in the first place.

    Virginia L. Beach
    “Gin”

    Reply
  • Penny 18 years ago

    Ella and I had a productive discussion as we agreed to clarify some issues. It is obvious that I had a misunderstanding about Crab Theory. I thought she was implying that leaders from mainstreamed schools, hard of hearing or those who came from different backgrounds, have put Deaf community in the pail to push Deaf people to destroy each other. This interpretation was an error of mine. I understand better now about Crab Theory. I guess I need to do my homework by reading Paddy Ladd\’s book on Deafhood.

    I agreed with Ella that we are becoming lost people. It is like we are going through Deaf Diaspora (Please note that I am not comparing with Jewish Diaspora—we can\’t compare with their suffering). I got Ella\’s point that we need to bring our Language and culture back into our community. Deaf, Hard of Hearing, and Oralists who used sign language should come together to preserve our Language and culture.

    Thank you Ella for not giving up on me and to correct my interpretation! You are so nice! 🙂

    Penny

    Reply
  • Fat Boy Rules 18 years ago

    Great Lecture! We need to bind – making movement in advocacy to voice about deaf/hh
    children in our nation, preserve our Deaf community. Our culture is devolving into hearing world nowadays especially the new
    medical technology: cochlear-implant, another
    new doctrine (tenets: physicians & hearing educators) in success for EVERY student at mainstreaming programs “…why so many hearing people, especially teachers & parents of deaf or hard of hearing children, know nothing about ASL” by M. Moore & Linda Levitan: For Hearing People Only – they assure,
    in hope for, their children to be success & fit into the classrooms when they have an implant.

    Our voices shall be heard….Stop another dogma
    from hearing people since we had one – Oralism

    Reply
  • Judy 18 years ago

    It is like reading pro and con in opening book. Interesting to see what person’s thinking. I tried to listen from many different angles and come to my own conclusion. Our inner circles have many wonderful values to our deaf cultures is like a painting canvas or taking picture of a piece from whole object…each one add his or her opinion and from experience tells it all.

    What I really loved about is wonderul expression of ASL and concept it associates with. It bring deaf individual closely together with another.

    I learn a lot from my experience in runing its private photography business that have approaches to deaf and hearing clients. I am open to learn from teachers, directors, and educators that will enrich its path walk into. Being unique is most precious.

    I almost dreamed of becaming deaf actor, or becaming deaf queen..but God have other plan in His mind for me. To become more directly involved in humble work that give more value to my character more than just wisdom…but much more is who I am…the worth of loving and to love.

    That God’s gift to you, to be proud of beautiful ASL language. Put it in good use!

    Good done, Ella. Hope one day we would meet again. To be your pupil…with open mind and heart.

    Once again, thank you for sharing, with all your heart, and mind, also your engery into this matter.

    Judy
    deaf photographer
    http://www.jdphoto.smugmug.com

    Reply
  • Joey Baer 18 years ago

    Gin (comment 36),

    Thank you for your suggestion that my vlogs should be captioned or add sounds. I wanted you to know that I have that on my list and I hope to add subtitles to future vlogs.

    You are right, it is important for hearing to learn more about our culture and values. Thanks for sharing.

    Joey

    Reply
  • Cy 18 years ago

    Ella’s Crab Theory narrative had an impact upon me! Surprisingly not many people have viewed her clip! However, we had a great discussion on this topic at our think tank meeting last Friday night! We discussed on how we could tip over the pail! Where do we start?? This is a tough topic – so many ideas and roadblocks! We will continue to discuss this at our next meeting next month. Two hours discussion is not enough! But we do have our lives to attend to! But think tank is a huge fun.

    Reply
  • MB1992 18 years ago

    For FAT BOY: From my understanding of the definition of Deafhood, a “hood” consisting of deaf/hoh people of different educational backgrounds and deaf identities. It is a process for every one of us towards self identification and how we relate to others and to the world at large. Okay. Now I see heres a classical crabbin’ going on by “Fat Boy” condemning Oralism and someone else smearing AGB. There are a lot, I mean A LOT of oral deaf who choose to remain oral after graduation and they are contented adults. There are also those who decide to learn signs to be able to communicate with the signing/non speaking deaf, and some with negative experience decide to embrace the Deaf world totally. I am a product of an oral upbringing and learned to sign later to be able to hang out with the ASL Deafies and to maintain the balance also by staying in touch with my oral deaf friends of whom I know are pretty successful in their lives and being a part of the hearing world. Cochlear Implants and oral education is here to stay and the very negativism by some of the bloggers in this dialogue are doing exactly what they are trying not to do, by pulling me and the oral deaf down the bucket. There are pros and cons in both ASL and Oral education, sucesses and failures in both. Please embrace all deaf/hoh for who they are even if they favor the hearing world only, ASL only, favor both oral and ASL, or maybe just TC/CASE. I dream for the day when we all deaf/hoh crabs, oral or deaf or somewhere in the middle can crawl merrily alongside eachother in the open seafloor. To sum it up, condeming or ridiculing oral education, cochlear implants, and AGB is keeping you guys in the bucket and is hurtful to some of us. Thank you all.

    Reply
  • Fat Boy Rules 18 years ago

    Pls do not misunderstand abt my attitudes toward ideology of oralism… In the past we had an oppression from AGB’s movement, most influential politics about oral method in the classrooms…It was success with enforcing law. Congress of Milan’s provision of oralism practices for sixty years. It inflicted a puntive damages in our cultural diversity when a new innovation medical device: amplified hearing aids invented by AGB’s announcement: manifesito

    … It quotes sucess for EVERY students … with cochlear implants (another new medical innovation) There may be another manifesito by medical companies

    Is it scary?

    Reply
  • Steve Longo 18 years ago

    Kudos to Ella for describing well on the root of the problem so now we need to fix it!

    Reply
  • Julie 18 years ago

    wow i’ve seen the crab theory explained but not as wonderful as this.

    thank you! 🙂

    Reply
  • cHRIS pEAN 17 years ago

    bluefox: get a life.

    Hey Joey, excellent post. Ella in fine form…snyway, my wife and I attended a Deafhood workshop which made us interested in Paddy Ladd (sp?) book….and, actually, his observations make me believe that we actually have the OPPOSITE of a “crab barrell.”

    The Deaf world is a “gatekeeper” culture, where a small clique or even a single individual who is in a specific position or controls access to something wields GREAT power in the Deaf community.

    It can be the most popular girl in your school, for example. Anyone who went to high school knows just how much social power to include or exclude she wields. She’s a social gatekeeper. her thumbs up or down has influence on where average kids will end up on the pecking order.

    Interpreters are gatekeepers too. Lets’ say you’re in a situation such as a job interview, and you get a lousy terp who ignores the details of your answers and gives the interviewer a short summary of your answer. The HR isn’t used to terps and doesn’t realize whats’ happening. You lose the job.

    You chew the terp out, report her to whomever, file a complaint, etc.

    She gets even by passing the word to other terps that you sexuakky harrassed her. Suddenly, you can’t get a local terp to work with you…

    Let me give you another example of a gatekeeper: the local Voc Rehab. rep @ a deaf school. If a student at the instituion wants to go to college,
    the VR rep becomes a “gatekeeper” and has a lot of power over that student for as long as he/she needs access to the funds and support that VR can provide.

    Usually, the VR rep has lots of students funnelling into her gate. He/she is a gatekeeper.

    usually, no biggie -but sometimes BIG biggie,. What if the counselor actively dislikes the student and is feeling vindictive, or happens to be hearing and is one of those people who FREAKS when we try to talk to them? or is just plain incompetent?

    I got a VR rep. like that, so when I entered Gally all VR paid for was my books, and THAT was limited to $200 a semester.

    My wife, on the other hand, had a deaf rep, who’d known her almost all her life, and they knew each other: upshot: VR paid EVERYTHING,

    So when you picture thar famous “crab barrell” instead of visualizing lots of envious little crabs holding each other down, visualize a few crabs sitting around the rim of the barrel with shotguns, deciding who gets out – or stays down there with the rest of us.

    Reply
  • SweetMind 16 years ago

    Hi, Wow, this is my first reading on her blog today which means that I did not see this Ella’s blog until now. I completely agreed with her and her opinions of having a Crap Theory issue. I love it. Thanks for sharing it with us

    That s why I left Deaf community for a long time and started to realize that the Deaf community is in a real mess because of Audist people who are still trying to destroy our being deaf as is from day one that we were born. It hasn’t stopping yet and that is a real scary issue for me to let it happen to our Deaf babies/children. This is also people of the Deaf community. So that’s why I came back to Deaf community and will be here for you Deaf people of the Deaf community to give my support with all my heart. Enough is enough of crap theory. That ends up pulling them down. And it become a really severe mentality against others. It’s not necessary for us to have these kind of prejudicial attitude toward any Deaf people with a very good positive attitude and acceptance by being deaf. This is for who we are and believe in our natural abilities/adaptations. They should come first and they are better being first served with American Sign Language.

    It is not the Deaf community in itself that is “messed up” but the audists who are. Also, to a degree the people who let them get away with it. Who let them get away with it? The weak deafs who did not stand up for the Deaf community. I must say this aloud. I am not reqretting to say this because these are my own honest feelings. I see D/deaf children who are told that something is “wrong” with their bodies when they don’t think so. They are the ones being hurt.

    Have a wonderful day!

    (Deaf)SweetMind

    Reply
  • Chas 15 years ago

    I disagreed with woman because crap theory is a lot of negative. It is a lot of reliable for Deaf people to depend on negative. Crap thoery is only for High School. Deaf people just need to grow up. They only focus in the bucket. They will not accept people who new with sign language. We need to take action from nurture. It is like you feed people to learn and grow. If you don’t feed people, they have no idea what you wants. You have to explain what you really wants from Deaf culture. “United we stand divided we fall” Aesop Wisdom is more important than opinion.

    Reply

Add your comment

Your email address will not be published.

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).version={})}(this,(function(exports){"use strict";function __awaiter(e,t,n,i){return new(n||(n=Promise))((function(s,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?s(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))}var Blocking;"function"==typeof SuppressedError&&SuppressedError,function(e){e.PENDING="pending",e.NONE="none",e.BLOCKED="blocked",e.ALLOWED="allowed"}(Blocking||(Blocking={}));class Adblock{constructor(e){this.state=Blocking.PENDING,this._mocked=!1,e?(this.state=e,this._mocked=!0):this.state=Blocking.ALLOWED}inject(){return __awaiter(this,void 0,void 0,(function*(){}))}hasAdblocker(){if(void 0===window.google)return!0;const e=document.querySelectorAll("style");return Array.from(e).some((e=>!!e.innerHTML.includes("adblockkey")))}handleAdblocked(){this.removeAdblockKey(),this.state=Blocking.BLOCKED}removeAdblockKey(){var e;null===(e=document.documentElement.dataset)||void 0===e||delete e.adblockkey}get isBlocked(){return this.state===Blocking.BLOCKED}get isAllowed(){return this.state===Blocking.ALLOWED}toContext(){return{user_has_ad_blocker:null,is_ad_blocked:null}}}const OBFUSCATING_BASE_64_PREFIX="UxFdVMwNFNwN0wzODEybV",encode=e=>OBFUSCATING_BASE_64_PREFIX+btoa(unescape(encodeURIComponent(JSON.stringify(e))));function decode$1(e){return JSON.parse(decodeURIComponent(escape(atob(e.replace(OBFUSCATING_BASE_64_PREFIX,"")))))}var version="0.5.5";const APP_ENV="production",TRACKING_DOMAIN="https://click-use1.bodis.com/",SALES_JS_URL="https://parking.bodiscdn.com/js/inquiry.js",GOOGLE_CAF_TIMEOUT_SCRIPTS="0",GOOGLE_CAF_TIMEOUT_CALLBACKS="0",GOOGLE_MV3_URL_PARAMS="abp=1&bodis=true",APP_VERSION=version,COOKIE_CONSENT_JS_URL="",isLocal=(e=!0)=>"production"!==APP_ENV;function log(...e){}const FIND_DOMAIN_URL="_fd",getFindDomain=(e="",t=!1)=>{const n=`${e}/${FIND_DOMAIN_URL}${window.location.search}`,i=e?"include":"same-origin",s=Object.assign({Accept:"application/json","Content-Type":"application/json"},t?{"X-HOST":window.location.host}:{});return fetch(n,{method:"POST",headers:s,credentials:i}).then((e=>e.text())).then(decode$1)};var ZeroClickReasons;!function(e){e.CAF_TIMEDOUT="caf_timedout",e.CAF_ADLOAD_FAIL_RS="caf_adloadfail_rs",e.CAF_ADLOAD_FAIL_ADS="caf_adloadfail_ads",e.DISABLED_GB="disabled_gb",e.DISABLED_AB="disabled_ab",e.DISABLED_DS="disabled_ds",e.AD_BLOCKED="ad_blocked",e.PREFERRED="preferred"}(ZeroClickReasons||(ZeroClickReasons={}));const getZeroClick=e=>__awaiter(void 0,void 0,void 0,(function*(){const t=Object.assign(Object.assign({},e),{type:"zc_fetch"});return fetch("/_zc",{method:"POST",body:JSON.stringify({signature:encode(t)}),headers:{Accept:"application/json","Content-Type":"application/json"}}).then((e=>__awaiter(void 0,void 0,void 0,(function*(){try{return decode$1(yield e.text())}catch(e){return{}}}))))})),waiter=(e,t)=>new Promise((n=>{t(e),e<=0&&n();let i=e;const s=()=>{i>0?(i-=1,t(i),setTimeout(s,1e3)):n()};s()})),decode=()=>JSON.parse(atob(window.park||""));var PAGE_STYLES='* {\n font-smoothing: antialiased;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\nhtml, body {\n width: 100%;\n margin: 0;\n}\n\nhtml {\n background-color: #2B2B2B;\n height: 100%;\n}\n\nbody {\n min-height: 90%;\n font-family: Arial, sans-serif;\n letter-spacing: 1.2px;\n color: #ccc;\n text-align: center;\n}\n\n/* App Target - This starts hidden until we apply a class to "activate" it */\n\n#target {\n opacity: 0;\n visibility: hidden;\n}\n\n/* Status Messages - These are displayed when we are not rendering ad blocks or Related Search */\n\n#pk-status-message {\n height: 75vh;\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n}\n\n/* Sales Box - Default State */\n\n#sales-box {\n display: block;\n width: 100%;\n padding: 3px;\n text-align: center;\n text-decoration: none;\n color: #8EABC0;\n}\n\n#sales-box a {\n display: block;\n width: 100%;\n text-decoration: inherit;\n color: #8EABC0;\n cursor: pointer;\n}\n\n/* Sales Box - Highlighted State */\n\n#sales-box.is-highlighted {\n position: relative;\n z-index: 1;\n background: #032438 linear-gradient(to top, #044368 0%, #000 100%);\n box-shadow: 0 0 15px 0 #000;\n border-bottom: 3px solid #262626;\n}\n\n#sales-box.is-highlighted a {\n line-height: 1.3;\n display: inline-block;\n font-size: 18px;\n color: #fff;\n text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5);\n background: none;\n}\n\n/* Ellipsis Loader */\n\n.pk-loader {\n display: inline-block;\n position: relative;\n width: 80px;\n height: 80px;\n}\n\n.pk-loader div {\n position: absolute;\n top: 33px;\n width: 13px;\n height: 13px;\n border-radius: 50%;\n background: #ccc;\n animation-timing-function: cubic-bezier(0, 1, 1, 0);\n}\n\n.pk-loader div:nth-child(1) {\n left: 8px;\n animation: pk-anim-1 0.6s infinite;\n}\n\n.pk-loader div:nth-child(2) {\n left: 8px;\n animation: pk-anim-2 0.6s infinite;\n}\n\n.pk-loader div:nth-child(3) {\n left: 32px;\n animation: pk-anim-2 0.6s infinite;\n}\n\n.pk-loader div:nth-child(4) {\n left: 56px;\n animation: pk-anim-1 0.6s infinite;\n animation-direction: reverse;\n}\n\n.pk-loader-text {\n position: fixed;\n font-size: 12px;\n right: 20px;\n bottom: 20px;\n font-weight: lighter;\n}\n\n/* Utilities */\n\n.pk-message-title {\n font-size: 2em;\n font-weight: bold;\n}\n\n.pk-page-ready {\n opacity: 1 !important;\n visibility: visible !important;\n}\n\n@media only screen and (max-width: 600px) {\n .hidden-xs {\n opacity: 0;\n visibility: hidden;\n }\n}\n\n/* Animation */\n\n@keyframes pk-anim-1 {\n 0% {\n transform: scale(0);\n }\n 100% {\n transform: scale(1);\n }\n}\n\n@keyframes pk-anim-2 {\n 0% {\n transform: translate(0, 0);\n }\n 100% {\n transform: translate(24px, 0);\n }\n}\n';const APP_TARGET="#target",MESSAGE_TARGET="main",MESSAGE_SELECTOR="#pk-status-message",PAGE_READY_CLASS="pk-page-ready",MESSAGE_TEMPLATE='
';class Renderer{constructor(e){this._domIsReady=!1,this.revealPage=()=>{this.domNode&&this.domNode.classList.add(PAGE_READY_CLASS)},this.injectMetaDescription=e=>{if(!e||0===e.length)return;window.document.title=e;const t=document.createElement("meta");t.setAttribute("name","description"),t.setAttribute("content",`See relevant content for ${e}`),document.getElementsByTagName("head")[0].appendChild(t)},this.domNode=document.querySelector(e)}get domIsReady(){return this._domIsReady}set domIsReady(e){this._domIsReady=e,e&&this.injectStyles(PAGE_STYLES)}message(e,t=""){if(this.injectMessage(MESSAGE_TEMPLATE),this.domNode){const t=this.domNode.querySelector(MESSAGE_SELECTOR);t&&(t.innerHTML=e)}t&&this.injectMetaDescription(t)}injectMessage(e){const t=document.querySelector(MESSAGE_TARGET);t?t.innerHTML=e:this.domNode&&(this.domNode.innerHTML=e)}salesBanner(e){if(!e)return;const{href:t,position:n,message:i,theme:s,status:a}=e,o=document.createElement("div"),r=n||"",d="HIGHLIGHT"===s?"is-highlighted":"";o.innerHTML=t?`\n
\n ${i}\n
\n `:`\n
\n ${i}\n
\n `,"BOTTOM"===n?(o.style.marginTop="30px",document.body.appendChild(o)):document.body.prepend(o)}loading(e){let t="a few";e>0&&(t=`${e}`),this.message(`\n
\n
\n
\n
\n
\n
\n \n `)}adBlockMessage(){this.message("\n

Ad block detected

\n Please disable your ad blocker and reload the page.\n ")}errorParkingUnavailable(){this.message("\n

An Error Occurred

\n

Parking is currently unavailable. We'll be right back.

\n ")}errorParkingServicesDisabled(){this.message("\n

An Error Occurred

\n

Services for this domain name have been disabled.

\n ")}errorParkingNoSponsors(e){this.message(`\n
\n No sponsors\n
\n \n ${window.location.hostname} currently does not have any sponsors for you.\n \n `,e)}imprint(e){if(!e)return;const t=document.querySelector("#imprint-text");t&&(t.innerHTML=e.replace(/(?:\r\n|\r|\n)/g,"
"))}injectStyles(e){if(!e)return;const t=document.createElement("style");t.innerHTML=e.toString(),document.head.appendChild(t)}injectScript(e){if(!e)return;const t=document.createElement("script");t.type="text/javascript",t.src=e,document.body.appendChild(t)}injectJS(js){js&&0!==js.length&&eval(js)}injectHTML(e){this.domNode?(e&&(this.domNode.innerHTML=e),this.domIsReady=!0):(this.domIsReady=!1,console.error("An error occurred when trying to render this page. DOM node not found."))}prerender(e){this.injectMetaDescription(e.domain),this.injectHTML(e.html)}template(e){var t;this.domIsReady||this.prerender(e),this.injectStyles(e.stylesheet),this.imprint(e.imprint),this.salesBanner(e.salesBanner),this.injectJS(e.javascript),null===(t=e.scripts)||void 0===t||t.forEach((e=>{this.injectScript(e)}))}}const Render=new Renderer(APP_TARGET);var Type;!function(e){e[e.Failed=0]="Failed",e[e.Disabled=1]="Disabled",e[e.Redirect=2]="Redirect",e[e.Parking=3]="Parking",e[e.Sales=4]="Sales"}(Type||(Type={}));let State$2=class{get trackingType(){return this._trackingType}set trackingType(e){this._trackingType=e}get track(){return!!this.trackingType}};class Disabled extends State$2{constructor(){super(...arguments),this.type=Type.Disabled}static build(e,t){let n;switch(t===Blocking.BLOCKED&&(n="adblocker"),e.cannotPark){case"disabled_mr":case"disabled_rc":n=e.cannotPark}if(n){const t=new Disabled;return t.reason=n,t.domain=e.domainName,t}}get message(){switch(this.reason){case"adblocker":return"

Content blocked

Please turn off your ad blocker.";case"disabled_mr":return`

Invalid URL

Referral traffic for ${this.domain} does not meet requirements.`;default:return`

No sponsors

${this.domain} currently does not have any sponsors for you.`}}get trackingType(){switch(this.reason){case"adblocker":return"ad_blocked_message";case"disabled_mr":return"invalid_referral";case"disabled_rc":return"revenue_cap_reached";default:return"no_sponsors_message"}}toContext(){return{cannotPark:this.reason}}}class Failed extends State$2{constructor(){super(...arguments),this.type=Type.Failed}static cannotPark({cannotPark:e}){switch(e){case"disabled_b":case"prohibited_ua":case"disabled_fr":case"revenue_cap_reached":case"disabled_mr":case"disabled_rc":case"disabled_cp":case"invalid_domain":{const t=new Failed;return t.reason=e,t}}}static noSponsors({cannotLoadAds:e}){if(e){const e=new Failed;return e.reason="no_sponsors",e}}static fromError(e){const t=new Failed;return t.reason="js_error",t.error=e,t}get track(){return!!this.trackingType}get message(){switch(this.reason){case"disabled_fr":case"disabled_rc":case"no_sponsors":return`\n

No Sponsors

\n

${this.domain} currently does not have any sponsors for you.

`;case"disabled_mr":return`\n

Invalid URL

\n

Referral traffic for ${this.domain} does not meet requirements.

`;case"js_error":return"\n

An Error Occurred

\n

Parking is currently unavailable. We'll be right back.

\n ";default:return"\n

An Error Occurred

\n

Services for this domain name have been disabled.

\n "}}get trackingType(){switch(this.reason){case"disabled_rc":return"revenue_cap_reached";case"disabled_mr":return"invalid_referral";case"adblock":return"ad_blocked_message";case"no_sponsors":return"no_sponsors_message"}}get domain(){return window.location.hostname}toContext(){return{cannotPark:this.reason}}}function unpackPHPArrayObject(e,t){const n=e[t];if(n&&!Array.isArray(n))return n}class Parking extends State$2{constructor(){super(...arguments),this.type=Type.Parking}static build(e,t){const n=new Parking;n.domain=e.domainName,n.html=e.template,n.scripts=e.scripts||[],n.javascript=e.inlineJs,n.stylesheet=e.styles,n.imprint=e.imprintText;const i=unpackPHPArrayObject(e,"salesSettings"),s=(null==i?void 0:i.status)&&"NOT_FOR_SALE"!==(null==i?void 0:i.status);if(s){const{status:e,location:t,message:s,link:a,type:o}=i;n.salesBanner={message:s,href:a,position:t,theme:o,status:e}}return t.wantsToServeAds?n.trackingType="ctr":s&&window.location.pathname.startsWith("/listing")?n.trackingType="sales":n.trackingType="visit",n}toContext(){return{}}}class Sales extends State$2{constructor(){super(...arguments),this.type=Type.Sales}static build(e){const t=unpackPHPArrayObject(e,"salesSettings");if(!t)return;const{status:n}=t;return["NOT_FOR_SALE","EXTERNAL_MARKET","URL"].includes(n)?void 0:window.location.pathname.startsWith("/listing")?new Sales:void 0}toContext(){return{}}get trackingType(){return"sales"}init(e){window.context=e;const t=document.createElement("script");t.type="text/javascript",t.src=SALES_JS_URL,document.head.append(t)}}class Redirect extends State$2{constructor(){super(...arguments),this.type=Type.Redirect}static build(e,t,n){const i=unpackPHPArrayObject(e,"salesSettings"),{zeroClickDelay:s,skenzoRedirect:a,skenzoUrl:o,showInquiryForm:r,canZeroClick:d,cannotPark:c}=e;if(window.location.pathname.startsWith("/listing")&&["EXTERNAL_MARKET","URL"].includes(null==i?void 0:i.status)){if(null==i?void 0:i.external)return Redirect.toState(i.external,"sales");if(null==i?void 0:i.link)return Redirect.toState(i.link,"sales")}if(n.cannotLoadAds&&n.wantsToServeAds)return Redirect.toState(n.noAdsRedirectUrl,"no_ads_redirect");if(d&&(null==t?void 0:t.reason)){if(null==t?void 0:t.redirect)return Redirect.toState(t.redirect,"zc_redirect",s);if(a&&o)return Redirect.toState(o,"skenzo_redirect")}return(null==i?void 0:i.status)&&"NOT_FOR_SALE"!==(null==i?void 0:i.status)&&(n.cannotLoadAds||n.cannotLoadAds&&!d||r)?Redirect.toState(`${window.location.origin}/listing`):void 0}static toState(e,t,n=0){const i=new Redirect;return i.url=e,i.delay=n,i.trackingType=t,i}toContext(){return{}}}const browserState=()=>{var e,t,n,i,s;const{screen:{width:a,height:o},self:r,top:d,matchMedia:c,opener:l}=window,{documentElement:{clientWidth:h,clientHeight:u}}=document;let p;try{p=(new Date).getTimezoneOffset()/60*-1}catch(e){p=null}return{popup:!(!l||l===window),timezone_offset:p,user_preference:null===(e=null===Intl||void 0===Intl?void 0:Intl.DateTimeFormat())||void 0===e?void 0:e.resolvedOptions(),user_using_darkmode:Boolean(c&&c("(prefers-color-scheme: dark)").matches),user_supports_darkmode:Boolean(c),window_resolution:{width:null!=h?h:0,height:null!=u?u:0},screen_resolution:{width:null!=a?a:0,height:null!=o?o:0},frame:d===r?null:{innerWidth:null!==(t=null==r?void 0:r.innerWidth)&&void 0!==t?t:0,innerHeight:null!==(n=null==r?void 0:r.innerHeight)&&void 0!==n?n:0,outerWidth:null!==(i=null==r?void 0:r.outerWidth)&&void 0!==i?i:0,outerHeight:null!==(s=null==r?void 0:r.outerHeight)&&void 0!==s?s:0}}},TRACKING_URL="_tr",buildSignature=({callbacks:e,context:t},n)=>{var i,s,a,o;return Object.assign({ad_loaded_callback:null==e?void 0:e.adLoadedCallback,app_version:version,caf_client_id:null===(i=null==t?void 0:t.pageOptions)||void 0===i?void 0:i.pubId,caf_timed_out:null==e?void 0:e.cafTimedOut,caf_loaded_ms:null==e?void 0:e.cafLoadedMs,channel:null===(s=null==t?void 0:t.pageOptions)||void 0===s?void 0:s.channel,desktop:t.desktop,terms:null===(a=null==t?void 0:t.pageOptions)||void 0===a?void 0:a.terms,fd_server_datetime:t.fd_server_datetime,fd_server:t.fd_server,flex_rule:t.flex_rule,host:t.host,ip:t.ip,ivt:null===(o=null==t?void 0:t.pageOptions)||void 0===o?void 0:o.ivt,js_error:t.js_error,mobile:t.mobile,no_ads_redirect:t.noAdsRedirect,page_headers:t.page_headers,page_loaded_callback:null==e?void 0:e.pageLoadedCallback,page_method:t.page_method,page_request:t.page_request,page_time:t.page_time,page_url:t.page_url,reportable_channel:t.reportableChannel,reportable_style_id:t.reportableStyleId,tablet:t.tablet,template_id:t.templateId,type:n,user_has_ad_blocker:t.user_has_ad_blocker,user_id:t.userId,uuid:t.uuid,zeroclick:t.zeroClick},browserState())},trackVisit=({callbacks:e,context:t},n,i="")=>{const s=`${i}/${TRACKING_URL}`,a=i?"include":"same-origin",o=buildSignature({callbacks:e,context:t},n);let r={};"click"===n&&(r={click:"true",session:t.uuid,nc:Date.now().toString()}),fetch(s,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},credentials:a,body:JSON.stringify(Object.assign({signature:encode(o)},r))})};var State$1;!function(){if(!window.CustomEvent){function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};const n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}e.prototype=window.Event.prototype,window.CustomEvent=e}}(),function(e){e[e.Pending=0]="Pending",e[e.Loaded=1]="Loaded",e[e.Failed=2]="Failed"}(State$1||(State$1={}));class Provider{constructor(e){this.timeoutSeconds=5,this.handlePixelEvent=e=>{switch(this.state){case State$1.Failed:break;case State$1.Pending:setTimeout((()=>this.handlePixelEvent(e)),100);break;case State$1.Loaded:this.onPixelEvent(e)}},this.watch=()=>{switch(this.state){case State$1.Loaded:case State$1.Failed:break;case State$1.Pending:this.isLoaded()?this.state=State$1.Loaded:this.isTimedOut()?this.state=State$1.Failed:setTimeout(this.watch,50)}},this.config=e,this.identifier&&this.identifier.length>0?(this.state=State$1.Pending,this.timeoutAt=new Date,this.timeoutAt.setSeconds(this.timeoutAt.getSeconds()+this.timeoutAfter()),this.injectPixel()):this.state=State$1.Failed}get identifier(){var e;return null===(e=this.config)||void 0===e?void 0:e.key}get pixelEvents(){var e;return null===(e=this.config)||void 0===e?void 0:e.pixel_events}injectPixel(){this.injectedAt||(this.injectedAt=new Date,this.inject(),this.watch())}inject(){const e=document.createElement("script");e.text=this.script,document.head.appendChild(e)}isTimedOut(){return+new Date>=+this.timeoutAt}timeoutAfter(){return this.timeoutSeconds}selectPixelEvents(e){if(Array.isArray(this.pixelEvents))return this.pixelEvents.filter((t=>"term-view"===t.trigger&&"visit"===e||(!(!["term-click","ad-view"].includes(t.trigger)||"ctr"!==e)||"ad-click"===t.trigger&&"click"===e)))}}class Facebook extends Provider{get script(){return`!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js');fbq('init', '${this.identifier}');`}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&(e.custom?window.fbq("trackCustom",e.event):window.fbq("track",e.event))}))}isLoaded(){return!!window.fbq}}class Outbrain extends Provider{get script(){return`!function(_window, _document) {var OB_ADV_ID = '${this.identifier}';if (_window.obApi) {var toArray = function(object) {return Object.prototype.toString.call(object) === '[object Array]' ? object : [object];};_window.obApi.marketerId = toArray(_window.obApi.marketerId).concat(toArray(OB_ADV_ID));return;}var api = _window.obApi = function() {api.dispatch ? api.dispatch.apply(api, arguments) : api.queue.push(arguments);};api.version = '1.1';api.loaded = true;api.marketerId = OB_ADV_ID;api.queue = [];var tag = _document.createElement('script');tag.async = true;tag.src = '//amplify.outbrain.com/cp/obtp.js';tag.type = 'text/javascript';var script = _document.getElementsByTagName('script')[0];script.parentNode.insertBefore(tag, script);}(window, document);`}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&window.obApi("track",e.event)}))}isLoaded(){return!!window.obApi}}class Revcontent extends Provider{get script(){return""}inject(){const e=document.createElement("script");e.src="https://assets.revcontent.com/master/rev.js",document.head.appendChild(e)}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&window.rev("event",e.event)}))}isLoaded(){return!!window.rev}}class Taboola extends Provider{get script(){return"window._tfa = window._tfa || [];!function (t, f, a, x) {if (!document.getElementById(x)) {t.async = 1;t.src = a;t.id=x;f.parentNode.insertBefore(t, f);}}(document.createElement('script'),document.getElementsByTagName('script')[0],'//cdn.taboola.com/libtrc/unip/1451879/tfa.js','tb_tfa_script');"}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&window._tfa.push({notify:"event",name:e.event,id:e.pixel_id})}))}isLoaded(){return Array.isArray(window._tfa)}}class Tiktok extends Provider{constructor(e,t){super(e),this.useAltTikTokEventsForAdsPlatformUser=t}get script(){return`!function (w, d, t) {w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i{e&&window.ttq.instance(this.identifier).track(e.event)}))}isLoaded(){return!!window.ttq}}const ADS_PARAM$1="?caf",MESSAGE_PREFIX="FSXDC,.aCS:",ALLOWED_ORIGINS=["https://www.google.com","https://www.adsensecustomsearchads.com","https://syndicatedsearch.goog","https://googleadservices.com"];class Pixels{static build(e){const t=unpackPHPArrayObject(e,"pixel_tracking_data");if(t)return t.useAltTikTokEventsForAdsPlatformUser=e.is_ads,new Pixels(t)}constructor(e){this.onPixelEvent=e=>{const{detail:{type:t}}=e;switch(t){case"visit":case"ctr":case"click":this.providers.forEach((e=>e.handlePixelEvent(t)))}},this.providers=[new Facebook(e.facebook),new Tiktok(e.tiktok,e.useAltTikTokEventsForAdsPlatformUser),new Taboola(e.taboola),new Revcontent(e.revcontent),new Outbrain(e.outbrain)]}listenForEvents(){document.addEventListener("pixel",(e=>{this.onPixelEvent(e)}));window.onmessage=e=>{const{origin:t,data:n}=e;ALLOWED_ORIGINS.includes(t)&&(null==n?void 0:n.startsWith(MESSAGE_PREFIX))&&window.location.search.startsWith(ADS_PARAM$1)&&document.dispatchEvent(new CustomEvent("pixel",{detail:{type:"click"}}))}}dispatchEvent(e){document.dispatchEvent(new CustomEvent("pixel",{detail:e}))}}var State;!function(e){e[e.Pending=0]="Pending",e[e.Loaded=1]="Loaded",e[e.Failure=2]="Failure",e[e.TimedOut=3]="TimedOut",e[e.Errored=4]="Errored"}(State||(State={}));const CAF_SCRIPT_SRC=`https://www.google.com/adsense/domains/caf.js?${GOOGLE_MV3_URL_PARAMS}`,TIMEOUT_SCRIPTS=Number(GOOGLE_CAF_TIMEOUT_SCRIPTS),TIMEOUT_CALLBACKS=Number(GOOGLE_CAF_TIMEOUT_CALLBACKS);class StateMachine{constructor(){this.state=State.Pending}transitionTo(e){this.state=e}transitionFromPendingTo(e){this.done||(this.state=e)}get loaded(){return this.state===State.Loaded}get timedOut(){return this.state===State.TimedOut}get done(){return this.state!==State.Pending}}class Ads{constructor(e,t){this.state={script:new StateMachine,blocks:new StateMachine},this.blocksLoaded=[],this.injectScriptTags=()=>__awaiter(this,void 0,void 0,(function*(){return new Promise((e=>{const t=document.createElement("script");t.type="text/javascript",t.src=CAF_SCRIPT_SRC,t.addEventListener("load",(()=>e(!0))),t.addEventListener("error",(()=>e(!1))),document.body.appendChild(t),TIMEOUT_SCRIPTS>0&&setTimeout((()=>e(!1)),TIMEOUT_SCRIPTS)}))})),this.onPageLoaded=(e,t)=>{if(this.pageLoaded={requestAccepted:e,status:t},this.state.script.done)return;const n=null==t?void 0:t.error_code;n?(this.state.script.transitionTo(State.Failure),this.failureReason=`caf_pageloaderror_${n}`):this.state.script.transitionTo(State.Loaded)},this.onBlockLoaded=(e,t,n,i)=>{this.blocksLoaded.push({containerName:e,adsLoaded:t,isExperimentVariant:n,callbackOptions:i}),this.state.blocks.done||(t?this.state.blocks.transitionTo(State.Loaded):this.blocksLoaded.length>=this.blocks.length&&(this.state.blocks.transitionTo(State.Failure),this.failureReason=`caf_adloadfail_${e}`))},this.onTimeout=()=>{this.state.script.transitionFromPendingTo(State.TimedOut),this.state.blocks.transitionFromPendingTo(State.TimedOut)},this.blocks=e,this.options=t}get loaded(){return this.state.script.loaded&&!this.blocksLoaded.map((e=>e.adsLoaded)).includes(!1)}waitForBlocks(){return __awaiter(this,void 0,void 0,(function*(){return new Promise((e=>{const t=()=>{const n=performance.now();if(this.state.blocks.done)return this.cafLoadTime=Math.round(n-this.cafStartTime),void e();const i=this.blocksLoaded.map((e=>e.adsLoaded));i.includes(!1)||i.length>=this.blocks.length?e():setTimeout(t,50)};t()}))}))}inject(){return __awaiter(this,void 0,void 0,(function*(){try{const e=yield this.injectScriptTags();return this.cafStartTime=performance.now(),e&&void 0!==window.google?(new window.google.ads.domains.Caf(Object.assign(Object.assign({},this.options),{pageLoadedCallback:this.onPageLoaded,adLoadedCallback:this.onBlockLoaded}),...this.blocks),TIMEOUT_CALLBACKS>0&&setTimeout(this.onTimeout,TIMEOUT_CALLBACKS),yield new Promise((e=>{const t=()=>{this.state.script.done?e():setTimeout(t,10)};t()}))):void this.state.script.transitionTo(State.Failure)}catch(e){return void(this.error=e.toString())}}))}toCallbacks(){return{adLoadedCallback:this.blocksLoaded.slice(-1)[0],pageLoadedCallback:this.pageLoaded,cafTimedOut:this.state.script.timedOut||this.state.blocks.timedOut,cafLoadedMs:this.cafLoadTime,googleAdsFailure:!!this.failureReason}}toContext(){const e={cafScriptWasLoaded:this.state.script.loaded,cafScriptLoadTime:this.cafLoadTime,callbacks:this.toCallbacks};return this.error&&(e.js_error={message:this.error}),this.state.script.loaded||(e.zeroclick={reason:"googleAdsFailure"}),e}mockFailedState(){this.state.blocks.transitionTo(State.Failure),this.state.script.transitionTo(State.Failure)}}class TagManager{constructor(e){this.injected=!1,this.identifier=e}inject(){if(this.injected)return;if(!this.identifier)return;if("TEST"===this.identifier)return;const e=document.createElement("script");e.setAttribute("src",`https://www.googletagmanager.com/gtag/js?id=${this.identifier}`),document.head.appendChild(e),this.track(),this.injected=!0}track(){this.push("js",new Date),this.push("config",this.identifier)}push(e,t){window.dataLayer||(window.dataLayer=[]),window.dataLayer.push(arguments)}}const ADS_PARAM="caf",ADS_TRACKING_URL="_tr",BLOCKS_TYPE="ads",BLOCKS_CONTAINER="rs",KNOWN_CAF_PARAMS=["caf","query","afdToken","pcsa","nb","nm","nx","ny","is","clkt"];class Google{static build({pageOptions:e,preferredLanguage:t,blocks:n,googleAnalytics:i},s,a,o){let r={};e&&(r=Object.assign({},e),r.hl||(r.hl=t));let d=null==e?void 0:e.resultsPageBaseUrl;d||(d=window.location.origin);return new Google(s.uuid,n,r,i,d,o)}constructor(e,t,n,i,s,a){this._blocks=t,this._pageOptions=n,this.uuid=e,this._baseURL=new URL(s),this._signature=a,this.ads=new Ads(this.blocks,this.pageOptions),this.tagManager=new TagManager(i)}injectTagManager(){this.tagManager.inject()}injectAds(){return __awaiter(this,void 0,void 0,(function*(){yield this.ads.inject()}))}waitForBlocks(){return __awaiter(this,void 0,void 0,(function*(){return this.ads.waitForBlocks()}))}get blocks(){return(this._blocks||[]).filter((e=>this.wantsToServeAds?e.type===BLOCKS_TYPE:e.container===BLOCKS_CONTAINER)).map((e=>{const t=this.baseURL;new URLSearchParams(window.location.search).forEach(((e,n)=>{t.searchParams.has(n)||t.searchParams.append(n,e)}));const n=Object.assign({},e);if(n.resultsPageBaseUrl=t.toString(),this.wantsToServeAds){const e=new URLSearchParams;e.append("click","true"),e.append("session",this.uuid);const t=Object.assign({},this._signature);delete t.ad_loaded_callback,delete t.caf_loaded_ms,delete t.caf_timed_out,delete t.flex_rule,delete t.frame,delete t.js_error,delete t.no_ads_redirect,delete t.page_headers,delete t.page_request,delete t.page_loaded_callback,delete t.popup,delete t.screen_resolution,delete t.user_has_ad_blocker,delete t.user_preference,delete t.user_supports_darkmode,delete t.user_using_darkmode,delete t.zeroclick,e.append("signature",encode(t)),n.clicktrackUrl=`${TRACKING_DOMAIN}${ADS_TRACKING_URL}?${e.toString()}`}return n}))}get baseURL(){const e=new URL(this._baseURL.origin);return e.searchParams.append(ADS_PARAM,"1"),this._baseURL.searchParams.forEach(((t,n)=>{e.searchParams.append(n,t)})),e}get pageOptions(){const e=Object.assign({},this._pageOptions);return Object.keys(this._pageOptions).forEach((t=>{t.startsWith("bodis")&&delete e[t]})),e}get cannotLoadAds(){return!this.ads.loaded}get wantsToServeAds(){return new URLSearchParams(window.location.search).has(ADS_PARAM)}get adsMode(){return this.ads.loaded&&this.wantsToServeAds}get adsReady(){return this.wantsToServeAds&&!this.cannotLoadAds}get noAdsRedirectUrl(){const e=new URLSearchParams(window.location.search);return KNOWN_CAF_PARAMS.forEach((t=>e.delete(t))),`${window.location.origin}?${e.toString()}`}get callbacks(){return this.ads.toCallbacks()}toContext(){return Object.assign({blocks:this.blocks,pageOptions:this.pageOptions},this.ads.toContext())}}class CookieConsentManager{constructor(){this.injectScriptTag=()=>__awaiter(this,void 0,void 0,(function*(){return new Promise((e=>{const t=document.createElement("script");t.setAttribute("src",COOKIE_CONSENT_JS_URL),t.addEventListener("load",(()=>this.awaitConsent(e))),t.addEventListener("error",(()=>e(!1))),document.head.appendChild(t)}))}))}inject(){return __awaiter(this,void 0,void 0,(function*(){this.injected||!COOKIE_CONSENT_JS_URL||isLocal()||(this.injected=yield this.injectScriptTag())}))}awaitConsent(e){let t=0;const n=setInterval((()=>{t+=1,20===t&&(clearInterval(n),e(!0)),void 0!==window.__tcfapi&&(window.addEventListener("ConsentActivity",(t=>{const{detail:{status:n}}=t;n&&e(!0)})),clearInterval(n))}),50)}}class App{main(){var e,t;return __awaiter(this,void 0,void 0,(function*(){if(this.parkResponse=decode(),this.findDomainResponse=yield getFindDomain(),!this.findDomainResponse)throw new Error("Domain failed to load.");this.pixels=Pixels.build(this.findDomainResponse),null===(e=this.pixels)||void 0===e||e.listenForEvents(),this.adblock=new Adblock,yield this.adblock.inject(),this.google=Google.build(this.findDomainResponse,this.parkResponse,this.adblock,buildSignature({context:this.context,callbacks:null===(t=this.google)||void 0===t?void 0:t.callbacks},"click")),this.google.injectTagManager();const n=Parking.build(this.findDomainResponse,this.google);Render.prerender(n),this.cookieConsentManager=new CookieConsentManager,yield this.cookieConsentManager.inject();let i=Failed.cannotPark(this.findDomainResponse);if(i)return void(yield this.transitionToFailed(i,n));yield this.google.injectAds();let s=Disabled.build(this.findDomainResponse,this.adblock.state);if(s)return void(yield this.transitionToDisabled(s,n));const a=this.adblock.hasAdblocker();a&&this.adblock.handleAdblocked();const o=Sales.build(this.findDomainResponse);if(o)return void(yield this.transitionToSales(o));this.eligibleForZeroClick&&(this.zeroClickResponse=yield getZeroClick(this.context));const r=Redirect.build(this.findDomainResponse,this.zeroClickResponse,this.google);if(r)yield this.transitionToRedirect(r);else{if(a)return s=Disabled.build(this.findDomainResponse,this.adblock.state),void(yield this.transitionToDisabled(s,n));i=Failed.noSponsors(this.google),i?yield this.transitionToFailed(i,n):yield this.transitionToParking(n)}}))}transitionToParking(e){return __awaiter(this,void 0,void 0,(function*(){this.state=e,Render.template(e),Render.revealPage(),yield this.google.waitForBlocks(),yield this.track()}))}transitionToRedirect(e){return __awaiter(this,void 0,void 0,(function*(){this.state=e;const t=this.track();Render.revealPage(),yield waiter(e.delay,(e=>Render.loading(e))),yield t,window.location.href=e.url,log(`âž¡ Redirecting [${e.url}]`)}))}transitionToFailed(e,t){return __awaiter(this,void 0,void 0,(function*(){this.state=e,Render.message(e.message),Render.injectJS(t.javascript),Render.revealPage(),yield this.track()}))}transitionToSales(e){return __awaiter(this,void 0,void 0,(function*(){this.state=e,e.init(this.context),yield this.track()}))}transitionToDisabled(e,t){return __awaiter(this,void 0,void 0,(function*(){this.state=e,Render.message(e.message),Render.injectJS(t.javascript),Render.revealPage(),yield this.track()}))}track(){var e;return __awaiter(this,void 0,void 0,(function*(){if(!this.state.track)return Promise.resolve();try{const t=this.state.trackingType;return null===(e=this.pixels)||void 0===e||e.dispatchEvent({type:t}),trackVisit({context:this.context,callbacks:this.google.callbacks},t)}catch(e){return}}))}get eligibleForZeroClick(){const{cannotPark:e,canZeroClick:t,zeroClick:n}=this.findDomainResponse,{cannotLoadAds:i,wantsToServeAds:s}=this.google;return this.adblock.state!==Blocking.BLOCKED&&(!!t&&(!!e||(!(!i||s)||!!(null==n?void 0:n.reason))))}get context(){var e,t,n,i;const s=this.findDomainResponse,a=this.parkResponse,o=null===(e=this.state)||void 0===e?void 0:e.toContext(),r=null===(t=this.adblock)||void 0===t?void 0:t.toContext(),d=null===(n=this.google)||void 0===n?void 0:n.toContext(),c=browserState(),l=Object.assign(Object.assign({},null===(i=this.findDomainResponse)||void 0===i?void 0:i.zeroClick),this.zeroClickResponse);return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({app_version:APP_VERSION},s),a),r),d),o),c),{zeroClick:l})}init(){return __awaiter(this,void 0,void 0,(function*(){try{window.__parkour=this,yield this.main()}catch(e){console.error("app",e);const t=Failed.fromError(e);this.state=t,Render.message(t.message),Render.revealPage()}}))}}(new App).init(),exports.App=App}));