LineageOS
===========

Maintainers (LineageOS 14.1):
-----------------------------
* __Acer A700:__ pawitp
* __Alcatel Idol 3:__ c457
* __Amazon Kindle Fire 1st Edition:__ Hashcode, FuZZ__
* __Amazon Kindle Fire 2nd Edition:__ Hashcode, FuZZ__
* __ARK Benefit A3 (peach):__ lolmaxlik
* __Asus EeePad Transformer (TF101):__ Bumble-Bee, EnJens
* __Asus EeePad Transformer Prime (TF201):__ Bumble-Bee, EnJens
* __Asus EeePad Transformer Pad TF300T:__  chrmhoffmann
* __Asus EeePad Transformer Pad Infinity TF700T:__ dasunsrule32
* __Asus EeePad Transformer Pad TF701T:__ pershoot
* __Asus Zenfone 2 ZE550ML (Z008):__ crpalmer, jrior001
* __Asus Zenfone 2 ZE551ML (Z00A):__ crpalmer, jrior001
* __Asus Zenfone 2 ZE550KL (Z00L):__ LuK1337, luca020400
* __Asus Zenfone 2 ZE551KL/ZD551KL (Z00T):__ LuK1337, luca020400
* __Asus ZenPad 8.0 Z380KL:__ vm03
* __B&N NookColor (encore):__ eyeballer, fattire, keyodi, krylon360, sluo (NookieDevs)
* __B&N Nook Tablet (acclaim):__  chrmhoffmann
* __BQ Aquaris E5 4G/E5 S (vegetalte):__  cmorlok, eloimuns, Kra1o5, stucki, brinlyau (aquaris-dev)
* __BQ Aquaris M5 (piccolo):__  cmorlok, eloimuns, Kra1o5, stucki, brinlyau (aquaris-dev)
* __BQ Aquaris X5 (paella):__  cmorlok, eloimuns, Kra1o5, stucki, brinlyau (aquaris-dev), marado
* __BQ Aquaris X5 Plus (gohan):__  cmorlok, eloimuns, Kra1o5, stucki, brinlyau (aquaris-dev)
* __Google Android One:__ varunchitre15
* __Google Galaxy Nexus:__ Ziyan, musical_chairs
* __Google Nexus S:__ burnsra, KalimochoAz, klusark
* __Google Nexus 4:__ ciwrl
* __Google Nexus 5:__ ciwrl
* __Google Nexus 5X:__ ciwrl, jakew02
* __Google Nexus 6:__ dhacker29
* __Google Nexus 6P:__ ciwrl, dhacker29, Sam Mortimer
* __Google Nexus 7:__ burnsra, fattire, Thömy, nemith, JoeyRizzoli (GSM)
* __Google Nexus 7 (2013):__ ciwrl, nardholio, zwliew
* __Google Nexus 9:__ simonsickle, ciwrl
* __Google Nexus 10:__ Tortel, ciwrl
* __Google Nexus Player:__ dhacker29, bmc08gt
* __HTC Desire 601(zara/zaracl):__ uberlaggydarwin, PatrikKT
* __HTC Desire 816:__ Grarak, v_superuser
* __HTC Droid DNA:__ crpalmer, invisiblek
* __HTC Droid Incredible 4G LTE:__ intervigil, mdmower
* __HTC Evo 4G LTE:__ kushdeck, toastcfh
* __HTC One (GSM):__ h8rift
* __HTC One M8:__ deck, h8rift, invisblek, toastcfh, u-ra, uberlaggydarwin
* __HTC One M8 Dual SIM (m8dug):__ bgcngm
* __HTC One M9 (hima):__ cyanogen, Rashed97, varunchitre15
* __HTC One Max (T6):__ Flyhalf205
* __HTC One (Sprint):__ kushdeck, toastcfh
* __HTC One (Verizon):__ flyhalf205, mdmower
* __HTC One S:__ intervigil, xkonni
* __HTC One X:__ gorbi16, mdeejay, tbalden, Thömy
* __HTC One X+:__ Lloir, tombriden
* __HTC One XL:__ h8rift, intervigil, jrior001
* __Huawei Ascend Mate 2:__ mdmower, u-ra
* __Huawei Honor 4/4X (cherry):__ dianlujitao, surdupetru, desalesouche
* __LeEco Le 2 (s2):__ codeworkx
* __LG G Pad 8.3 (v500):__ fefifofum
* __LG G2 (AT&T) (D800):__ arcee, Rashed97, Shelnutt2
* __LG G2 (T-Mobile) (D801):__ arcee, Rashed97, Shelnutt2
* __LG G2 (International) (D802):__ arcee, Rashed97, Shelnutt2
* __LG G2 (Canada) (D803):__ arcee, Rashed97, Shelnutt2
* __LG G2 (Sprint) (LS980):__ arcee, Rashed97, Shelnutt2
* __LG G2 (Verizon) (VS980):__ arcee, Rashed97, Shelnutt2
* __LG G2 Mini:__ Quarx2k, vm03, NikitaProAndroid
* __LG G3 (AT&T) (D850):__
* __LG G3 (T-Mobile) (D851):__ bryan2894
* __LG G3 (Canada) (D852):__ cuzz1369
* __LG G3 (International) (D855):__ finnq
* __LG G3 (Korea) (F400):__ TheNoFace
* __LG G3 (Sprint) (LS990):__ Kasual
* __LG G3 (Verizon) (VS985):__ invisiblek
* __LG G3 Beat (D722):__ Quarx2k, vm03, NikitaProAndroid
* __LG G3 s (D724):__ Quarx2k, vm03, NikitaProAndroid
* __LG G4 (T-Mobile) (H811):__ codeworkx, genesixxbf3
* __LG G4 (International) (H815):__ codeworkx, genesixxbf3
* __LG Optimus L70:__ Quarx2k, vm03, NikitaProAndroid
* __LG Optimus L90:__ Quarx2k, vm03, NikitaProAndroid
* __LG Optimus LTE (P930) / LG Nitro HD {P935):__ arcee
* __LG Optimus LTE (SK Telecom) (SU640):__ arcee
* __Moto E 2014 (xt1021,xt1022,xt1023/condor):__
* __Moto G 2014 (xt1063,xt1064,xt1068,xt1069/titan):__ LuK1337, luca020400
* __Moto G 4G (xt1039,xt1040,xt1042,xt1045/peregrine):__ somcom3x, intervigil
* __Moto G 4G 2014 (xt1072,xt1077,xt1078,xt1079/thea):__ LuK1337, luca020400
* __Moto G4 (xt1621,xt1622,xt1625,xt1626/athene):__ Vachounet, Shr3ps, sileshn, ashwin007, rahulsnair
* __Moto G4 Plus (xt1640,xt1641,xt1642,xt1643,xt1644/athene_f):__ Vachounet, Shr3ps, sileshn, ashwin007, rahulsnair
* __Moto X (xt1053,xt1055,xt1056,xt1058,xt1060/ghost):__ Hashcode, Skrilax_CZ
* __Moto X 2014 (victara):__ crpalmer, invisiblek
* __Motorola Moto MAXX(quark) :__ Skrilax_CZ
* __Motorola Atrix HD (MB886/qinara):__ epinter, Hashcode, Skrilax_CZ, nadlabak
* __Motorola Droid 3 (solana):__ Hashcode, stargo
* __Motorola Droid 4 (maserati):__ Hashcode, stargo
* __Motorola Droid Bionic (targa):__ Hashcode, stargo
* __Motorola Droid Maxx (obake-maxx):__ Skrilax_CZ
* __Motorola Droid RAZR/RAZR Maxx (spyder) (CDMA):__ Hashcode, stargo
* __Motorola Droid RAZR HD/HD Maxx (xt926/vanquish) (CDMA):__ Hashcode,  epinter, Skrilax_CZ, nadlabak
* __Motorola Droid RAZR M (xt907/scorpion_mini):__ Hashcode, epinter, Skrilax_CZ, nadlabak
* __Motorola Photon Q (xt897/asanti) (GSM):__ Skrilax_CZ, nadlabak, epinter, Hashcode
* __Motorola Photon Q (xt897c/asanti_c) (CDMA):__ nadlabak, Skrilax_CZ, epinter, Hashcode
* __Motorola RAZR/RAZR Maxx (umts_spyder) (GSM):__ Hashcode, stargo
* __Motorola RAZR HD(xt925/vanquish) (GSM):__ epinter, Hashcode, Skrilax_CZ, nadlabak
* __Motorola Xoom (WiFi):__ bazar, SteadyHawkin, TDR (Team Rogue)
* __Motorola Xoom 3G (UMTS):__ bazar, SteadyHawkin, TDR (Team Rogue)
* __Motorola Xoom 4G LTE (Verizon):__ bazar, SteadyHawkin, TDR (Team Rogue)
* __OnePlus One:__ cyanogen, intervigil, inwotep, arcee
* __OnePlus Two:__ ciwrl, grarak, raymanfx
* __OnePlus X:__ ashwin007, MasterAwesome
* __Oppo Find 5:__ intervigil, nebkat, raymanfx
* __Oppo Find 7:__ intervigil, tdm, inwotep, mikeioannina
* __Oppo N1:__ raymanfx
* __Oppo N3:__ jrior001
* __Oppo R7:__ maniac103, mikeioannina, Rashed97
* __Oppo R7 Plus:__ maniac103, mikeioannina, Rashed97
* __Samsung Captivate (SGH-I896 / SGH-I897):__ pawitp
* __Samsung Epic 4G (SPH-D700):__ bbelos
* __Samsung Exhilarate (SGH-I577):__ mikeyman77, carvsdriver
* __Samsung Fascinate / Mesmerize (SCH-I500):__ jt1134, sbrissen
* __Samsung Galaxy Note (GT-N7000):__ Espenfjo
* __Samsung Galaxy Note II (GT-N7100):__ nebkat
* __Samsung Galaxy Note II LTE (AT&T) (SGH-I317):__ cyanogen, rogersb11
* __Samsung Galaxy Note II LTE (Verizon) (SCH-I605):__ sbrissen, rogersb11
* __Samsung Galaxy Note II LTE (Sprint) (SPH-L900):__ sbrissen, rogersb11
* __Samsung Galaxy Note II LTE (USCC) (SCH-R950):__ sbrissen, rogersb11
* __Samsung Galaxy Note III (hlte):__ cyanogen, noobnl, slayher
* __Samsung Galaxy Note IV Exynos (trelte):__ raymanfx
* __Samsung Galaxy Note IV Exynos (trhplte):__ raymanfx
* __Samsung Galaxy Note 8.0 3G (GT-N5100):__ sbrissen
* __Samsung Galaxy Note 8.0 WiFi (GT-N5110):__ sbrissen
* __Samsung Galaxy Note 10.1 (GT-N80XX):__ Espenfjo
* __Samsung Galaxy Note 10.1 LTE (Verizon) (SCH-I925):__ sbrissen
* __Samsung Galaxy Premier (GT-I9260):__ ljzyal
* __Samsung Galaxy R (GT-I9103):__ Adam77Root, Epsylon3
* __Samsung Galaxy S Blaze 4G (SGH-T769):__ UberPinguin
* __Samsung Galaxy S (GT-I9000):__ pawitp
* __Samsung Galaxy S (GT-I9000B):__ helvio88
* __Samsung Galaxy S II (GT-I9100):__ Caio Schnepper
* __Samsung Galaxy S II (intl) (GT-I9100G):__ Jiangyi, Ryuinferno
* __Samsung Galaxy S II (T-Mobile) (SGH-T989):__ mikeyman77
* __Samsung Galaxy S II (AT&T) (SGH-I727):__ topprospect
* __Samsung Galaxy S III (AT&T) (SGH-I747):__ nardholio
* __Samsung Galaxy S III (intl) (GT-I9300):__ forkbomb
* __Samsung Galaxy S III (Sprint) (SPH-L710):__ noobnl
* __Samsung Galaxy S III (Verizon) (SCH-I535):__ invisiblek
* __Samsung Galaxy S III LTE (GT-I9305):__ mcampbellsmith
* __Samsung Galaxy S IV 3G (GT-I9500):__ intervigil, Alberto96
* __Samsung Galaxy S IV (AT&T) (SGH-I337):__ FarmGeek4Life
* __Samsung Galaxy S IV (Sprint) (SPH-L720):__ noobnl
* __Samsung Galaxy S IV (T-Mobile) (SGH-M919):__ dcd
* __Samsung Galaxy S IV (Verizon) (SCH-I545):__ invisiblek
* __Samsung Galaxy S IV LTE (GT-I9505):__ AntaresOne, invisiblek, dcd, zwliew
* __Samsung Galaxy S IV LTE-A (GT-I9506):__ solk2
* __Samsung Galaxy S IV Mini 3G (GT-I9190):__ arco
* __Samsung Galaxy S IV Mini LTE (GT-I9195):__ arco
* __Samsung Galaxy S V (AU) (SCL23):__ scoty755
* __Samsung Galaxy S V (Vodafone) (SM-G900I):__ Regi24
* __Samsung Galaxy S V LTE (SM-G900F):__ haggertk, OzzysCmAcc
* __Samsung Galaxy Tab 7" (GSM):__ cdesai, humberos
* __Samsung Galaxy Tab 7" (CDMA):__ jt1134
* __Samsung Galaxy Tab 2 7" (GT-P31xx):__ codyf86
* __Samsung Galaxy Tab 2 10.1" (GT-P51xx):__ codyf86
* __Samsung Galaxy Tab Pro 8.4" (SM-T320):__ crpalmer
* __Samsung Galaxy Tab S2 9.7" (SM-T810):__ raymanfx, T_I
* __Samsung Galaxy Tab S2 9.7 (LTE)" (SM-T815):__ raymanfx
* __Samsung Vibrant (SGH-T959):__ FaultException
* __Sony Xperia E3  (flamingo):__ FreeXperia Team
* __Sony Xperia L (taoshan):__ olivieer, FreeXperia Team
* __Sony Xperia M (nicki):__ RonG, FreeXperia Team
* __Sony Xperia M2 (eagle):__ FreeXperia Team
* __Sony Xperia SP (huashan):__ AdrianDC
* __Sony Xperia T (mint):__ AdrianDC, FreeXperia Team
* __Sony Xperia T2 Ultra  (tianchi):__ FreeXperia Team
* __Sony Xperia T3  (seagull):__ FreeXperia Team
* __Sony Xperia TX (hayabusa):__ AdrianDC, FreeXperia Team
* __Sony Xperia V (tsubasa):__ AdrianDC, FreeXperia Team
* __Sony Xperia Z (yuga):__ FreeXperia Team, Turl, olivieer
* __Sony Xperia ZL (odin):__  FreeXperia Team
* __Sony Xperia ZR (dogo):__  FreeXperia Team
* __Sony Xperia Tablet Z LTE (pollux):__ FreeXperia Team, snc
* __Sony Xperia Tablet Z WiFi (pollux_windy):__ FreeXperia Team, snc
* __Sony Xperia Tablet Z2 LTE (castor):__ FreeXperia Team
* __Sony Xperia Tablet Z2 WiFi (castor_windy):__ FreeXperia Team
* __Sony Xperia Z3 Tablet Compact LTE (scorpion):__ FreeXperia Team
* __Sony Xperia Z Ultra (togari):__ FreeXperia Team
* __Sony Xperia Z1 (honami):__ FreeXperia Team
* __Sony Xperia Z1 compact (amami):__ FreeXperia Team, intervigil, championswimmer
* __Sony Xperia Z2 (sirius):__  FreeXperia Team
* __Sony Xperia Z3 (z3):__  FreeXperia Team
* __Sony Xperia Z3 Compact (z3c):__ FreeXperia Team
* __Sony Z Ultra GPE (togari_gpe):__ FreeXperia Team
* __Xiaomi Mi2(s) (aries):__ Michael Zimmermann
* __Xiaomi Mi3/4 (cancro):__ JoeyRizzoli
* __Xiaomi Mi5 (gemini):__ bgcngm, defer, h2o64
* __Xiaomi Redmi 1S (armani):__ fefifofum
* __Xiaomi Redmi 3/Prime (ido):__ Anik1199
* __Xiaomi Redmi Note 3 (kenzo):__ TheStrix
* __ZTE Axon 7 (axon7):__ bmc08gt, c457, tdm
* __ZTE Nubia Z9 Max (nx510j):__ dianlujitao

