yashsingh1/xdaforums huggingface dataset:
[Samsung Galaxy Nexus] bsmitty83:
Full_Auto.....

A Lollipop/Marshmallow Kernel for the surviving Galaxy Nexus'

Hello Again , Here's a kernel I put together for myself to run Android 5.0/6.0 , and for anyone else who wishes to try

I started with the last stock Google jellybean source code , added the OmapZoom updates from @Ziyan and @MWisBest , then started adding back some things from my other kernels .

The Usual

Linux 3.0.101

DDK 1.9

Overclock/Underclock CPU and GPU

Adjustable Voltages

SmartReflex

Zram

Fsync

Multiple Governors , IoSchedulers , TCP congestion controllers

Color Control

Temperature And Throttle Control

and so on

Many thanks to All of the Omap4 guys , all the Nexus users , and all of the developers who's commits I've used .

DOWNLOADS

**Check the DevDB downloads page for R1**

**NOTE the FML-boot version is a full boot image , for the "others" kernel it is in Anykernel format . Please be aware of this **

As Most are aware of my last thread , I'm ok with Ot or Whatever , just mind the XDA rules and be cool with everyone

Enjoy , There's always more to come

XDA:DevDB Information

Kernel-Full_Auto , Kernel for the Samsung Galaxy Nexus

Contributors

bsmitty83

Source Code: https://github.com/bsmitty83/Kernel_Tuna_AOSP

Kernel Special Features:

Version Information

Status: Stable

Current Stable Version: all

Stable Release Date: 2015-01-05

Created 2015-01-05

Last Updated 2016-03-02
[Samsung Galaxy Nexus] lollipop:
f2fs?
[Samsung Galaxy Nexus] cujo6801:
Thanks...

Now this is something I can get behind.... :D

Sent from the "DOG" pound
[Samsung Galaxy Nexus] bsmitty83:
For FML yes out of the box , for non FML , the ramdisk needs to support it but kernel side its good to go
[Samsung Galaxy Nexus] miseusegau:
Download link ? Thanks...☺
[Samsung Galaxy Nexus] bsmitty83:
http://xdaforums.com/devdb/project/?id=7544#downloads
[Samsung Galaxy Nexus] sergialess:
Nice! so... from the drivers side, is there something left to do or fix?. It would be cool to have a plan and a roadmap for keeping track on this project. What are the following steps?. Thanks for your effort and dedication, mate.

Happy Epiphany and magic night.
[Samsung Galaxy Nexus] christianpeso:
Is this different than the last beta 3 you posted in the other thread?
[Samsung Galaxy Nexus] bsmitty83:
Yes
[Samsung Galaxy Nexus] Syakir Imran:
Hmm will try with FML ... :) Thumbups OP
[Samsung Galaxy Nexus] CoDe LaZaRuS:
Wheres the link to your latest fml kernel in zipped format
[Samsung Galaxy Nexus] bsmitty83:
There's only 12 posts and my op is super short. I have confidence you can find it .........
[Samsung Galaxy Nexus] CoDe LaZaRuS:
http://xdaforums.com/devdb/project/?id=7544#downloads

Forgive me for my ignorance but there are 2 kernels 1 is a boot image for fml and the other one is for non fml roms

I couldn't find a zipped version for fml
[Samsung Galaxy Nexus] bsmitty83:
The boot image is in flashable form as always
[Samsung Galaxy Nexus] davinaizer:
Using "FML-AOSP-5.0-20150104v3-maguro" with R1 Kernel (using F2FS for Cache and Data partition).

I can say: Thanks God for you guys (MW, bsmitty)!

New life to my Gnex. Almost no lags. Incredibly fast.
[Samsung Galaxy Nexus] Tromzy:
Thanks. Does anyone know if CM12 ramdisk supports F2FS ? (I guess not)
[Samsung Galaxy Nexus] _yen_:
No, you have to edit ramdisk to modify accordingly fstab.tuna, easily done using Android Image Kitchen by osm0sis
[Samsung Galaxy Nexus] davinaizer:
[MENTION=5106132]CoDe LaZaRuS[/MENTION]

To flash a img file, you can:

1. Download FLASHiFY (needs root).

https://play.google.com/store/apps/details?id=com.cgollner.flashify&hl=en

2. Use Nexus Toolkit by WugFresh or any other toolkit you like

