{"version":3,"sources":["components/Header.js","components/BodyMenu.js","components/WebProjectItems.js","components/WorkItems.js","components/EducationItems.js","components/Body.js","components/basePage.js","App.js","serviceWorker.js","index.js"],"names":["headerCenteringStyle","marginLeft","marginRight","ResumeHeader","props","state","Divider","Icon","name","size","Grid","stackable","Row","columns","Column","textAlign","Card","fluid","centered","raised","style","this","Popup","trigger","color","getHeaderIconInfo","Content","Description","href","target","rel","to","download","Flag","Component","bottomBodyMenuMarginStyle","marginTop","marginBottom","ResumeBodyMenu","handleItemClick","e","onMenuChange","menuOptions","map","resumeSection","index","Menu","Item","key","active","activeSection","onClick","Container","compact","getMenuItems","imageCenteringStyle","ProjectItem","Image","src","Header","content","Segment","Group","divided","getItems","listSpacing","paddingBottom","fontSize","JobItem","wide","horizontal","List","getBBGTechPopup","Meta","getNu3Popup","getKAYAKPopup","getGeophyPopup","createJobIndividualItems","EducationItem","createEducationIndividualItems","ResumeBody","width","getBodyText","BasePage","itemClick","bind","bodyActiveSection","setState","ref","contextRef","description","App","Boolean","window","location","hostname","match","ReactDOM","render","document","getElementById","navigator","serviceWorker","ready","then","registration","unregister","catch","error","console","message"],"mappings":"kXAIMA,EAAuB,CACzBC,WAAY,OACZC,YAAa,QAGIC,E,YACjB,WAAYC,GAAQ,IAAD,8BACf,4CAAMA,KACDC,MAAQD,EAFE,E,iFAMf,OACI,oCACI,2BAAG,6FACH,kBAACE,EAAA,EAAD,MACA,uDACA,kBAACA,EAAA,EAAD,MACA,2BACI,kBAACC,EAAA,EAAD,CAAMC,KAAK,SAASC,KAAK,UAD7B,WAGA,2BACI,kBAACF,EAAA,EAAD,CAAMC,KAAK,KAAKC,KAAK,UADzB,OAGA,2BACI,kBAACF,EAAA,EAAD,CAAMC,KAAK,WAAWC,KAAK,UAD/B,QAGA,2BACI,kBAACF,EAAA,EAAD,CAAMC,KAAK,WAAWC,KAAK,UAD/B,QAGA,2BACI,kBAACF,EAAA,EAAD,CAAMC,KAAK,QAAQC,KAAK,UAD5B,UAGA,kBAACH,EAAA,EAAD,MACA,oEACA,kBAACA,EAAA,EAAD,MACA,2BACI,kBAACC,EAAA,EAAD,CAAMC,KAAK,SAASC,KAAK,UAD7B,WAGA,2BACI,kBAACF,EAAA,EAAD,CAAMC,KAAK,QAAQC,KAAK,UAD5B,QAGA,2BACI,kBAACF,EAAA,EAAD,CAAMC,KAAK,UAAUC,KAAK,UAD9B,YAGA,2BACI,kBAACF,EAAA,EAAD,CAAMC,KAAK,QAAQC,KAAK,UAD5B,UAGA,2BACI,kBAACF,EAAA,EAAD,CAAMC,KAAK,QAAQC,KAAK,UAD5B,a,+BAQR,OACI,kBAACC,EAAA,EAAD,CAAMC,WAAS,GACX,kBAACD,EAAA,EAAKE,IAAN,CAAUC,QAAS,GACf,kBAACH,EAAA,EAAKI,OAAN,MAEA,kBAACJ,EAAA,EAAKI,OAAN,CAAaC,UAAU,UACnB,kBAACC,EAAA,EAAD,CAAMC,OAAO,EACPC,UAAU,EACVC,QAAQ,GAEV,wBAAIC,MAAOpB,GAAuBqB,KAAKhB,MAAMG,KAA7C,IAAmD,kBAACc,EAAA,EAAD,CAC/CC,QAAS,kBAAChB,EAAA,EAAD,CAAMC,KAAK,cAAcC,KAAK,QAAQe,MAAM,YAEpDH,KAAKI,sBAIV,kBAACT,EAAA,EAAKU,QAAN,KACI,kBAACV,EAAA,EAAKW,YAAN,KACI,2BACI,uBAAGC,KAAK,mCAAR,4BADJ,iBAKI,uBAAGA,KAAK,wCAAwCC,OAAO,SACpDC,IAAI,uBACH,kBAACvB,EAAA,EAAD,CAAMC,KAAK,mBACLC,KAAK,QACLe,MAAM,WAJhB,mBASJ,4DACoC,kBAAC,IAAD,KAChC,kBAAC,IAAD,CAAMO,GAAG,yBACHF,OAAO,SACPG,UAAQ,GAFd,WAOJ,2BACI,kBAACC,EAAA,EAAD,CAAMzB,KAAK,OADf,kBAOhB,kBAACE,EAAA,EAAKI,OAAN,Y,GApGsBoB,a,kBCNpCC,EAA4B,CAC9BC,UAAW,OACXC,aAAc,QAIGC,E,2MAEjBC,gBAAkB,SAACC,EAAD,OAAKhC,EAAL,EAAKA,KAAL,OAAe,EAAKJ,MAAMqC,aAAajC,I,8EAEzC,IAAD,OACX,OAAOa,KAAKjB,MAAMsC,YAAYC,KAAI,SAACC,EAAeC,GAAhB,OAC9B,kBAACC,EAAA,EAAKC,KAAN,CAAWC,IAAKH,EACLrC,KAAMoC,EACNK,OAAQ,EAAK7C,MAAM8C,gBAAkBN,EACrCO,QAAS,EAAKZ,uB,+BAK7B,OACI,kBAACa,EAAA,EAAD,CAAWrC,UAAU,SACVK,MAAOe,GAEd,kBAACW,EAAA,EAAD,CAAMO,SAAO,EACP7B,MAAM,UAEPH,KAAKiC,qB,GArBkBpB,a,kBCNtCqB,EAAsB,CACxBlB,aAAc,QAGGmB,E,mLAGb,OACI,oCACI,kBAACT,EAAA,EAAD,KAEI,kBAACA,EAAA,EAAKU,MAAN,CAAYhD,KAAK,OACLiD,IAAI,mBACJtC,MAAOmC,IAEnB,kBAACR,EAAA,EAAKrB,QAAN,KACI,kBAACqB,EAAA,EAAKY,OAAN,CAAaC,QAAQ,uBAErB,kBAACb,EAAA,EAAKpB,YAAN,KACI,2BACI,kBAACpB,EAAA,EAAD,CAAMC,KAAM,UAAWC,KAAM,UAC7B,uBAAGmB,KAAK,oEACLC,OAAO,SAASC,IAAI,uBADvB,gBAGJ,2BACI,kBAACvB,EAAA,EAAD,CAAMC,KAAM,QAASC,KAAM,UAC3B,uBAAGmB,KAAK,sDACLC,OAAO,SAASC,IAAI,uBADvB,YAGJ,kBAAC+B,EAAA,EAAD,kU,+BAcpB,OACI,kBAACd,EAAA,EAAKe,MAAN,CAAYC,SAAO,GAEd1C,KAAK2C,gB,GA1CmB9B,a,SCJnCqB,EAAsB,CACxBlB,aAAc,QAGZ4B,EAAc,CAChBC,cAAe,MACfC,SAAU,IAGOC,E,yLAGb,OACI,kBAAC9C,EAAA,EAAD,CACIC,QAAS,kBAAChB,EAAA,EAAD,CAAMC,KAAK,cAAcgB,MAAM,WACxC6C,KAAK,QAEL,kBAAC3D,EAAA,EAAD,CAAMC,WAAS,GACX,kBAACD,EAAA,EAAKE,IAAN,CAAUC,QAAS,GACf,kBAACH,EAAA,EAAKI,OAAN,KACI,kBAACR,EAAA,EAAD,CAASgE,YAAU,GAAE,kBAAC/D,EAAA,EAAD,CAAMC,KAAK,SAASC,KAAK,WAC9C,kBAAC8D,EAAA,EAAD,KACI,kBAACA,EAAA,EAAKxB,KAAN,KACI,kBAACwB,EAAA,EAAKhE,KAAN,CAAWC,KAAK,WAChB,kBAAC+D,EAAA,EAAK7C,QAAN,gBAEJ,kBAAC6C,EAAA,EAAKxB,KAAN,KACI,kBAACwB,EAAA,EAAKhE,KAAN,CAAWC,KAAK,SAChB,kBAAC+D,EAAA,EAAK7C,QAAN,kB,sCAY5B,OACI,kBAACJ,EAAA,EAAD,CACIC,QAAS,kBAAChB,EAAA,EAAD,CAAMC,KAAK,cAAcgB,MAAM,WACxC6C,KAAK,QAEL,kBAAC3D,EAAA,EAAD,CAAMC,WAAS,GACX,kBAACD,EAAA,EAAKE,IAAN,CAAUC,QAAS,GACf,kBAACH,EAAA,EAAKI,OAAN,KACI,kBAACR,EAAA,EAAD,CAASgE,YAAU,GAAE,kBAAC/D,EAAA,EAAD,CAAMC,KAAK,SAASC,KAAK,WAC9C,kBAAC8D,EAAA,EAAD,KACI,kBAACA,EAAA,EAAKxB,KAAN,KACI,kBAACwB,EAAA,EAAKhE,KAAN,CAAWC,KAAK,SAChB,kBAAC+D,EAAA,EAAK7C,QAAN,gBAEJ,kBAAC6C,EAAA,EAAKxB,KAAN,KACI,kBAACwB,EAAA,EAAKhE,KAAN,CAAWC,KAAK,SAChB,kBAAC+D,EAAA,EAAK7C,QAAN,iBAEJ,kBAAC6C,EAAA,EAAKxB,KAAN,KACI,kBAACwB,EAAA,EAAKhE,KAAN,CAAWC,KAAK,SAChB,kBAAC+D,EAAA,EAAK7C,QAAN,kBAIZ,kBAAChB,EAAA,EAAKI,OAAN,KACI,kBAACR,EAAA,EAAD,CAASgE,YAAU,GAAE,kBAAC/D,EAAA,EAAD,CAAMC,KAAK,SAASC,KAAK,WAC9C,kBAAC8D,EAAA,EAAD,KACI,kBAACA,EAAA,EAAKxB,KAAN,KACI,kBAACwB,EAAA,EAAKhE,KAAN,CAAWC,KAAK,aAChB,kBAAC+D,EAAA,EAAK7C,QAAN,cAEJ,kBAAC6C,EAAA,EAAKxB,KAAN,KACI,kBAACwB,EAAA,EAAKhE,KAAN,CAAWC,KAAK,aAChB,kBAAC+D,EAAA,EAAK7C,QAAN,iBAEJ,kBAAC6C,EAAA,EAAKxB,KAAN,KACI,kBAACwB,EAAA,EAAKhE,KAAN,CAAWC,KAAK,aAChB,kBAAC+D,EAAA,EAAK7C,QAAN,aAEJ,kBAAC6C,EAAA,EAAKxB,KAAN,KACI,kBAACwB,EAAA,EAAKhE,KAAN,CAAWC,KAAK,gBAChB,kBAAC+D,EAAA,EAAK7C,QAAN,aAEJ,kBAAC6C,EAAA,EAAKxB,KAAN,KACI,kBAACwB,EAAA,EAAKhE,KAAN,CAAWC,KAAK,OAChB,kBAAC+D,EAAA,EAAK7C,QAAN,mB,oCAW5B,OACI,kBAACJ,EAAA,EAAD,CACIC,QAAS,kBAAChB,EAAA,EAAD,CAAMC,KAAK,cAAcgB,MAAM,WACxC6C,KAAK,QAEL,kBAAC3D,EAAA,EAAD,CAAMC,WAAS,GACX,kBAACD,EAAA,EAAKE,IAAN,CAAUC,QAAS,GACf,kBAACH,EAAA,EAAKI,OAAN,KACI,kBAACR,EAAA,EAAD,CAASgE,YAAU,GAAE,kBAAC/D,EAAA,EAAD,CAAMC,KAAK,SAASC,KAAK,WAC9C,kBAAC8D,EAAA,EAAD,KACI,kBAACA,EAAA,EAAKxB,KAAN,KACI,kBAACwB,EAAA,EAAKhE,KAAN,CAAWC,KAAK,SAChB,kBAAC+D,EAAA,EAAK7C,QAAN,gBAEJ,kBAAC6C,EAAA,EAAKxB,KAAN,KACI,kBAACwB,EAAA,EAAKhE,KAAN,CAAWC,KAAK,SAChB,kBAAC+D,EAAA,EAAK7C,QAAN,iBAEJ,kBAAC6C,EAAA,EAAKxB,KAAN,KACI,kBAACwB,EAAA,EAAKhE,KAAN,CAAWC,KAAK,SAChB,kBAAC+D,EAAA,EAAK7C,QAAN,kBAIZ,kBAAChB,EAAA,EAAKI,OAAN,KACI,kBAACR,EAAA,EAAD,CAASgE,YAAU,GAAE,kBAAC/D,EAAA,EAAD,CAAMC,KAAK,SAASC,KAAK,WAC9C,kBAAC8D,EAAA,EAAD,KACI,kBAACA,EAAA,EAAKxB,KAAN,KACI,kBAACwB,EAAA,EAAKhE,KAAN,CAAWC,KAAK,gBAChB,kBAAC+D,EAAA,EAAK7C,QAAN,aAEJ,kBAAC6C,EAAA,EAAKxB,KAAN,KACI,kBAACwB,EAAA,EAAKhE,KAAN,CAAWC,KAAK,aAChB,kBAAC+D,EAAA,EAAK7C,QAAN,aAEJ,kBAAC6C,EAAA,EAAKxB,KAAN,KACI,kBAACwB,EAAA,EAAKhE,KAAN,CAAWC,KAAK,OAChB,kBAAC+D,EAAA,EAAK7C,QAAN,mB,wCAW5B,OACI,kBAACJ,EAAA,EAAD,CACIC,QAAS,kBAAChB,EAAA,EAAD,CAAMC,KAAK,cAAcgB,MAAM,WACxC6C,KAAK,QAEL,kBAAC3D,EAAA,EAAD,CAAMC,WAAS,GACX,kBAACD,EAAA,EAAKE,IAAN,CAAUC,QAAS,GACf,kBAACH,EAAA,EAAKI,OAAN,KACI,kBAACR,EAAA,EAAD,CAASgE,YAAU,GAAE,kBAAC/D,EAAA,EAAD,CAAMC,KAAK,SAASC,KAAK,WAC9C,kBAAC8D,EAAA,EAAD,KACI,kBAACA,EAAA,EAAKxB,KAAN,KACI,kBAACwB,EAAA,EAAKhE,KAAN,CAAWC,KAAK,SAChB,kBAAC+D,EAAA,EAAK7C,QAAN,gBAEJ,kBAAC6C,EAAA,EAAKxB,KAAN,KACI,kBAACwB,EAAA,EAAKhE,KAAN,CAAWC,KAAK,SAChB,kBAAC+D,EAAA,EAAK7C,QAAN,eAEJ,kBAAC6C,EAAA,EAAKxB,KAAN,KACI,kBAACwB,EAAA,EAAKhE,KAAN,CAAWC,KAAK,SAChB,kBAAC+D,EAAA,EAAK7C,QAAN,iBAEJ,kBAAC6C,EAAA,EAAKxB,KAAN,KACI,kBAACwB,EAAA,EAAKhE,KAAN,CAAWC,KAAK,SAChB,kBAAC+D,EAAA,EAAK7C,QAAN,kBAIZ,kBAAChB,EAAA,EAAKI,OAAN,KACI,kBAACR,EAAA,EAAD,CAASgE,YAAU,GAAE,kBAAC/D,EAAA,EAAD,CAAMC,KAAK,KAAKC,KAAK,WAC1C,kBAAC8D,EAAA,EAAD,KACI,kBAACA,EAAA,EAAKxB,KAAN,KACI,kBAACwB,EAAA,EAAKhE,KAAN,CAAWC,KAAK,UAChB,kBAAC+D,EAAA,EAAK7C,QAAN,iBAIZ,kBAAChB,EAAA,EAAKI,OAAN,KACI,kBAACR,EAAA,EAAD,CAASgE,YAAU,GAAE,kBAAC/D,EAAA,EAAD,CAAMC,KAAK,SAASC,KAAK,WAC9C,kBAAC8D,EAAA,EAAD,KACI,kBAACA,EAAA,EAAKxB,KAAN,KACI,kBAACwB,EAAA,EAAKhE,KAAN,CAAWC,KAAK,gBAChB,kBAAC+D,EAAA,EAAK7C,QAAN,aAEJ,kBAAC6C,EAAA,EAAKxB,KAAN,KACI,kBAACwB,EAAA,EAAKhE,KAAN,CAAWC,KAAK,SAChB,kBAAC+D,EAAA,EAAK7C,QAAN,WAEJ,kBAAC6C,EAAA,EAAKxB,KAAN,KACI,kBAACwB,EAAA,EAAKhE,KAAN,CAAWC,KAAK,aAChB,kBAAC+D,EAAA,EAAK7C,QAAN,aAEJ,kBAAC6C,EAAA,EAAKxB,KAAN,KACI,kBAACwB,EAAA,EAAKhE,KAAN,CAAWC,KAAK,WAChB,kBAAC+D,EAAA,EAAK7C,QAAN,wB,iDAW5B,OACI,oCACI,kBAACqB,EAAA,EAAD,KAEI,kBAACA,EAAA,EAAKU,MAAN,CAAYhD,KAAK,OACLiD,IAAI,UACJtC,MAAOmC,IAEnB,kBAACR,EAAA,EAAKrB,QAAN,KACI,kBAACqB,EAAA,EAAKY,OAAN,0CAEKtC,KAAKmD,mBAEV,kBAACzB,EAAA,EAAK0B,KAAN,KAAW,kBAACxC,EAAA,EAAD,CAAMzB,KAAK,OAAtB,0CACA,kBAACuC,EAAA,EAAKpB,YAAN,KACI,2BACI,uBAAGC,KAAK,uCAAuCC,OAAO,SACnDC,IAAI,uBADP,6BAGJ,4BACI,wBAAIV,MAAO6C,GAAa,oDAAxB,kHAIA,wBAAI7C,MAAO6C,GAAa,6EAAxB,iFAIA,wBAAI7C,MAAO6C,GAAa,kEAAxB,6IAUhB,kBAAClB,EAAA,EAAD,KAEI,kBAACA,EAAA,EAAKU,MAAN,CAAYhD,KAAK,OACLiD,IAAI,eACJtC,MAAOmC,IAEnB,kBAACR,EAAA,EAAKrB,QAAN,KACI,kBAACqB,EAAA,EAAKY,OAAN,4CAEKtC,KAAKqD,eAEV,kBAAC3B,EAAA,EAAK0B,KAAN,KAAW,kBAACxC,EAAA,EAAD,CAAMzB,KAAK,OAAtB,0CACA,kBAACuC,EAAA,EAAKpB,YAAN,KACI,2BACI,uBAAGC,KAAK,sBAAsBC,OAAO,SAASC,IAAI,uBAAlD,aAEJ,4BACI,wBAAIV,MAAO6C,GAAa,gEAAxB,iFAIA,wBAAI7C,MAAO6C,GAAa,oEAAxB,6IAIA,wBAAI7C,MAAO6C,GAAa,uDAAxB,iHAOhB,kBAAClB,EAAA,EAAD,KAEI,kBAACA,EAAA,EAAKU,MAAN,CAAYhD,KAAK,OACLiD,IAAI,YACJtC,MAAOmC,IAEnB,kBAACR,EAAA,EAAKrB,QAAN,KACI,kBAACqB,EAAA,EAAKY,OAAN,0BAEKtC,KAAKsD,iBAEV,kBAAC5B,EAAA,EAAK0B,KAAN,KAAW,kBAACxC,EAAA,EAAD,CAAMzB,KAAK,OAAtB,2CACA,kBAACuC,EAAA,EAAKpB,YAAN,KACI,2BACI,uBAAGC,KAAK,yBAAyBC,OAAO,SAASC,IAAI,uBAArD,UAEJ,4BACI,wBAAIV,MAAO6C,GAAa,gEAAxB,2KAKA,wBAAI7C,MAAO6C,GAAa,sDAAxB,kFAIA,wBAAI7C,MAAO6C,GAAa,oDAAxB,6IAQhB,kBAAClB,EAAA,EAAD,KAEI,kBAACA,EAAA,EAAKU,MAAN,CAAYhD,KAAK,OACLiD,IAAI,aACJtC,MAAOmC,IAEnB,kBAACR,EAAA,EAAKrB,QAAN,KACI,kBAACqB,EAAA,EAAKY,OAAN,4BAEKtC,KAAKuD,kBAEV,kBAAC7B,EAAA,EAAK0B,KAAN,KAAW,kBAACxC,EAAA,EAAD,CAAMzB,KAAK,OAAtB,+DACA,kBAACuC,EAAA,EAAKpB,YAAN,KACI,2BACI,uBAAGC,KAAK,0BAA0BC,OAAO,SAASC,IAAI,uBAAtD,WAEJ,4BACI,wBAAIV,MAAO6C,GAAa,oDAAxB,oHAKA,wBAAI7C,MAAO6C,GAAa,kEAAxB,iG,+BAcxB,OACI,kBAAClB,EAAA,EAAKe,MAAN,CAAYC,SAAO,GACd1C,KAAKwD,gC,GAtVe3C,aCR/BqB,EAAsB,CACxBlB,aAAc,QAGGyC,E,yMAGb,OACI,oCACI,kBAAC/B,EAAA,EAAD,KAEI,kBAACA,EAAA,EAAKU,MAAN,CAAYhD,KAAK,OACLiD,IAAI,WACJtC,MAAOmC,IAEnB,kBAACR,EAAA,EAAKrB,QAAN,KACI,kBAACqB,EAAA,EAAKY,OAAN,CAAaC,QAAQ,+EAErB,kBAACb,EAAA,EAAK0B,KAAN,KAAW,kBAACxC,EAAA,EAAD,CAAMzB,KAAK,OAAtB,uCACA,kBAACuC,EAAA,EAAKpB,YAAN,KACI,2BACI,uBAAGC,KAAK,6BAA6BC,OAAO,SAASC,IAAI,uBAAzD,gBAGJ,kBAAC+B,EAAA,EAAD,KACI,gFAKhB,kBAACd,EAAA,EAAD,KAEI,kBAACA,EAAA,EAAKU,MAAN,CAAYhD,KAAK,OACLiD,IAAI,WACJtC,MAAOmC,IAEnB,kBAACR,EAAA,EAAKrB,QAAN,KACI,kBAACqB,EAAA,EAAKY,OAAN,CAAaC,QAAQ,kBAErB,kBAACb,EAAA,EAAK0B,KAAN,KAAW,kBAACxC,EAAA,EAAD,CAAMzB,KAAK,OAAtB,sCACA,kBAACuC,EAAA,EAAKpB,YAAN,KACI,2BACI,uBAAGC,KAAK,wBAAwBC,OAAO,SAASC,IAAI,uBAApD,iBAGJ,kBAAC+B,EAAA,EAAD,KACI,0FAKhB,kBAACd,EAAA,EAAD,KAEI,kBAACA,EAAA,EAAKU,MAAN,CAAYhD,KAAK,OACLiD,IAAI,YACJtC,MAAOmC,IAEnB,kBAACR,EAAA,EAAKrB,QAAN,KACI,kBAACqB,EAAA,EAAKY,OAAN,CAAaC,QAAS,8BAEtB,kBAACb,EAAA,EAAK0B,KAAN,KAAW,kBAACxC,EAAA,EAAD,CAAMzB,KAAK,OAAtB,mCACA,kBAACuC,EAAA,EAAKpB,YAAN,KACI,2BACI,uBAAGC,KAAK,+BAA+BC,OAAO,SAASC,IAAI,uBAA3D,gC,+BAYxB,OACI,kBAACiB,EAAA,EAAKe,MAAN,CAAYC,SAAO,GACd1C,KAAK0D,sC,GAzEqB7C,aCDtB8C,E,sLAGb,MAAiC,iBAA7B3D,KAAKjB,MAAM8C,cAEP,kBAAC,EAAD,MAGgC,iBAA7B7B,KAAKjB,MAAM8C,cAEd,kBAAC,EAAD,MAGgC,cAA7B7B,KAAKjB,MAAM8C,cAEd,kBAAC,EAAD,WAFD,I,+BASP,OACI,kBAACxC,EAAA,EAAD,CAAMC,WAAS,GAEX,kBAACD,EAAA,EAAKE,IAAN,CAAUC,QAAS,GACf,kBAACH,EAAA,EAAKI,OAAN,CAAamE,MAAO,IAEpB,kBAACvE,EAAA,EAAKI,OAAN,CAAamE,MAAO,GACf5D,KAAK6D,eAEV,kBAACxE,EAAA,EAAKI,OAAN,CAAamE,MAAO,U,GA/BA/C,aCDnBiD,E,YACjB,WAAY/E,GAAQ,IAAD,8BACf,4CAAMA,KACDgF,UAAY,EAAKA,UAAUC,KAAf,gBACjB,EAAKhF,MAAQ,CACTiF,kBAAmB,gBAJR,E,uEAQT9E,GACNa,KAAKkE,SAAS,CAACD,kBAAmB9E,M,+BAIlC,OACI,yBAAKgF,IAAKnE,KAAKoE,YACX,kBAAC,EAAD,CACIjF,KAAK,iBACLkF,YAAa,uCAEjB,kBAAC,EAAD,CAAgBhD,YAAa,CAAC,eAAgB,eAAgB,aAC9CQ,cAAe7B,KAAKhB,MAAMiF,kBAC1B7C,aAAcpB,KAAK+D,YAEnC,kBAAC,EAAD,CAAYlC,cAAe7B,KAAKhB,MAAMiF,yB,GAxBhBpD,a,OCKvByD,MANf,WACE,OACI,kBAAC,EAAD,OCKcC,QACW,cAA7BC,OAAOC,SAASC,UAEe,UAA7BF,OAAOC,SAASC,UAEhBF,OAAOC,SAASC,SAASC,MACvB,2DCZNC,IAASC,OAAO,kBAAC,EAAD,MAASC,SAASC,eAAe,SD6H3C,kBAAmBC,WACrBA,UAAUC,cAAcC,MACrBC,MAAK,SAAAC,GACJA,EAAaC,gBAEdC,OAAM,SAAAC,GACLC,QAAQD,MAAMA,EAAME,c","file":"static/js/main.87c1f23a.chunk.js","sourcesContent":["import React, {Component} from 'react';\nimport {Grid, Card, Icon, Popup, Divider, Flag} from 'semantic-ui-react'\nimport {Link, BrowserRouter as Router} from \"react-router-dom\";\n\nconst headerCenteringStyle = {\n marginLeft: 'auto',\n marginRight: 'auto',\n};\n\nexport default class ResumeHeader extends Component {\n constructor(props) {\n super(props);\n this.state = props;\n }\n\n getHeaderIconInfo() {\n return (\n <>\n

Hover over these to see which tech was used. For example

\n \n I mostly work in...\n \n

\n Python\n

\n

\n JS\n

\n

\n SQL\n

\n

\n bash\n

\n

\n Linux\n

\n \n But I also have experience in...\n \n

\n Devops\n

\n

\n iOS\n

\n

\n Android\n

\n

\n React\n

\n

\n Vuejs\n

\n \n )\n }\n\n render() {\n return (\n \n \n \n \n \n \n

{this.state.name} }\n >\n {this.getHeaderIconInfo()}\n \n\n

\n \n \n

\n \n ulises@ulisesjimenez.com\n \n  • \n \n \n github profile\n \n

\n

\n Download the paper version \n \n here!\n \n \n

\n

\n US Citizen\n

\n
\n
\n
\n
\n \n \n
\n
\n );\n }\n}\n","import React, {Component} from 'react';\nimport {Menu, Container} from 'semantic-ui-react'\n\nconst bottomBodyMenuMarginStyle = {\n marginTop: '20px',\n marginBottom: '20px'\n};\n\n\nexport default class ResumeBodyMenu extends Component {\n\n handleItemClick = (e, {name}) => this.props.onMenuChange(name);\n\n getMenuItems() {\n return this.props.menuOptions.map((resumeSection, index) =>\n );\n }\n\n render() {\n return (\n \n \n {this.getMenuItems()}\n \n \n );\n }\n}\n","import React, {Component} from 'react';\nimport {Item, Segment, Icon} from 'semantic-ui-react'\n\nconst imageCenteringStyle = {\n marginBottom: 'auto'\n};\n\nexport default class ProjectItem extends Component {\n\n getItems() {\n return (\n <>\n \n \n \n \n \n

\n \n Android App\n

\n

\n \n iOS App\n

\n \n Fun little app that can serve as a baby monitor. Runs on iOS, Android and in the\n browser (experimental). Uses async python and WebRTC to link video and audio across\n different platforms. Has noise detection alerts and background audio to let you browse\n the web or whatever while still being alerted to noise.\n \n
\n
\n \n \n )\n }\n\n render() {\n return (\n \n {this.getItems()}\n \n );\n }\n}\n","import React, {Component} from 'react';\nimport {Item, Flag, Icon, Popup, Divider, List, Grid} from 'semantic-ui-react'\n\nconst imageCenteringStyle = {\n marginBottom: 'auto'\n};\n\nconst listSpacing = {\n paddingBottom: '2em',\n fontSize: 16\n};\n\nexport default class JobItem extends Component {\n\n getGeophyPopup() {\n return (\n }\n wide='very'\n >\n \n \n \n {}\n \n \n \n Python\n \n \n \n R\n \n \n \n \n \n \n )\n }\n\n\n getKAYAKPopup() {\n return (\n }\n wide='very'\n >\n \n \n \n {}\n \n \n \n Django\n \n \n \n Airflow\n \n \n \n Pandas\n \n \n \n \n {}\n \n \n \n Hive\n \n \n \n Vertica\n \n \n \n SQL\n \n \n \n git\n \n \n \n JS\n \n \n \n \n \n \n )\n }\n\n getNu3Popup() {\n return (\n }\n wide='very'\n >\n \n \n \n {}\n \n \n \n Django\n \n \n \n Airflow\n \n \n \n Pandas\n \n \n \n \n {}\n \n \n \n git\n \n \n \n SQL\n \n \n \n JS\n \n \n \n \n \n \n )\n }\n\n getBBGTechPopup() {\n return (\n }\n wide='very'\n >\n \n \n \n {}\n \n \n \n Django\n \n \n \n Flask\n \n \n \n Airflow\n \n \n \n Pandas\n \n \n \n \n {}\n \n \n \n Vuejs\n \n \n \n \n {}\n \n \n \n git\n \n \n \n R\n \n \n \n SQL\n \n \n \n Ansible\n \n \n \n \n \n \n )\n }\n\n createJobIndividualItems() {\n return (\n <>\n \n \n \n \n Lead Data & Analytics Engineer \n {this.getBBGTechPopup()}\n \n Berlin • November 2018 - Present\n \n

\n Berlin Brands Group GmbH\n

\n
    \n
  • Data Engineering – Established new data\n science team to create and\n implement computing, reporting, and ETL infrastructure\n
  • \n
  • Customer Retention and Lifecycle Modeling -\n Implemented\n infrastructure to monitor purchase behavior and predict future\n
  • \n
  • Price Optimization Application - Created\n application to monitor\n price discrepancies and model price elasticity among a 5000+ product portfolio\n across\n 80+ web shops\n
  • \n
\n
\n
\n \n \n \n \n \n Data Science and Automation Lead \n {this.getNu3Popup()}\n \n Berlin • May 2016 - October 2018\n \n

\n Nu3 GmbH\n

\n
    \n
  • Automated Bidding Algorithms – Created\n bidding algorithms and\n infrastucture for customer acquisition\n
  • \n
  • Customer Lifetime Value Modeling –\n Implemented regression and classification models to identify high lifetime value\n customers and customers at high risk of churning\n
  • \n
  • Analysis Automation – Implemented and\n maintained dashboards and ETLs to keep continuous track of key marketing measures\n
  • \n
\n
\n
\n \n \n \n \n \n Data Scientist \n {this.getKAYAKPopup()}\n \n Berlin • August 2015 - April 2016\n \n

\n KAYAK\n

\n
    \n
  • Automated Bidding Algorithms – Worked on ETL\n pipelines, testing,\n anomaly detection, and algorithm development in order to automatically manage\n AdWords accounts with millions in monthly spend\n
  • \n
  • Dashboard Creation – Created dashboards to\n keep track of results of\n AB testing on the site.\n
  • \n
  • Data Engineering – Created many end to end\n data pipelines so\n stakeholders could see daily or hourly updates on KPIs that impacted their projects\n
  • \n
\n
\n
\n \n \n \n \n \n Analytics Intern \n {this.getGeophyPopup()}\n \n The Hague, The Netherlands • January 2015 - July 2015\n \n

\n GeoPhy\n

\n
    \n
  • Machine Learning – Implemented regression\n and classification\n models\n to valuate commercial real estate assets and portfolios\n
  • \n
  • Web Scraping and Data Cleaning – Wrote data\n mining and\n cleaning\n programs to collect commercial real estate data\n
  • \n
\n
\n
\n \n \n )\n }\n\n render() {\n return (\n \n {this.createJobIndividualItems()}\n \n );\n }\n}\n","import React, {Component} from 'react';\nimport {Item, Segment, Flag} from 'semantic-ui-react'\n\n\nconst imageCenteringStyle = {\n marginBottom: 'auto'\n};\n\nexport default class EducationItem extends Component {\n\n createEducationIndividualItems() {\n return (\n <>\n \n \n \n \n Berlin, Germany • 2012 - 2014\n \n

\n HWR\n Website\n

\n \n Master of Science: International Finance\n \n
\n
\n \n \n \n \n \n Santa Cruz, CA • 2006 - 2011\n \n

\n UCSC\n Website\n

\n \n Bachelor of Arts: Global Economics and Mathematics\n \n
\n
\n \n \n \n \n \n Oakland, CA • 2002 - 2006\n \n

\n Bishop\n O'Dowd Website\n

\n
\n
\n \n \n )\n }\n\n\n render() {\n return (\n \n {this.createEducationIndividualItems()}\n \n );\n }\n}\n","import React, {Component} from 'react';\nimport {Grid} from 'semantic-ui-react'\nimport ProjectItem from \"./WebProjectItems\";\nimport JobItem from \"./WorkItems\";\nimport EducationItem from \"./EducationItems\";\n\n\nexport default class ResumeBody extends Component {\n\n getBodyText() {\n if (this.props.activeSection === 'Web Projects') {\n return (\n \n )\n } else if (this.props.activeSection === 'Professional') {\n return (\n \n )\n } else if (this.props.activeSection === 'Education') {\n return (\n \n )\n }\n }\n\n render() {\n return (\n \n \n \n \n \n {this.getBodyText()}\n \n \n \n \n \n );\n }\n}\n\n","import React, {Component} from 'react';\nimport ResumeHeader from \"./Header\";\nimport ResumeBodyMenu from \"./BodyMenu\";\nimport ResumeBody from \"./Body\";\n\n\nexport default class BasePage extends Component {\n constructor(props) {\n super(props);\n this.itemClick = this.itemClick.bind(this);\n this.state = {\n bodyActiveSection: 'Professional'\n };\n }\n\n itemClick(name) {\n this.setState({bodyActiveSection: name});\n }\n\n render() {\n return (\n
\n \n \n \n
\n );\n }\n}\n","import React from 'react';\nimport './App.css';\nimport BasePage from \"./components/basePage\";\nimport 'semantic-ui-css/semantic.min.css'\n\nfunction App() {\n return (\n \n );\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' }\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\n\nReactDOM.render(, document.getElementById('root'));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""}