#![allow(non_camel_case_types)]
#![allow(non_upper_case_globals)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[repr(i32)]
pub enum EContentReportReason {
    Invalid = 0,
    None = 1,
    Unknown = 2,
    Harassment = 3,
    BullyingAndIntimidation = 4,
    Stalking = 5,
    Doxxing = 6,
    OtherHarassment = 7,
    EncouragingViolence = 8,
    EncouragingSelfHarm = 9,
    EncouragingSuicide = 10,
    OtherViolenceOrSelfHarm = 11,
    PhishingOrAccountTheft = 12,
    AttemptedScamming = 13,
    LinkingToMaliciousContent = 14,
    Impersonation = 15,
    OtherScamsAndTheft = 16,
    EncouragingTerrorism = 17,
    OrganizingTerrorism = 18,
    OtherTerrorism = 19,
    TargetedAbuse = 20,
    NamingAndShaming = 21,
    Discrimination = 22,
    OtherAbuse = 23,
    Trolling = 24,
    Baiting = 25,
    Derailing = 26,
    OtherDisruptive = 27,
    Spam = 28,
    Begging = 29,
    Reposting = 30,
    OtherOffTopic = 31,
    CSAMSexualContent = 32,
    CSAMGroomingOrEnticement = 33,
    CSAMOther = 34,
    NudityOrSexualContent = 35,
    NonConsensualMaterial = 36,
    Advertising = 37,
    ReferralLinks = 38,
    Gambling = 39,
    Raffles = 40,
    OtherCommercialActivity = 41,
    InauthenticReview = 42,
    HiddenAdvertisementOrCommercialCommunication = 43,
    MisleadingInformationAboutGoodsOrServices = 44,
    MisleadingInformationAboutConsumerRights = 45,
    NoncomplianceWithPricingRegulations = 46,
    RightToBeForgottenViolation = 47,
    MissingProcessingGroundForData = 48,
    OtherDataProtectionAndPrivacyViolation = 49,
    GenderedHarassment = 50,
    GenderedBullyingAndIntimidation = 51,
    GenderedStalking = 52,
    GenderedDoxxing = 53,
    GenderedOtherHarassment = 54,
    GenderedEncouragingViolence = 55,
    GenderedTargetedAbuse = 56,
    CSAMFakedSexualContent = 57,
    GenderedNonConsensualMaterial = 58,
    FakedGenderedNonConsensualMaterial = 59,
    FakedNonConsensualMaterial = 60,
    NegativeEffectonDiscourseOrElections = 61,
    QuotesModeratedContent = 62,
    CredibleThreatOfViolence = 63,
    MAX = 64,
}