http://xdaforums.com/showpost.php?p=39613926

3. Or download Android SDK and use "fastboot flash boot boot.img"

4. Or ...

(insert your method here)

Hope it helps.
[Samsung Galaxy Nexus] christianpeso:
It is not in a BOOT image or .img format. Never was. It has always just been a regular zip file you flash in recovery. Maybe codelazarous misread the "boot" part of the title. No need for any of what you wrote at the moment.
[Samsung Galaxy Nexus] Nephilim:
This is a known bug for everyone.
[Samsung Galaxy Nexus] cujo6801:
Thanks bro just literally made me laugh out loud.... :D

Sent from the "DOG" pound
[Samsung Galaxy Nexus] osm0sis:
Disabling CAB on boot via init.d still fixes it. :good:
[Samsung Galaxy Nexus] Nephilim:
I use CAB though. ;)
[Samsung Galaxy Nexus] osm0sis:
Then thems the breaks. ;)

The bug is actually when it gets switched either way, on or off, from its default after the lockscreen is shown.
[Samsung Galaxy Nexus] massoudsh:
Me too, if smitty set the cap default on this problem to be solved.
[Samsung Galaxy Nexus] ncandy:
Do you enable Frequency Lock?
[Samsung Galaxy Nexus] Nephilim:
No big deal to me, I'm used to it. :)

Frequency lock is not necessary on any of these kernels for Lollipop, it was only needed on a few early KitKat builds because of the max CPU frequency not sticking but that was fixed a very very long time ago.
[Samsung Galaxy Nexus] bennyp123:
Hate to be that guy, but how do I apply kernel settings e.g. Nephilim's settings? Kernel Tweaker app?
[Samsung Galaxy Nexus] revanmj:
Trickster MOD.
[Samsung Galaxy Nexus] RW-1:
Awesome work Smitty!

Ok, my dumb question, so going from R1 ro R4.5 on latest FML, do I look for this PVR module first and remove thru root explorer before powering back to recovery to flash? Or since I'm on FML, just flash away? (Wasn't sure if related to all rom's, FML and CM only, or just CM ....)
[Samsung Galaxy Nexus] bsmitty83:
FML flash away , there is no module to remove only cm and others
[Samsung Galaxy Nexus] RW-1:
Cool, thanks!