FreeXperia Team:
-------------------
Team: Jerpelea, Bin4ry, Kali-, codeworkx, Bumble-Bee, cdesai, AdFad666, tilal6991, kholk

General developers:
-------------------
* __UI Team:__ blunden, prash
* __UX Team:__ blunden, ciwrl, daneshm, DvTonder, jackmu95, maniac103, Kaik541
* __Other:__ jruesga

Translations Managers:
----------------------
BadDaemon, ciwrl, mikeioannina, forkbomb, linuxx

Translations Proofreaders:
--------------------------
* __Bulgarian:__ Hristo Dipchikov (hristodipchikov)
* __Catalan:__ Arnau
* __Chinese Simplified:__ YFdyh000, 陈少举 (chenshaoju), Yun Liu (liuyun97)
* __Chinese Traditional:__ 阿捷 aJay (boxajay)
* __Czech:__ Ondrej Zima (Keltek)
* __Danish:__ Jacob_DK
* __Dutch:__ Eddy Witkamp (eddywitkamp), Peter Buijsman (Dawnes)
* __English, Australia:__ Simon Shields (forkbomb)
* __Finnish:__ Niko Koivu (niko0o)
* __French:__ Adrian DC (RadianDC)
* __Galician:__ mandruis (manuiglesias96)
* __German:__ Michael W (baddaemon87), Danny Baumann (maniac103), Kim Le (elektroschmock78)
* __Greek:__ Michael Bestas (mikeioannina)
* __Hebrew:__ Nir Bruderman (nbruderman)
* __Hungarian:__ Tamás Tóth (tothtamassyman)
* __Kashubian:__ Krzysztof Mesek (mesiu84)
* __Italian:__ Joey Rizzoli (linuxx)
* __Luxembourgish:__ Michel Weimerskirch (michel_weimerskirch), Edson Souza Morais (soued031)
* __Norwegian Bokmal:__ Vegard Fladby (Allram), Syver Stensholt (sssandum)
* __Pirate English:__ Paul Keith (javelinanddart)
* __Polish:__ Mateusz (godlesplay)
* __Portuguese:__ Sergio Borges (sergioborges99)
* __Romanian:__ Pop Alexandru Radu (minealex2244)
* __Serbian (Cyrillic):__ Драган (WD40)
* __Slovak:__ Róbert Barát (rbarat)
* __Ukrainian:__ Aleksander Belilovets (Aleksander_Belilovets)

Graphics and Assets:
--------------------
* __Wallpapers:__ Matthew Hanley, Henry Mason
* __Icons:__ Bjorn Lunden, Henry Mason
* __Bootanimation:__ Dima Skvarskyi

Former Contributors:
--------------------
* __Devices:__ Entropy512, xplodwild
* __Features:__ mad-murdock, wysie, Ander Webbs, ChainsDD, xplodwild
