#ifdef CONFIG_TOP #include "proffieboard_v2_config.h" #define NUM_BLADES 4 #define NUM_BUTTONS 1 #define VOLUME 500 const unsigned int maxLedsPerStrip = 144; #define CLASH_THRESHOLD_G 3.0 #define ENABLE_AUDIO #define ENABLE_MOTION #define ENABLE_WS2811 #define ENABLE_SD #define ENABLE_SERIAL #define COLOR_CHANGE_DIRECT #define IDLE_OFF_TIME 60*5*1000 #define SAVE_STATE #define SPEAK_BLADE_ID #define FETT263_SPECIAL_ABILITIES #define FETT263_SAY_BATTERY_PERCENT #endif #ifdef CONFIG_PROP #include "../props/saber_fett263_buttons.h" #endif #ifdef CONFIG_PRESETS Preset presets[] = { //Main Blade //CC Pixel //Red Arrow //Green Arrow { "Torchbearer;common", "tracks/venus.wav", /* copyright Fett263 CustomBlade (Primary Blade) OS7 Style https://www.fett263.com/fett263-proffieOS7-style-library.html#CustomBlade OS7.14 v2.241p Single Style Multi Phase (Special Abilities*) Default: AudioFlicker (Single Color (75%)) [BaseColorArg] 1: AudioFlicker (Single Color (75%)) [Rgb<0,255,100>] Multi Phase Control: use Special Abilities controls to change Phase. Requires Alt Font. NOTE:This style includes Control Layer. Only one Control Layer should be used per preset. *This style REQUIRES Alt Fonts alt000/ to alt001/ to be set up. Uses altchng.wav on change. See https://pod.hubbe.net/sound/alt_sounds.html for more information. --Effects Included-- Ignition Effect: Standard Ignition [Color: IgnitionColorArg] Retraction Effect: Standard Retraction [Color: RetractionColorArg] Lockup Effect: 0: mainLockMulti0Shape - Begin: Real Clash - Style: Intensity AudioFlicker - End: Full Blade Absorb [Color: LockupColorArg] Lightning Block Effect: 0: mainLBMulti0Shape - Begin: Responsive Impact - Style: Strobing AudioFlicker - End: Full Blade Absorb [Color: LBColorArg] Drag Effect: 0: mainDragMulti0Shape - Begin: Wipe In - Style: Intensity Sparking Drag - End: Wipe Out [Color: DragColorArg] Melt Effect: 0: mainMeltMulti0Shape - Begin: Wipe In - Style: Intensity Melt - End: Wipe Out [Color: StabColorArg] Blast Effect: Blast Fade (Large) [Color: BlastColorArg] Clash Effect: Flash on Clash (Full Blade) [Color: ClashColorArg] Special Ability 1: Next Phase */ StylePtr,Int<0>>,TrInstant,TrFadeX>>,AudioFlicker>,Mix,Black,RgbArg>>>,AudioFlicker,Mix,Black,Rgb<0,255,50>>>>,TransitionEffectL>,Int<2>>,Int<-1>>,EFFECT_USER1>,TransitionEffectL,Int<14000>>,RgbArg>,Mix,Black,RgbArg>>>,TrFade<300>>,EFFECT_BLAST>,TransitionEffectL,TrInstant>,RgbArg>,TrFade<10>>,EFFECT_CLASH>,LockupTrL,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Sum,Int<-10000>>>,Scale,Int<14000>,Int<22000>>>,AudioFlicker>,Mix,Black,RgbArg>>>,BrownNoiseFlicker>,Mix,Black,RgbArg>>,300>>,Bump,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Sum,Int<-10000>>>,Scale,Int<14000>,Int<22000>>>>,AlphaL>,Mix,Black,RgbArg>>>,Bump,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Sum,Int<-10000>>>,Scale,Int<14000>,Int<18000>>>>,TrExtend<5000,TrInstant>,TrFade<5000>,EFFECT_LOCKUP_BEGIN>,TrConcat,TrInstant>,Mix,Int<26000>>,RgbArg>,AlphaL>,Bump,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Sum,Int<-10000>>>,Scale,Int<20000>,Int<60000>>>>>,TrFade<300>>,TrConcat>,TrFade<400>>,SaberBase::LOCKUP_NORMAL,Int<1>>,ResponsiveLightningBlockL>,AudioFlicker>,Blue>,50,1>,TrConcat,AlphaL>,Bump,Int<10000>,Int<21000>>,Int<10000>>>,TrFade<200>>,TrConcat>,TrFade<400>>,Int<1>>,LockupTrL>>,BrownNoiseFlickerL>,Int<300>>,TrExtend<4000,TrInstant>,TrFade<4000>,EFFECT_DRAG_BEGIN>,SmoothStep,IntArg,Int<30000>>,Int<3000>>>,TrWipeIn<200>,TrWipe<200>,SaberBase::LOCKUP_DRAG,Int<1>>,LockupTrL,RgbArg>,RotateColorsX,RgbArg>>>,Mix>,Black,Mix,RgbArg>,RotateColorsX,RgbArg>>>>,Mix,Black,Mix,RgbArg>,RotateColorsX,RgbArg>>>>>,SmoothStep,IntArg,Int<30000>>,Int<3000>>>,TrConcat>,AlphaL,RgbArg>,RotateColorsX,RgbArg>>>,RotateColorsX,Mix,RgbArg>,RotateColorsX,RgbArg>>>>,100>,SmoothStep,IntArg,Int<30000>>,Int<3000>>>,TrFade<4000>>,TrWipe<200>,SaberBase::LOCKUP_MELT,Int<1>>,InOutTrL,Mult,Int<98304>>>>,TrWipeInX,Mult,Int<98304>>>>,Black>>>(), /* copyright Fett263 (Accent LED / PCB) OS6 Style https://fett263.com/fett263-proffieOS6-style-library.html#Rotoscope OS6.7 v4.021 Single Style On Behavior: Fast Pulse Off-On Off Behavior: Luke ROTJ (Green Arrow) Base Color: Rgb<255,255,255> (0) --Effects Included-- Ignition Effect: Instant Retraction Effect: Instant */ StylePtr>,2000>,InOutTrL>,TrConcat,Black,TrDelay<2000>>>>>>(), /* copyright Fett263 (Accent LED / PCB) OS6 Style https://fett263.com/fett263-proffieOS6-style-library.html#Rotoscope OS6.7 v4.021 Single Style On Behavior: Fast Pulse Dim-On Off Behavior: Luke ROTJ (Red Arrow) Base Color: Rgb<255,255,255> (0) --Effects Included-- Ignition Effect: Instant Retraction Effect: Instant */ StylePtr,Black,RgbArg>>,RgbArg>,2000>,InOutTrL,RgbArg>,TrBoing<2000,5>>>>>>(), "Torchbearer"}, { "MerchantAndArmsDealer;common", "tracks/CantoBight.wav", /* Saved from ProffieOS Style Editor: https://fredrik.hubbe.net/lightsaber/style_editor.html */ StylePtr, ColorSelect,Int<0>>,TrInstant,TrFadeX>>,AudioFlicker,Mix,Black,RgbArg>>,AudioFlicker,Black,Tomato>>>, TransitionEffectL>,Int<2>>,Int<-1>>,EFFECT_USER1>, TransitionEffectL,Int<14000>>,RgbArg,Mix,Black,RgbArg>>,TrFade<300>>,EFFECT_BLAST>, TransitionEffectL,TrInstant>,RgbArg,TrFade<10>>,EFFECT_CLASH>, LockupTrL,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Sum,Int<-10000>>>,Scale,Int<14000>,Int<22000>>>,AudioFlicker>,Mix,Black,RgbArg>>>,BrownNoiseFlicker>,Mix,Black,RgbArg>>,300>>,Bump,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Sum,Int<-10000>>>,Scale,Int<14000>,Int<22000>>>>,AlphaL>,Mix,Black,RgbArg>>>,Bump,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Sum,Int<-10000>>>,Scale,Int<14000>,Int<18000>>>>,TrExtend<5000,TrInstant>,TrFade<5000>,EFFECT_LOCKUP_BEGIN>,TrConcat,TrInstant>,Mix,Int<26000>>,RgbArg>,AlphaL>,Bump,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Sum,Int<-10000>>>,Scale,Int<20000>,Int<60000>>>>>,TrFade<300>>,TrConcat>,TrFade<400>>,SaberBase::LOCKUP_NORMAL>, ResponsiveLightningBlockL,AudioFlicker,Blue>,50,1>,TrConcat,AlphaL,Bump,Int<10000>,Int<21000>>,Int<10000>>>,TrFade<200>>,TrConcat,TrFade<400>>>, LockupTrL>,BrownNoiseFlickerL,Int<300>>,TrExtend<4000,TrInstant>,TrFade<4000>,EFFECT_DRAG_BEGIN>,SmoothStep,IntArg,Int<30000>>,Int<3000>>>,TrWipeIn<200>,TrWipe<200>,SaberBase::LOCKUP_DRAG>, LockupTrL,RgbArg,RotateColorsX,RgbArg>>,Mix>,Black,Mix,RgbArg,RotateColorsX,RgbArg>>>,Mix,Black,Mix,RgbArg,RotateColorsX,RgbArg>>>>,SmoothStep,IntArg,Int<30000>>,Int<3000>>>,TrConcat>,AlphaL,RgbArg,RotateColorsX,RgbArg>>,RotateColorsX,Mix,RgbArg,RotateColorsX,RgbArg>>>,100>,SmoothStep,IntArg,Int<30000>>,Int<3000>>>,TrFade<4000>>,TrWipe<200>,SaberBase::LOCKUP_MELT>, InOutTrL,Mult,Int<98304>>>>,TrWipeInX,Mult,Int<98304>>>>>>>(), /* copyright Fett263 (Accent LED / PCB) OS6 Style https://fett263.com/fett263-proffieOS6-style-library.html#Rotoscope OS6.7 v4.021 Single Style On Behavior: Fast Pulse Off-On Off Behavior: Luke ROTJ (Green Arrow) Base Color: Rgb<255,255,255> (0) --Effects Included-- Ignition Effect: Instant Retraction Effect: Instant */ StylePtr>,2000>,InOutTrL>,TrConcat,Black,TrDelay<2000>>>>>>(), /* copyright Fett263 (Accent LED / PCB) OS6 Style https://fett263.com/fett263-proffieOS6-style-library.html#Rotoscope OS6.7 v4.021 Single Style On Behavior: Fast Pulse Dim-On Off Behavior: Luke ROTJ (Red Arrow) Base Color: Rgb<255,255,255> (0) --Effects Included-- Ignition Effect: Instant Retraction Effect: Instant */ StylePtr,Black,RgbArg>>,RgbArg>,2000>,InOutTrL,RgbArg>,TrBoing<2000,5>>>>>>(), "MerchantAndArmsDealer"}, { "CRISPITY;common", "tracks/mercury.wav", StylePtr,RandomPerLEDFlicker>,RotateColorsX>>,300>,RotateColorsX>,0,6,FireConfig<10,1000,2>,FireConfig<10,1000,2>,FireConfig<10,1000,2>,FireConfig<10,1000,2>>, //Unstable red/pink TransitionEffectL,AlphaL,SwingSpeed<400>>,TrDelay<30000>,AlphaL,SwingSpeed<400>>,TrFade<800>>,EFFECT_FORCE>, //Force effect, temporarily allows color change based on swing speed AlphaL>,SwingSpeed<400>>, //Swing effect, audioflicker, Deep Pink connects the tip and emitter when swinging LockupTrL>,Bump,Scale,Int<4000>,Int<26000>>,Int<6000>>,Scale,Int<14000>,Int<18000>>>>, AlphaL,Scale,Int<4000>,Int<26000>>,Int<6000>>,Int<10000>>>>,TrConcat>,TrConcat>,TrWaveX,TrInstant,TrFade<200>,EFFECT_LOCKUP_BEGIN>,Int<300>,Int<100>,Int<400>,Scale,Scale,Int<4000>,Int<26000>>,Int<6000>>>>,SaberBase::LOCKUP_NORMAL>, //Responsive lockup ResponsiveLightningBlockL,50,1>,TrConcat,Int<18000>>>,TrFade<200>>,TrConcat>,30>,TrSmoothFade<600>>>, //Responsive lightning block AlphaL,SmoothStep>,Int<1500>,Int<4500>>,Int<-6000>>>, //Sparking emitter flare ResponsiveStabL, //Responsive stab EffectSequence>,TrFade<300>>,EFFECT_BLAST>,ResponsiveBlastL,Scale,Int<100>,Int<400>>,Int<400>>,ResponsiveBlastWaveL,Int<500>,Int<200>>,Scale,Int<100>,Int<400>>>,ResponsiveBlastFadeL,Int<6000>,Int<12000>>,Scale,Int<400>,Int<100>>>,ResponsiveBlastL,Int<400>,Int<100>>,Scale,Int<200>,Int<100>>,Scale,Int<400>,Int<200>>>>, //Multi-blast, blaster reflect cycles through different responsive effects ResponsiveClashL,LemonChiffon,TrInstant,TrFade<100>,EFFECT_CLASH>,TrInstant,TrFade<400>,Scale,Int<4000>,Int<26000>>,Int<6000>,Int<20000>>, //Responsive clash TransitionEffectL>,RandomPerLEDFlicker>,Black>,BrownNoiseFlicker,RotateColorsX>,200>,RandomPerLEDFlicker>,RotateColorsX>>>,TrFade<1200>>,EFFECT_IGNITION>, //Unstable ignition effect AlphaL,SmoothStep>,Int<28000>,Int<33000>>,Int<10000>>>, //Sparking tip flare LockupTrL>,SmoothStep,Int<5000>>>,TrWipeIn<400>,TrFade<300>,SaberBase::LOCKUP_DRAG>, //Drag LockupTrL,Rgb<255,200,0>,DarkOrange>,SmoothStep,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>, //Responsive melt EffectSequence>,AlphaL>,AlphaL>,AlphaL>>, //Power save, if using fett263's prop file hold Aux and click PWR while ON (pointing up) to dim blade in 25% increments. InOutTrL,TrColorCycle<1065>>, //Spark tip ignition, cycle down retraction //TransitionEffectL,Black,TrFade<1000>,AlphaL,Bump,Int<6000>>>,TrFade<3000>>,EFFECT_BOOT>, //TransitionEffectL,Bump,Int<6000>>>,TrFade<3000>>,EFFECT_NEWFONT>, //Optional/alternate passive battery monitor, on boot (1st line) or font change (2nd line) you will get a visual indicator at the emitter of your current battery level. This also works without a blade if you have a lit emitter or blade plug. Green is Full, Red is Low (the color will blend from Green to Red as the battery is depleted), the indicator will fade out after 3000 ms and not display again until powered down and back up or fonts change. TransitionEffectL,Bump>>,TrDelay<2000>,AlphaL,Bump>>,TrFade<1000>>,EFFECT_BATTERY_LEVEL>, //On demand battery level, if using fett263's prop file Hold AUX and click PWR while OFF, the battery level is represented by the location on the blade; tip = full, hilt = low and color; green = full, yellow = half, red = low TransitionEffectL,Int<1000>,Int<500>>,Int<70>,Int<550>>>,RotateColorsX,RotateColorsX>>,Bump,Int<1000>,Int<500>>,Int<41000>,Int<32768>>>>,TrDelay<3000>>,EFFECT_PREON>, TransitionEffectL,Bump,Int<4000>>>,TrFade<520>>,TrWaveX,Int<520>,Int<550>,Int<520>,Int<0>>>,AlphaL>,TrJoin>,Bump,Int<4000>>>,TrFade<420>>,TrWaveX>,Int<420>,Int<450>,Int<420>,Int<0>>>,AlphaL>,TrJoin,Bump,Int<4000>>>,TrFade<340>>,TrWaveX,Int<340>,Int<430>,Int<340>,Int<0>>>,AlphaL>,TrJoin>,Bump,Int<4000>>>,TrFade<300>>,TrWaveX>,Int<300>,Int<400>,Int<300>,Int<0>>>,AlphaL>,TrJoin,Bump,Int<4000>>>,TrFade<240>>,TrWaveX,Int<240>,Int<380>,Int<240>,Int<0>>>,AlphaL>,TrJoin>,Bump,Int<4000>>>,TrFade<210>>,TrWaveX>,Int<210>,Int<360>,Int<210>,Int<0>>>,AlphaL>,TrJoin,Bump,Int<4000>>>,TrFade<190>>,TrWaveX,Int<190>,Int<340>,Int<190>,Int<0>>>,AlphaL>,TrJoin>,Bump,Int<4000>>>,TrFade<170>>,TrWaveX>,Int<170>,Int<320>,Int<170>,Int<0>>>,AlphaL>,TrJoin,Bump,Int<4000>>>,TrFade<160>>,TrWaveX,Int<160>,Int<300>,Int<160>,Int<0>>>,AlphaL>,TrJoin>,Bump,Int<4000>>>,TrFade<150>>,TrWaveX>,Int<150>,Int<250>,Int<150>,Int<0>>>,AlphaL>,TrJoin,Bump,Int<4000>>>,TrFade<130>>,TrWaveX,Int<130>,Int<150>,Int<130>,Int<0>>>,AlphaL>,TrJoin>,Bump,Int<4000>>>,TrFade<100>>,TrWaveX>,Int<100>,Int<100>,Int<100>,Int<0>>>,AlphaL>,TrJoin,Bump,Int<4000>>>,TrFade<70>>,TrWaveX,Int<70>,Int<500>,Int<70>,Int<0>>>,Black,TrInstant>,EFFECT_PREON> //Preon effect, HUGE thanks to /u/NoSloppy for this! >>(), /* copyright Fett263 (Accent LED / PCB) OS6 Style https://fett263.com/fett263-proffieOS6-style-library.html#Rotoscope OS6.7 v4.021 Single Style On Behavior: Fast Pulse Off-On Off Behavior: Luke ROTJ (Green Arrow) Base Color: Rgb<255,255,255> (0) --Effects Included-- Ignition Effect: Instant Retraction Effect: Instant */ StylePtr>,2000>,InOutTrL>,TrConcat,Black,TrDelay<2000>>>>>>(), /* copyright Fett263 (Accent LED / PCB) OS6 Style https://fett263.com/fett263-proffieOS6-style-library.html#Rotoscope OS6.7 v4.021 Single Style On Behavior: Fast Pulse Dim-On Off Behavior: Luke ROTJ (Red Arrow) Base Color: Rgb<255,255,255> (0) --Effects Included-- Ignition Effect: Instant Retraction Effect: Instant */ StylePtr,Black,RgbArg>>,RgbArg>,2000>,InOutTrL,RgbArg>,TrBoing<2000,5>>>>>>(), "CRISPITY"}, { "Newtype;common", "tracks/GallantChar.wav", StylePtr>,RotateColorsX>>,TransitionLoopL>,40>,Int<250>,Int<100>,Int<200>,Int<0>>>,TransitionLoopL>,40>,Int<350>,Int<100>,Int<300>,Int<0>>>>,TransitionEffectL>,Int<50>>,TrSmoothFade<600>>,EFFECT_LOCKUP_END>,ResponsiveLockupL,50,1>,TrConcat>,TrFade<400>,Scale,Int<10000>,Int<30000>>,Int<10000>,Scale,Int<10000>,Int<14000>>>,ResponsiveLightningBlockL,50,1>,TrConcat,Int<18000>>>,TrFade<200>>,TrConcat>,30>,TrSmoothFade<600>>>,AlphaL>,Bump,Int<8000>>>,ResponsiveBlastWaveL,Scale,Int<100>,Int<400>>,Int<400>>,ResponsiveClashL,Scale,Int<10000>,Int<30000>>,Int<10000>>,TransitionEffectL,TrFade<800>>,EFFECT_IGNITION>,TransitionEffectL>>,TrFade<1200>>,EFFECT_RETRACTION>,ResponsiveStabL,TrWipe<600>>,ResponsiveDragL>,TrWipeIn<400>,TrFade<400>>,ResponsiveMeltL,Red,Orange>,TrWipeIn<600>,TrSmoothFade<600>>,InOutTrL,TrWipeIn<500>,Black>>>(), /* copyright Fett263 (Accent LED / PCB) OS6 Style https://fett263.com/fett263-proffieOS6-style-library.html#Rotoscope OS6.7 v4.021 Single Style On Behavior: Fast Pulse Off-On Off Behavior: Luke ROTJ (Green Arrow) Base Color: Rgb<255,255,255> (0) --Effects Included-- Ignition Effect: Instant Retraction Effect: Instant */ StylePtr>,2000>,InOutTrL>,TrConcat,Black,TrDelay<2000>>>>>>(), /* copyright Fett263 (Accent LED / PCB) OS6 Style https://fett263.com/fett263-proffieOS6-style-library.html#Rotoscope OS6.7 v4.021 Single Style On Behavior: Fast Pulse Dim-On Off Behavior: Luke ROTJ (Red Arrow) Base Color: Rgb<255,255,255> (0) --Effects Included-- Ignition Effect: Instant Retraction Effect: Instant */ StylePtr,Black,RgbArg>>,RgbArg>,2000>,InOutTrL,RgbArg>,TrBoing<2000,5>>>>>>(), "Newtype"}, { "Proton;common", "tracks/GBTheme.wav", StylePtr,HumpFlicker,HumpFlicker>,Stripes<40,-500,HumpFlicker,HumpFlicker,HumpFlicker,Blue>,Stripes<40,-500,HumpFlicker,HumpFlicker,HumpFlicker>,Stripes<40,-500,HumpFlicker,HumpFlicker,HumpFlicker,Blue>,Stripes<40,-500,HumpFlicker,HumpFlicker,HumpFlicker>,Stripes<40,-500,HumpFlicker,HumpFlicker,HumpFlicker>>,Blinking,800,500>,60,800>,HumpFlicker,0,8,FireConfig<0,2000,5>,FireConfig<0,0,0>,FireConfig<0,2000,10>,FireConfig<0,0,500>>,HumpFlicker>,RandomPerLEDFlicker,80>,StyleFire,HumpFlicker,HumpFlicker>,Stripes<40,-500,HumpFlicker,HumpFlicker,HumpFlicker,Blue>,Stripes<40,-500,HumpFlicker,HumpFlicker,HumpFlicker>,Stripes<40,-500,HumpFlicker,HumpFlicker,HumpFlicker,Blue>,Stripes<40,-500,HumpFlicker,HumpFlicker,HumpFlicker>,RandomPerLEDFlicker,AudioFlicker>>,Blinking,60,800>,HumpFlicker,0,8,FireConfig<0,2000,5>,FireConfig<3000,0,0>,FireConfig<0,2000,10>>,HumpFlicker>>(), /* copyright Fett263 (Accent LED / PCB) OS6 Style https://fett263.com/fett263-proffieOS6-style-library.html#Rotoscope OS6.7 v4.021 Single Style On Behavior: Fast Pulse Off-On Off Behavior: Luke ROTJ (Green Arrow) Base Color: Rgb<255,255,255> (0) --Effects Included-- Ignition Effect: Instant Retraction Effect: Instant */ StylePtr>,2000>,InOutTrL>,TrConcat,Black,TrDelay<2000>>>>>>(), /* copyright Fett263 (Accent LED / PCB) OS6 Style https://fett263.com/fett263-proffieOS6-style-library.html#Rotoscope OS6.7 v4.021 Single Style On Behavior: Fast Pulse Dim-On Off Behavior: Luke ROTJ (Red Arrow) Base Color: Rgb<255,255,255> (0) --Effects Included-- Ignition Effect: Instant Retraction Effect: Instant */ StylePtr,Black,RgbArg>>,RgbArg>,2000>,InOutTrL,RgbArg>,TrBoing<2000,5>>>>>>(), "Proton"}, }; BladeConfig blades[] = { {0, SubBlade (1, 137, WS281XBladePtr<138, bladePin, Color8::GRB, PowerPINS >()), SubBlade (0, 0, NULL), SimpleBladePtr, NoLED, NoLED, NoLED, bladePowerPin4, -1, -1, -1>(), SimpleBladePtr, NoLED, NoLED, NoLED, bladePowerPin6, -1, -1, -1>(), CONFIGARRAY(presets) }, }; #endif #ifdef CONFIG_BUTTONS Button PowerButton(BUTTON_POWER, powerButtonPin, "pow"); #endif