Flashed and will eval, good stuff!
[Samsung Galaxy Nexus] smiskkissen:
Anyone have an updated init.d script for Niphilim's latest settings? Thanks!
[Samsung Galaxy Nexus] RW-1:
Man, am I having a noob weekend here or what! (Those who've known me know I will always share a stray noob moment, because it can happen to any of us at any time, no one is immune hehehe)

I flashed R4.5, that should tell you right off what I did on FML ... Then wondered why I had no audio at all.

A reflash of 4.0 cured that.

No more flashing when coming off a migraine at 3AM to the mid morning ...

So far so good on Neph's settings, though at times I seem to hang, not sure why yet.
[Samsung Galaxy Nexus] bennyp123:
I think I missed something. I installed Trickster MOD and applied the settings in this post under "DirtyV/SmittyV" http://xdaforums.com/galaxy-nexus/g...l-settings-t2401653/post44514476#post44514476

Kept getting random reboots, slowdowns, other nastiness :(
[Samsung Galaxy Nexus] RW-1:
Benny,

Those are Neph's settings but for a 4.4 kernel version.

Try these: (for FML)

westwood

row

General I/0 Tunables

add_random: 0

iostats: 0

nomerges: 0

rotational: 0

rq_affinity: 1

I/O Scheduler Tunables

hp_read_quantum: 100

hp_swrite_quantum: 6

lp_read_quantum: 2

lp_swrite_quantum: 2

read_idle: 15

read_idle_freq: 25

rp_read_quantum: 75

rp_swrite_quantum: 5

rp_write_quantum: 3

Read Ahead Buffer: 768 (The results for RAB will vary so experiment and find one that works best for you if mine do not yield preferred results.)

Dyninteractive

Min: 250mhz

Max: 1520mhz

Max Screen Off: 550mhz

Min Screen On: 350mhz

Content Adaptive Brightness: On

Force Fast Charge: Off

Vibrator Strength: 90

FSYNC: Off

Tempature Limit: 70

GPU Governor: onoff

GPU: 512mhz

ZRAM: OFF (Changed his mind to OFF, it really doesn't do much)

Smartreflex: All On (MPU undervolted by 25 across the board, IVA and Core leave at default)

Core Min Calibrated Voltage: 810

IVA Min Calibrated Voltage: 810

MPU Min Calibrated Voltage: 810

VAUX3_6030: 2700

VMMC: 1300

Minfree Values:

Forground App: 50

Visible App: 70

Secondary Server: 116

Hidden App: 130

Content Provider: 165

Empty App: 370
[Samsung Galaxy Nexus] bsmitty83:
Lol , yea MW said he'd update FML to match , so pretty soon it'll be back to one kernel .

The hangups are most likely the temp throttle knocking your CPU speed to the min regardless of load . and if lmk is running like it usually is , it will bog down for a few seconds like what your describing

What ROM ?

Try wiping trickstermod's cache and force stop it . then reapply your settings by hand , don't use a saved global profile
[Samsung Galaxy Nexus] PainFly23:
Feel free to tweak things like the max frequency and the voltages until you get something that's stable for your device. Not all settings seem to be agreeing with all devices right now. I for example had to raise my voltages slightly from Nephilims to make his settings stable on my phone. Now that that's done I'm getting fantastic performance.
[Samsung Galaxy Nexus] RW-1:
I have the limit at 75, had never seen an option for temp throttle on trickster before, kernel specific thing? Could try with that off or raise limit to 80, not running it at anything higher than 1.2G right now. (Though what do I have to lose at this point with a possible N6 in Feb? :) )

Will work it out, likely device differences if not the temp throttle, when in doubt, start over and work it ... it does run very nice overall though, smooooth .... It's great to be on the latest OS again !
[Samsung Galaxy Nexus] zzpianoman:
Eeek. 80?? That's pretty high. I think 70 is high but that is about right on target. I guess as long as you're not hitting 80 or even hovering anywhere close to it during normal use......but I've found in some instances the Galaxy Nexus likes to run hot at which point temperature throttling is really a life saver.

EDIT: The averages I've seen for kernels that don't have the temperature control option in userspace is around 67. Sometimes I set it at 64.
[Samsung Galaxy Nexus] bsmitty83:
R5 is out in the Downloads tab

minor code changes , optimizations to crypto

change log

e98677fe64aa8cee8ff84050a72bc94f91c32658 Staging: zram: Replace mutex lock by a R/W semaphore

06f8eb132246a873b8ab14e1242ffa7ae086e91f Staging: zram: allow partial page operations

d4b7e06ea0adc24b1a88c1294a090f2339930f03 Staging: zram: Refactor zram_read/write() functions

356b11df517b49a211044ab9f5463e5a06bd96cb Staging: zram: Remove useless offset calculation in handle_uncompressed_page()

98175aae8445a32f01afeed5b46f524f668194c1 Staging: android: binder: Remove an inconsequential conditional macro

dab3c67163f403d871aa1ee042f3c73c19869c27 Staging: android: binder: Make task_get_unused_fd_flags function static

13a1fd369121c93cb866370824d4487cefc441d2 drivers: staging: android: binder.c: fix printk macros

cdae677b27738a0104ffebe596d5022fa833683e Staging: android: binder: Fix use-after-free bug

5bad77fd6db18f8935b8a2bd57a9bed0dae0c752 Staging:android: Change type for binder_debug_no_lock switch to bool

205f87c84379f8658801b6c9dd03c085a81ef4e4 fs: Remove missed ->fds_bits from cessation use of fd_set structs internally

d9a929483d3c8aa7ccb7cac0157b8695906e0143 Wrap accesses to the fd_sets in struct fdtable

c754a8f0421aab16916a54ee7b26f161dd6c05be Staging: android: binder: Fix crashes when sharing a binder file between processes

d4aa21fc6c57e69e1184676bdd5c305849d24211 Staging: android: binder: Don't call dump_stack in binder_vma_open

84359aab6faec0acf14856db64c12ed03b005df5 Merge branch 'working-fml' into working-cm

1168743453fe78940f91ef3c3b3beb0c8c56866a config

c01d1d5814109aa8579295dae1386de553458765 fix all this crypto mess

4929d33b487406dbc452024b979bb8dabf396f4f CRYPTO: Fix more AES build errors Building a multi-arch kernel results in:

ffa05071597afd058cb6686f78210f7bdc8689f4 ARM: 8118/1: crypto: sha1/make use of common SHA-1 structures Common SHA-1 structures are defined in <crypto/sha.h> for code sharing.

76465d1634f9e2050be1c8d0efd5522d21864328 SQUASH of :

ca50d8a1ca257e4ca9346389496f9ed37c591a6a ARM: vfp: fix a hole in VFP thread migration

86ecc7618f55c4685d9a5f2de675bb979aaa2b0f ARM: move VFP init to an earlier boot stage

2f0d58cdff314ac81e5acb316bec5fbb09e36258 ARM: add support for kernel mode NEON

0cda5ddf19ae087777d20f67e27c0b476f2c1fb9 arch: mm: do not invoke OOM killer on kernel fault OOM

1c206f530890dfa61c72437de7358bb848d63acd cpuidle: Fix NULL pointer dereference during hotplug

26a81fbb89d879054b7d49f621d5a0b8c2500fa1 ARM: cpu topology: Enable ARCH_POWER

8d72f4d986c7541fb9ba59c37c22144c3cd2f47e slicing-by-8 algorithm for crc32 and crc32c

7fedbee954bb83eb58021df0274cbb8644146fb7 usb: mtp: avoid kernel crash on null mtp cdev

78ae262a9c881ae109785d5ca7089823b8e97c54 USB: remove duplicate out endpoint creation in MTP mode

d4ac09d4de406c899ed829561a99ab2b9036dfe2 slub: Push irq disable into allocate_slab()

4f2fd57652654078d65d3cbcd1afa14d087e17d0 SLUB: Fix missing <linux/stacktrace.h> include

as always report if booting/working if you see no one has already
[Samsung Galaxy Nexus] piterdemon:
On newest CM12 boot and work perfectly :)
[Samsung Galaxy Nexus] Jagoflax:
Booted perfecto on FML but very slow optimizing apps.

Thank you for your hard work !
[Samsung Galaxy Nexus] osm0sis:
Answered in the FML thread.
[Samsung Galaxy Nexus] Nemed:
Hey guys, i'm getting SOD everytime the device goes in deep sleep. It seems that the problem is the lowest frequency (200MHz), i tried to increase voltage but without success... suggestions?
[Samsung Galaxy Nexus] bennyp123:
Tried these, still get intermittent slowdowns and reboots. P.S. Thanks for all your help thus far.
[Samsung Galaxy Nexus] bsmitty83:
Raise the minimum freq , not the voltages . use 250mhz or 300
[Samsung Galaxy Nexus] Nemed:
Yeah, that's what i did, but i'd like to use the lowest available freq! :D
[Samsung Galaxy Nexus] fivefour:
A low idle frequency doesn't necessarily equate better battery life.

Don't believe me, set the minimum frequency to 1200mhz and test.
[Samsung Galaxy Nexus] pkgnex:
[MENTION=4608636]bsmitty83[/MENTION],

I'd like to humbly request bringing back the fixed ramdisk version - at least for FML. Anykernel versions have never worked that great on my device. On Full-Auto right now when I flash the FML ROM and V4 or V5 of the kernel, I can't set minfree values (they won't stick or even appear in Trickster, and seem to keep resetting to the default if I set them in init.d) and my phone is kind of choppy. I'm getting around this at the moment by flashing R1 first, then R5. This seems to smooth things up a lot and it allows me to set the minfree values.

Thanks.
[Samsung Galaxy Nexus] JST99:
Look over this thread. The values are applied; you just don't see them.

http://xdaforums.com/galaxy-nexus/general/nephilims-custom-kernel-settings-t2401653/page164
[Samsung Galaxy Nexus] RW-1:
Why cant I have my pocket warmer, it's cold outside! :)

I'll leave at 70, going to flash R5, and then run with no changes to see if it is a settings thing first, more later ...

UPDATE:

Uh oh ...

Ok, flashed FML R5, wiped cache/dalvik and rebooted, and it is locking at various stages of the boot animation (animation freezes), do I let it go, or what to do? (Oy, need phone...)

UPDATE2: After several batt pulls, I'm onto the optimizing App screens, and it does seem to be progressing thru it, scary though! (One needs to know when to walk away from one's phone instead of hovering over it (and I know hovering)) ...
[Samsung Galaxy Nexus] JST99:
When you flash a new kernel, your phone will boot with the default kernel settings. Trickster will probably ask you "Do you want to apply previous settings?" so no worries. Your 70 will have changed to something like 64. I am running pretty well so far with 70 by the way.
[Samsung Galaxy Nexus] lrochfort:
Great work so far all, thank you.

Has anybody else had trouble sending SMSs since flashing the R5 kernel? I had no problems in R1, but now in R5 it seems my SMSC is not set and I cannot set it, nor can I turn off the radio.
[Samsung Galaxy Nexus] RW-1:
Hi JST, yes, I'm aware of that, thing was it was locking on boot animation, I was afraid something went bad on the flash, but it seems that it takes an incredibly long time to optimize. Only listed 75 apps. But to get to that poiint I had to batt pull three times as it locked up on boot animation at different spots.

Will raise to 70 and then run R5 "stock" just to see how it goes, and make a new backup as well (whew! luckily I'm at home late, 2 hour school delay for my daughter, so no calls yet that i needed it for)
[Samsung Galaxy Nexus] JST99:
I strongly recommend that you apply [MENTION=2853378]Nephilim[/MENTION] settings. And yes, it does take a long time for optimization, but the results are worth the waiting. :)
[Samsung Galaxy Nexus] sergialess:
I figured out that in Trickster I can't see the Min Free values. Does it also happen to you?.

The value cells are empty and if you click any of them the app crashes.
[Samsung Galaxy Nexus] bsmitty83:
The 2 files under sys/module/lowmwmorykiller/parameters/ need to be set 0755 permissions , the files are "adj" and "minfree"

I've explained this multiple times , the files are currently write only , not readable but still writable .
[Samsung Galaxy Nexus] frickinjerms:
Well CM12 + Full_Auto r5 is a rockin combination! I've never since I had my Gnex on any ROM been able to OC to 1.5GHz!

Made an init.d script with min at 250 and max at 1520 with sakuractive governor and I gotta say, all is well! Phone isn't heating up and battery isn't suffering too badly so yay!
[Samsung Galaxy Nexus] zzpianoman:
I've had better luck with 3C Toolbox setting minfrees. I guess it handles setting the correct permissions before changing the values. I actually use an init.d script to set them after I have found the optimal values.
[Samsung Galaxy Nexus] smiskkissen:
I have the problem that the permissions doesn't stick after a reboot. Used Solid explorer to set the permissions. Any ideas?
[Samsung Galaxy Nexus] bsmitty83:
Modify your init.rc
[Samsung Galaxy Nexus] nikodr:
Regardint the low memory killer i noticed that r5 does have better multitasking on latest fml,i noticed very good too .Was there any change to the previus ones?
[Samsung Galaxy Nexus] Nephilim:
Just a heads up, there is absolutely no reason to wipe dalvik/cache when flashing a kernel. Just flash the kernel and reboot. ;)
[Samsung Galaxy Nexus] RW-1:
AND, he has said they will not survive a reboot, so you won't see them on the next boot you do ....