impl EContentReportReason {
    pub fn from_i32(val: i32) -> Option<Self> {
        match val {
            x if x == Self::Invalid as i32 => Some(Self::Invalid),
            x if x == Self::None as i32 => Some(Self::None),
            x if x == Self::Unknown as i32 => Some(Self::Unknown),
            x if x == Self::Harassment as i32 => Some(Self::Harassment),
            x if x == Self::BullyingAndIntimidation as i32 => Some(Self::BullyingAndIntimidation),
            x if x == Self::Stalking as i32 => Some(Self::Stalking),
            x if x == Self::Doxxing as i32 => Some(Self::Doxxing),
            x if x == Self::OtherHarassment as i32 => Some(Self::OtherHarassment),
            x if x == Self::EncouragingViolence as i32 => Some(Self::EncouragingViolence),
            x if x == Self::EncouragingSelfHarm as i32 => Some(Self::EncouragingSelfHarm),
            x if x == Self::EncouragingSuicide as i32 => Some(Self::EncouragingSuicide),
            x if x == Self::OtherViolenceOrSelfHarm as i32 => Some(Self::OtherViolenceOrSelfHarm),
            x if x == Self::PhishingOrAccountTheft as i32 => Some(Self::PhishingOrAccountTheft),
            x if x == Self::AttemptedScamming as i32 => Some(Self::AttemptedScamming),
            x if x == Self::LinkingToMaliciousContent as i32 => Some(Self::LinkingToMaliciousContent),
            x if x == Self::Impersonation as i32 => Some(Self::Impersonation),
            x if x == Self::OtherScamsAndTheft as i32 => Some(Self::OtherScamsAndTheft),
            x if x == Self::EncouragingTerrorism as i32 => Some(Self::EncouragingTerrorism),
            x if x == Self::OrganizingTerrorism as i32 => Some(Self::OrganizingTerrorism),
            x if x == Self::OtherTerrorism as i32 => Some(Self::OtherTerrorism),
            x if x == Self::TargetedAbuse as i32 => Some(Self::TargetedAbuse),
            x if x == Self::NamingAndShaming as i32 => Some(Self::NamingAndShaming),
            x if x == Self::Discrimination as i32 => Some(Self::Discrimination),
            x if x == Self::OtherAbuse as i32 => Some(Self::OtherAbuse),
            x if x == Self::Trolling as i32 => Some(Self::Trolling),
            x if x == Self::Baiting as i32 => Some(Self::Baiting),
            x if x == Self::Derailing as i32 => Some(Self::Derailing),
            x if x == Self::OtherDisruptive as i32 => Some(Self::OtherDisruptive),
            x if x == Self::Spam as i32 => Some(Self::Spam),
            x if x == Self::Begging as i32 => Some(Self::Begging),
            x if x == Self::Reposting as i32 => Some(Self::Reposting),
            x if x == Self::OtherOffTopic as i32 => Some(Self::OtherOffTopic),
            x if x == Self::CSAMSexualContent as i32 => Some(Self::CSAMSexualContent),
            x if x == Self::CSAMGroomingOrEnticement as i32 => Some(Self::CSAMGroomingOrEnticement),
            x if x == Self::CSAMOther as i32 => Some(Self::CSAMOther),
            x if x == Self::NudityOrSexualContent as i32 => Some(Self::NudityOrSexualContent),
            x if x == Self::NonConsensualMaterial as i32 => Some(Self::NonConsensualMaterial),
            x if x == Self::Advertising as i32 => Some(Self::Advertising),
            x if x == Self::ReferralLinks as i32 => Some(Self::ReferralLinks),
            x if x == Self::Gambling as i32 => Some(Self::Gambling),
            x if x == Self::Raffles as i32 => Some(Self::Raffles),
            x if x == Self::OtherCommercialActivity as i32 => Some(Self::OtherCommercialActivity),
            x if x == Self::InauthenticReview as i32 => Some(Self::InauthenticReview),
            x if x == Self::HiddenAdvertisementOrCommercialCommunication as i32 => Some(Self::HiddenAdvertisementOrCommercialCommunication),
            x if x == Self::MisleadingInformationAboutGoodsOrServices as i32 => Some(Self::MisleadingInformationAboutGoodsOrServices),
            x if x == Self::MisleadingInformationAboutConsumerRights as i32 => Some(Self::MisleadingInformationAboutConsumerRights),
            x if x == Self::NoncomplianceWithPricingRegulations as i32 => Some(Self::NoncomplianceWithPricingRegulations),
            x if x == Self::RightToBeForgottenViolation as i32 => Some(Self::RightToBeForgottenViolation),
            x if x == Self::MissingProcessingGroundForData as i32 => Some(Self::MissingProcessingGroundForData),
            x if x == Self::OtherDataProtectionAndPrivacyViolation as i32 => Some(Self::OtherDataProtectionAndPrivacyViolation),
            x if x == Self::GenderedHarassment as i32 => Some(Self::GenderedHarassment),
            x if x == Self::GenderedBullyingAndIntimidation as i32 => Some(Self::GenderedBullyingAndIntimidation),
            x if x == Self::GenderedStalking as i32 => Some(Self::GenderedStalking),
            x if x == Self::GenderedDoxxing as i32 => Some(Self::GenderedDoxxing),
            x if x == Self::GenderedOtherHarassment as i32 => Some(Self::GenderedOtherHarassment),
            x if x == Self::GenderedEncouragingViolence as i32 => Some(Self::GenderedEncouragingViolence),
            x if x == Self::GenderedTargetedAbuse as i32 => Some(Self::GenderedTargetedAbuse),
            x if x == Self::CSAMFakedSexualContent as i32 => Some(Self::CSAMFakedSexualContent),
            x if x == Self::GenderedNonConsensualMaterial as i32 => Some(Self::GenderedNonConsensualMaterial),
            x if x == Self::FakedGenderedNonConsensualMaterial as i32 => Some(Self::FakedGenderedNonConsensualMaterial),
            x if x == Self::FakedNonConsensualMaterial as i32 => Some(Self::FakedNonConsensualMaterial),
            x if x == Self::NegativeEffectonDiscourseOrElections as i32 => Some(Self::NegativeEffectonDiscourseOrElections),
            x if x == Self::QuotesModeratedContent as i32 => Some(Self::QuotesModeratedContent),
            x if x == Self::CredibleThreatOfViolence as i32 => Some(Self::CredibleThreatOfViolence),
            x if x == Self::MAX as i32 => Some(Self::MAX),
            _ => None,
        }
    }
}
