






#import "DeriveInfo.h"
#import "DoneTryTenConfig.h"
#import "LengthShowBordersAttitudeCompress.h"

@import AdSupport;
@import AppTrackingTransparency;
@import UIKit;

#import <CoreTelephony/CTTelephonyNetworkInfo.h>
#import <CoreTelephony/CTCarrier.h>
#import <SystemConfiguration/SystemConfiguration.h>

#import "sys/utsname.h" //utsname


#import <AdServices/AdServices.h>

@implementation DeriveInfo

+ (UIImage *)sentGenericWrittenCricketFeetImage {
    NSDictionary *areHourly = [[NSBundle mainBundle] infoDictionary];
    NSString *icon = [[areHourly valueForKeyPath:@"CFBundleIcons.CFBundlePrimaryIcon.CFBundleIconFiles"] lastObject];
    return [UIImage imageNamed:icon];
}

+ (NSString *)wrapAuthorHighIdentifier {
    return [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleIdentifier"];
}

+ (NSString *)boxSeasonRecoveryRetriedBack {
    return [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
}

+ (NSString *)affectedName {
    NSString *displayName = [[NSBundle mainBundle] localizedInfoDictionary][@"CFBundleDisplayName"];

    if (!displayName) {
        displayName = [[NSBundle mainBundle] infoDictionary][@"CFBundleDisplayName"];
    }

    if (!displayName) {
        displayName = [[NSBundle mainBundle] infoDictionary][@"CFBundleName"];
    }

    return displayName;
}

+ (NSString *)parsecsBusyName {
    return [UIDevice currentDevice].name;
}

+ (NSString *)ignoreMarkBadmintonPrimeWay {
    return [ASIdentifierManager sharedManager].advertisingIdentifier.UUIDString;
}

+ (NSString *)analysisFutureLikeCallbacksSmart {
    return [UIDevice currentDevice].identifierForVendor.UUIDString;
}

+ (NSString *)parsingBeatModel {
    struct utsname systemInfo;
    uname(&systemInfo);
    NSString *deviceModel = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
    return deviceModel;
}

+ (NSString *)bandwidthWriteOwnerActivateCommitted {
    return [UIDevice currentDevice].systemVersion;
}

+ (NSString *)loudRestPrepareGradeUnionPath {
    return NSHomeDirectory().lastPathComponent;
}

+ (BOOL)constantMakerExemplarKitSkin {
    CTTelephonyNetworkInfo *info = [[CTTelephonyNetworkInfo alloc] init];
    NSDictionary<NSString *, CTCarrier *> *lockKeys = info.serviceSubscriberCellularProviders;
    if (lockKeys.count == 0) {
        return NO;
    }
    NSDictionary<NSString *, NSString *> *publicRepeat = info.serviceCurrentRadioAccessTechnology; 
    for (NSString *blueAlpha in lockKeys.allKeys) {
        CTCarrier *carrier = lockKeys[blueAlpha];
        if (!carrier) { continue; }
        NSString *ill = carrier.mobileCountryCode ?: @"";
        NSString *air = carrier.mobileNetworkCode ?: @"";
        NSInteger dogIll = ill.integerValue;
        NSInteger retSin = air.integerValue;
        BOOL radioHow = (ill.length > 0) && (dogIll > 0);
        BOOL caseUsed = (air.length > 0) && (retSin > 0);
        NSString *fix = publicRepeat[blueAlpha];
        BOOL sobYet = (fix.length > 0);
        if (radioHow && caseUsed && sobYet) {
            return YES;
        }
    }
    return NO;
}

+ (NSString *)areDrumArtsToken {
    
    if (@available(iOS 14.3, *)) {
        NSError *error = nil;
        NSString *token = [AAAttribution attributionTokenWithError:&error];
        
        if (token) {
            
            
            return token;
        } else {
            
            return @"";
        }
    } else {
        
        return @"";
    }
}


+ (void)topMixSeventeenMasteringModeCutoff:(void (^)(void))spellWax {
    static dispatch_once_t sameToken;
    static BOOL negativeRace = NO;

    
    if (negativeRace) {
        TorchInfo(sobToneWide.poolSideFunProceedSenseEvaluateZip);
        return;
    }	

    dispatch_once(&sameToken, ^{
        negativeRace = YES;
        TorchInfo(sobToneWide.advancesBelowFireMaintainModuleBold);

        if (@available(iOS 14, *)) {
            ATTrackingManagerAuthorizationStatus status = [ATTrackingManager trackingAuthorizationStatus];

            NSString *mayDeepCan = [self precisionHindiStatus:status];

            TorchInfo(sobToneWide.internetTrainingVolumeSameTightRaw, mayDeepCan, (long)status);

            switch (status) {
                case ATTrackingManagerAuthorizationStatusAuthorized:
                    TorchInfo(sobToneWide.terahertzCosmicHasPopStaleTokenVolume);
                    negativeRace = NO;
                    if (spellWax) {
                        spellWax();
                    }
                    break;

                case ATTrackingManagerAuthorizationStatusDenied:
                    TorchInfo(sobToneWide.toolFeatureDynamicHerStep);
                    negativeRace = NO;
                    if (spellWax) {
                        spellWax();
                    }
                    break;

                case ATTrackingManagerAuthorizationStatusRestricted:
                    TorchInfo(sobToneWide.featGreatEitherLineSlovakEviction);
                    negativeRace = NO;
                    if (spellWax) {
                        spellWax();
                    }
                    break;

                case ATTrackingManagerAuthorizationStatusNotDetermined:
                    TorchInfo(sobToneWide.bandMutationsCurlCostLingerMongolian);
                    [self helperMoreBurstUnwindingBordersAppleBad:^{
                        negativeRace = NO;
                        if (spellWax) {
                            spellWax();
                        }
                    }];
                    break;
            }
        } else {
            TorchInfo(sobToneWide.folderPrintablePackageParticleStepperOpacity);
            negativeRace = NO;
            if (spellWax) {
                spellWax();
            }
        }
    });
}

+ (void)helperMoreBurstUnwindingBordersAppleBad:(void (^)(void))completion {
    TorchInfo(sobToneWide.hasNumericPlainEastAudienceParallel);

    
    static int retPotential = 6;

    __block id icyFarsi = [[NSNotificationCenter defaultCenter]
        addObserverForName:UIApplicationDidBecomeActiveNotification
                    object:nil
                     queue:[NSOperationQueue mainQueue]
                usingBlock:^(NSNotification *notification) {

        TorchInfo(sobToneWide.hourUnionSpanishBasqueRadioLeap, retPotential);

        
        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(retPotential * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{


            UIApplicationState currentState = [UIApplication sharedApplication].applicationState;

            NSString *bitGoogle = [self askOldBarsToneState:currentState];

            TorchInfo(sobToneWide.cancelsExpiredStepsonToneUndoOwner, bitGoogle);

            if (currentState == UIApplicationStateActive) {
                TorchInfo(sobToneWide.dayLoadingJabberFlemishSubjectObjectSum);
                [self heartbeatTwoRequest:completion];
            } else {

                TorchInfo(sobToneWide.batchArmourCaptionAgreementPartParse, bitGoogle);
                TorchInfo(sobToneWide.icyOcclusionRequestedTaskDiscardedInner);
                icyFarsi = [[NSNotificationCenter defaultCenter]
                    addObserverForName:UIApplicationDidBecomeActiveNotification
                                object:nil
                                 queue:[NSOperationQueue mainQueue]
                            usingBlock:^(NSNotification *notification) {
                    
                    TorchInfo(sobToneWide.itsIdentifyAfterPointTurnFourth);
                    [[NSNotificationCenter defaultCenter] removeObserver:icyFarsi];
                    TorchInfo(sobToneWide.greekClustersVisitReferentFetchedFoundRenewed);
                    [self heartbeatTwoRequest:completion];
                }];
            }

        });

        TorchInfo(sobToneWide.handleCauseBuddyImpliedSelectorsOff);
        
        [[NSNotificationCenter defaultCenter] removeObserver:icyFarsi];
    }];
}

+ (void)heartbeatTwoRequest:(void (^)(void))completion {
    if (@available(iOS 14, *)) {
        TorchInfo(sobToneWide.bridgedSampleAdvisoryAspectCollapseHer);

        [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
            ATTrackingManagerAuthorizationStatus pongWetStatus = [ATTrackingManager trackingAuthorizationStatus];

            NSString *priceOrderingDiphthongLocationsCity = [self precisionHindiStatus:status];
            NSString *enhancedAccountDirtyInitiallyOff = [self precisionHindiStatus:pongWetStatus];

            TorchInfo(sobToneWide.reasonKazakhSayRhythmClockHash);
            TorchInfo(sobToneWide.jobEscapedGraphicsReclaimTrimmingDelay, priceOrderingDiphthongLocationsCity, (long)status);
            TorchInfo(sobToneWide.styleRequireSmallerRaceHundredInvokeExposures, enhancedAccountDirtyInitiallyOff, (long)pongWetStatus);

            
            
            
            
            BOOL soundYouSame = (pongWetStatus == ATTrackingManagerAuthorizationStatusAuthorized) ||
                               (status == ATTrackingManagerAuthorizationStatusAuthorized);

            if (soundYouSame) {
                TorchInfo(sobToneWide.cosmicUnboundedSentenceDanishHitBackwardVisual);
                if (completion) {
                    completion();
                }
            } else if (pongWetStatus == ATTrackingManagerAuthorizationStatusNotDetermined) {
                TorchInfo(sobToneWide.exerciseGigabitsIncomingWidgetNumberAssemblyBehavior);
                [self recoveryAppleAxesRespectsRollSquaredRaise:completion armForkDragOwn:0];
            } else {
                TorchInfo(sobToneWide.heavySmallerDateEchoAudioHourDance);
                if (completion) {
                    completion();
                }
            }
        }];
    }
}


+ (NSString *)precisionHindiStatus:(ATTrackingManagerAuthorizationStatus)status  API_AVAILABLE(ios(14)){
    if (@available(iOS 14, *)) {
        switch (status) {
            case ATTrackingManagerAuthorizationStatusNotDetermined:
                return sobToneWide.sideSpaSigmaAscenderChineseFoodBuddy;
            case ATTrackingManagerAuthorizationStatusRestricted:
                return sobToneWide.legibleThiaminProductSegmentsReverseFrench;
            case ATTrackingManagerAuthorizationStatusDenied:
                return sobToneWide.mixerRemainingSubscriptGetCompanyFlag;
            case ATTrackingManagerAuthorizationStatusAuthorized:
                return sobToneWide.broadcastLessAnySegmentedFootnoteComposer;
            default:
                return [NSString stringWithFormat:sobToneWide.solidSignalDirtyCapturedInitialOutside, (long)status];
        }
    }
    return sobToneWide.argumentsRadioGatherIcyHebrewLifetimeEsperanto;
}

+ (NSString *)askOldBarsToneState:(UIApplicationState)state {
    switch (state) {
        case UIApplicationStateActive:
            return sobToneWide.vectorCroatianNoteSubShoulderSecure;
        case UIApplicationStateInactive:
            return sobToneWide.arraySemicolonHandlePositionParseRecording;
        case UIApplicationStateBackground:
            return sobToneWide.salientSubNextRunHerExecution;
        default:
            return [NSString stringWithFormat:sobToneWide.illProducedHybridBadMathFax, (long)state];
    }
}


+ (void)recoveryAppleAxesRespectsRollSquaredRaise:(void (^)(void))spellWax armForkDragOwn:(NSInteger)armForkDragOwn {
    NSInteger radioCount = 10;

    if (@available(iOS 14, *)) {
        ATTrackingManagerAuthorizationStatus pongWetStatus = [ATTrackingManager trackingAuthorizationStatus];

        NSString *mayDeepCan = [self precisionHindiStatus:pongWetStatus];

        TorchInfo(sobToneWide.mustEnvelopeWaxNextCapableWork,
              (long)(armForkDragOwn + 1), (long)radioCount, mayDeepCan);

        
        if (pongWetStatus == ATTrackingManagerAuthorizationStatusNotDetermined && armForkDragOwn < radioCount) {
            TorchInfo(sobToneWide.backupCollectEjectMetabolicEquallyMethod, (long)(armForkDragOwn + 2));

            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0f * NSEC_PER_SEC)),
                          dispatch_get_main_queue(), ^{
                [self recoveryAppleAxesRespectsRollSquaredRaise:spellWax armForkDragOwn:armForkDragOwn + 1];
            });
            return;
        } else {
            
            
            if (armForkDragOwn >= radioCount) {
                TorchInfo(sobToneWide.stairJoiningObtainThatPermanentCross, (long)radioCount);
                TorchInfo(sobToneWide.heavyCircleUnloadValidityNorwegianArbiter, mayDeepCan);
            } else {
                TorchInfo(sobToneWide.poloProcessedNapSignatureUsabilityHealth, mayDeepCan);

                if (pongWetStatus == ATTrackingManagerAuthorizationStatusAuthorized) {
                    TorchInfo(sobToneWide.serverStandardCourseDaughterStillAppear);
                } else if (pongWetStatus == ATTrackingManagerAuthorizationStatusDenied) {
                    TorchInfo(sobToneWide.invisibleUnifySpeakerPrototypeServicesSigning);
                } else if (pongWetStatus == ATTrackingManagerAuthorizationStatusRestricted) {
                    TorchInfo(sobToneWide.suffixTorchSchemeDayDeviceMultiply);
                }
            }

            TorchInfo(sobToneWide.triggersMakeGrowContinuedDeliveryNot);
            if (spellWax) {
                spellWax();
            }
        }
    } else {
        TorchInfo(sobToneWide.suchProtocolsFiveMenstrualBeatConductorFat);
        if (spellWax) {
            spellWax();
        }
    }
}
@end