---------- Post added at 11:39 AM ---------- Previous post was at 11:37 AM ----------

I know, I was feeling wipy ... :)

Changed to your settings with the exception of minfrees, going to just let it run today.

So far it seems ok, but still have periods of lag, and when it is lagging, it's not hot, but I'm a patient guy, for now going to just run it and enjoy, then get back to tracking this down.
[Samsung Galaxy Nexus] amd_h4x0r:
Same here. When I try Neph's settings (minus any voltage changes which my phone doesn't like), this thing flies....for about an hour, then it gets extremely laggy and slow. I'm thinking it has to do with minfree values.
[Samsung Galaxy Nexus] jguerdat:
Edit: deleted stoopid comment.
[Samsung Galaxy Nexus] poo706:
You looked at /sys, not /system right?

[poo]
[Samsung Galaxy Nexus] jguerdat:
Never mind. As my southern wife would say, I was eat up with the dumbass. It would seem to matter whether I was looking at the GN vs. my S5...
[Samsung Galaxy Nexus] RW-1:
Well, there were two schools of thought for mine, temps hitting throttling to min CPU, or possibly minfree's. I can only say that the history of my particular GNex HW is that I've not OC'd the CPU yat, and from mpokang thru Fancy (both on shiny KK), I had used Neph's settings, including undervolting with no side effects, the HW seemed ok with it.

But that said, now it's Lollypop, a different animal ... I was going to leave the kernel as installed, but ended up changing to westwood/row, and trying that, not yet making minfree changes, though I did undervolt by -25.

You have to try one thing at a time, and really give it a shot to eval, but I'm thinking minfree's, only because it's not getting that hot, or at least when hot and lagging I hit up tricksters info page and the temps are still below throttle limit.

BTW, I'm going to do some reading - http://www.androidcentral.com/fine-tuning-minfree-settings-improving-androids-multi-tasking just thought I'd share, not for the app they reference, but the references themselves to the OS and minfree...
[Samsung Galaxy Nexus] zzpianoman:
It has been my experience that many times the external heat felt on the device does not actually come from the CPU. Sometimes the CPU could be running hot with heavy throttling but the device itself feels relatively cool to the touch and other times, the CPU temperatures would be completely normal but the device would be quite hot - particularly on the display side near the earpiece.

I haven't done too much research into the component layout of the Galaxy Nexus (which is odd, because I'm more of a hardware guy) but I'm guessing that a large portion of the heat generated does not actually come from the CPU.

On a side note, I just thought of a cool feature that might help coping with the much long boot times in Lollipop. Why not make the "Android is Upgrading" box so that it moves about the screen randomly, sort of like a screen saver? Or how about give us the option of turning off the display during the boot sequence? It didn't really matter so much with previous versions of android, but with Lollipop and the significantly longer boot times after a cache wipe, it seems like a no-brainer.
[Samsung Galaxy Nexus] RW-1:
https://www.ifixit.com/Teardown/Samsung+Galaxy+Nexus+Teardown/7182

Steps 11, 12, etc. show component layouts.

My heat definately is coming from one of those chips, with all the data issues I've had since switching to KK and a lack of proper radios for that and Lollypop, I'd bet it's the radio chipset, followed by CPU/GPU ...
[Samsung Galaxy Nexus] Nephilim:
Well guys, I can only say that I have not had this overheating problem or lag you are speaking about using the minfrees I created. I put a lot of time into them and did everything I could to perfect them so I'm sorry if your devices are not running well. However, you have to give your device more than an hour to settle before deciding its my settings causing this, I had a bit of lag at first as well, instead of assuming something is the culprit right away you should not be so impatient and let the device settle for a day or so, then start trial and erroring because there are quite a few using my minfrees and settings without issue. I would say look into either voltages or RAB, those are the more likely things that vary on each device.
[Samsung Galaxy Nexus] lollipop:
+1
[Samsung Galaxy Nexus] trzesickipiotr:
My gnex is getting hot only when playing Hayday[emoji6] . At normal usage it's rather cool.

I'm on Liquidsmooth LP with Full Auto R5 and Nephilim's settings. Performance is really good, though with Beta 3 it was better I think. I'm still having some issues with minfrees. Nova Launcher is being redrawn very often after 1 day of usage, especially after using more heavy apps like Maps, Google+, Firefox, not mentioning Hayday. Launcher3 is a little bit better, but it's redrawing too.

PT

Galaxy Nexus with Tapatalk
[Samsung Galaxy Nexus] bsmitty83:
There is a built-in whitelist in low memory killer , you can add any **.process.com you like , such as nova launcher or chrome and it will never be killed .

Also if you haven't already , lower the max GPU to less than 512mhz .
[Samsung Galaxy Nexus] JDog2pt0:
On kernel R3 (before smitty went back to R1 with more thourough testing) I had rather frequent freezes and reboots. Now I'm on the latest R5, and while the reboots are gone, I now have screen flickering on my device. Seems mostly to be on the home screen with my live wallpaper. Thoughts? I'm on FML
[Samsung Galaxy Nexus] bsmitty83:
Up the core voltages by +25 , or drop down from the 512mhz GPU max freq to something lower .
[Samsung Galaxy Nexus] RW-1:
No one's slamming you my friend, except your girl (and you should be postin pics) .... :)

That's where I am right now, letting it go for a bit, and will adjust, either way I don't wish to go back to KK ...
[Samsung Galaxy Nexus] sergialess:
Working like a charm. Thank you!.