Where can I get kernel sources? - G3 Q&A, Help & Troubleshooting

Hello,
I have quite a serious problem on my LG G3. The headphones icon is always showing, and now if I move the headphone jack slightly, the track either pauses or skips. This happens on all audio players, not just stock Music and Spotify, so it is likely a kernel IRQ doing this.
Brief background: I am familiar with the Linux kernel and I'd like to chase down this 'behaviour' with a few printks and patch the kernel to ignore this. My phone appears to be water damaged (apparently) and the repair co will not touch it.
Where can I find the stock LG kernel sources for G3? I see other kernels like the sharepning one but I would like to take a vanilla tree and work on the kernel myself.
Build process looks like: use a CC (already set up), 'Bump' and then flash it with the LG tool? Correct?
Sam

sn1994 said:
Hello,
Where can I find the stock LG kernel sources for G3? I see other kernels like the sharepning one but I would like to take a vanilla tree and work on the kernel myself.
Build process looks like: use a CC (already set up), 'Bump' and then flash it with the LG tool? Correct?
Sam
Click to expand...
Click to collapse
http://opensource.lge.com/osSch/list?types=ALL&search=d855
Be warned though, lg hasn't released anything newer than 20a. If you email them about it and ask to release newer sources, they will answer like this:
Dear Customer,
We apologize for the late response to your request.
“We received your request on the LG Open Source Code Distribution site (http://opensource.lge.com).
This site provides source codes for FOSS (Free and Open Source Software) we use in our product.”
We uploaded the source code you requested today, so it is now available for you to download.
We hope this information is helpful.
Thank you.
Sincerely yours
> Dear Customer,
>
> We sent the relevant department your request and asked them to estimate the time for distribution.
> Please understand that this may take some time.
> We will inform you as soon as the reply is received from the department.
>
> Thank you.
> Sincerely yours
>
> > Customer Message
> >
> > > Customer Information
> > - Country : Russia
> > - Email Address : [email protected]
> >
> > > Product Information
> > - Category : Mobile/Mobile Phone
> > - Model : LGD855
> > - Description : LGD855_L_V20a_Android_2
> >
> > > Message
> > Please release newer sources. The latest avaliable rom for D855 is 20i, but the last opensourced kernel is 20a...
> >
> > > Attachment :
Of course, they uploaded nothing.
And yeah, cross compile it, bump, "flash" the resulting image via dd or create a flashable .zip with it.

YaDr said:
Be warned though, lg hasn't released anything newer than 20a. If you email them about it and ask to release newer sources, they will answer like this:
Dear Customer,
We apologize for the late response to your request.
This site provides source codes for FOSS (Free and Open Source Software) we use in our product.”
We uploaded the source code you requested today, so it is now available for you to download.
We hope this information is helpful.
Thank you.
Sincerely yours
> Dear Customer,
>
> We sent the relevant department your request and asked them to estimate the time for distribution.
> Please understand that this may take some time.
> We will inform you as soon as the reply is received from the department.
>
> Thank you.
> Sincerely yours
>
> > Customer Message
> >
> > > Customer Information
> > - Country : Russia
> > - Email Address : [email protected]
> >
> > > Product Information
> > - Category : Mobile/Mobile Phone
> > - Model : LGD855
> > - Description : LGD855_L_V20a_Android_2
> >
> > > Message
> > Please release newer sources. The latest avaliable rom for D855 is 20i, but the last opensourced kernel is 20a...
> >
> > > Attachment :
Of course, they uploaded nothing.
And yeah, cross compile it, bump, "flash" the resulting image via dd or create a flashable .zip with it.
Click to expand...
Click to collapse
Hang on -- are they violating the GPL here by producing binaries but not updating the source..?
re. dd -- that's a nice way to do it, do I plug in a microUSB and set up the G3 to expose itself as a block device so I can do this, or did you mean run dd from the unit itself.
S

sn1994 said:
Hang on -- are they violating the GPL here by producing binaries but not updating the source..?
re. dd -- that's a nice way to do it, do I plug in a microUSB and set up the G3 to expose itself as a block device so I can do this, or did you mean run dd from the unit itself.
S
Click to expand...
Click to collapse
I'm not a lawyer, but it surely seems like it.
dd from the unit itself.
adb push kernel.img /sdcard/kernel.img; adb shell "dd if=/sdcard/kernel.img of=/dev/block/platform/msm.sdcc.1/by_name/system; reboot;"
i may have misspelled path to partition or adb push/shell order of arguments and syntax, but i think that you got the idea

YaDr said:
I'm not a lawyer, but it surely seems like it.
dd from the unit itself.
adb push kernel.img /sdcard/kernel.img; adb shell "dd if=/sdcard/kernel.img of=/dev/block/platform/msm.sdcc.1/by_name/system; reboot;"
i may have misspelled path to partition or adb push/shell order of arguments and syntax, but i think that you got the idea
Click to expand...
Click to collapse
Thanks, this is great
BTW: I prefer to add conv=fdatasync if we need to verify integrity on dd.

Related

probelm_save_contact

1. I have new telephon number in my call history.
2. I want to save this number on my existing contact in my contact list
> I mark the number and click buton SAVE /left soft key/
> I try to smrtfind my existing contact with keyboard but is still no worked
3. Error are:
> when I press H > nothing
> when I press D > mark contact with D
> press E > mark DE
> press L noting /I have contact with name Deliana/
> pressed N > nothing /I have contact with name Dencho/
What is the problem why my smartfind dosn't working !? Please help !
TiA !
Same Problem here.
Do you have an original HTC s620? I use XDA Cosmo from o2 Germany. I thought it may be could be an issue for my brand. My ROM-Version is 1.13.207.2
This makes it impssible to update exsiting contacts.
Do others experience the same?

UTC Touch Chinese to English

Hi,
I just got a new phone, a UTC touch but its in Chinese, is it possible to change it to English?
help!!
If you meant the HTC Touch, you might try looking into an HTC Touch ROM from the ELF(another name for Touch) section of the forums. Make sure you have a way of switching back to your ROM in case something happens though.
The link is here in case you're new to the site:
http://forum.xda-developers.com/forumdisplay.php?f=373
HTC Touch Chinese to English
ok great, so I am on the right track? This is what I found - pls confirm its right.....
> Download 1.17.707.2B WWE
http://forum.xda-developers.com/showthread.php?t=331100
>
> Publish date: 2007/09/20
> ROM version: 1.17.707.2B WWE
> ROM date: 07/23/07
> Radio version: 02.97.90
> Protocol version: 4.1.13.46
> ExtROM version: 1.17.707.101
>
> Download 1.17.707.2B WWE
>
> Pls some1 make a big storage w/ 4mb pp
>
> HTC Touch (Soft Black) ROM Code (1.17.707.2B WWE)
>
> ROM version: 1.17.707.2B WWE
> ROM date: 07/23/07
> Radio version: 02.97.90
> Protocol version: 4.1.13.46
> ExtROM version: 1.17.707.101
> IMPORTANT! - please read these instructions carefully before updating
> your device
> 1. Download the .zip file and extract the .exe file within.
> 2. Ensure Activesync v4.5 (or higher) is installed on PC/laptop for OS
> WinXP and below. For Windows Vista and above there is no need to
> install ActiveSync.
> 3. Connect HTC Touch to PC/laptop.
> 4. VERY IMPORTANT! - Ensure your HTC Touch is connected properly to
> the PC/laptop.
> 5. Make sure the battery is charged to at least 50%.
> 6. Double-click on the .exe file to run the update utility.
> 7. VERY IMPORTANT! - All files and software on the device will be lost
> after the update. Please ensure a copy of your important files is
> backed-up somewhere else.
> 8. Please close all programs on your PC/laptop when running the update utility.
> 9. VERY IMPORTANT! - Do not unplug the device when the update process
> is running, doing so may damage the device.
> 10. After updating, the device will reboot, this is normal.
>
> Note: 1. This ROM is applicable for HTC Touch (Soft Black) only and
> NOT applicable for HTC Touch (Wasabi Green).
>
You should ask on the elf section if you'll need to install anything prior to flashing . I own a mogul so I don't know the details of your phone. They should be happy to help you the rest of the way in the elf section.

[rom] 2011/01/05 xxjpq [dbt]

Just a copy for you of an information given by "Segfault" in a german board:
"2011/01/05 > DBT = GERMANY > I9000XXJPP/I9000DBTJP3/I9000XXJPQ/I9000XXJPP > I9000XXJPP/I9000DBTJP3/I9000XXJPQ/I9000XXJPP > http://fus.samsungmobile.com/Phone_...00DBTJP4_I9000XXJPQ_I9000XXJPP_XX_DBT.zip.enc
Decoder > 74955"
Source: http://www.handy-faq.de/forum/samsung_i9000_galaxy_s_forum/182476-i9000xxjpq.html#post1306064
I think it's another 2.2 release...
I think (or fear) so, too.
After encrypting the *.zip.enc-file the result is (packed in the usual zip-fale) the following:
JPO_JP3_U_JPP.tar
SS_DL.dll
kinda weired...

[DISCOVERY] Looking for info to try to support recovery on International honor 5X

If you're in the USA, TWRP and root are available for you here - but only if you have the KIW-L24 model:
[TWRP] for KIW-L24 USA (kiwi)
^^ That recovery is not recommended or tested for any version other than KIW-L24 as of February 10, 2016.
So here's the situation:
We may be able to support other versions for international users
We make no promises
We are providing a tool and instructions for you to give us the information we need about your version
We make no promises
You MUST give the information exactly as we request
No personal information is being gathered - none
We've made it as easy as possible, you don't have to be an expert
We may have to come back and ask you for more information
We make no promises
But we are willing to try if you want to help
Instructions:
Download the attached zip file and unzip it on your phone - ES File Explorer or equivalent is fine
Run the script: find-honor.sh
Copy the contents of /sdcard/found-honor.txt to http://hastebin.com
Post the link to your hastebin here in the thread
DO NOT post the output here - we're not going to manage to that - only post your hastebin.com link, ok
You may run the script however you like:
adb shell or Terminal Emulator
or just use SH Script Runner (instructions on that will come later in the thread)
Shell/terminal instructions:
cd to the folder where you unzipped the script
Execute the following command:
source find-honor.txt
How to upload:
Go to the found-honor.txt file in your file browser
/sdcard, /storage/emulated/0 and Internal Storage all mean the same thing on your phone
Open, select all, copy
Paste and save to hastebin.com
Pictures follow, in my example I use the built-in Files app
Go to the internal storage, tap on find-honor.txt
OK to open Just Once with HTMLViewer
Long press any word to get menu on bottom
Select all, then copy
Goto http://hastebin.com and paste
Find the disk image in the upper right corner to save
Post the link
Your output will look similar to http://hastebin.com/norufikubu.avrasm
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
SH Script Runner Instructions:
Load the file as shown in the pictures
Run it with the little run button next to the name in the top bar
Post results to hastebin using instructions above
DOWNLOAD SCRIPT HERE:
View attachment find-honor.sh.zip
If you're curious to see the how the information is being gathered:
Code:
#!/system/bin/sh
#
# Find honor 5X properties for recovery exploration
# EarlyMon 2016/02/08
TARG=/sdcard/found-honor.txt
getprop | grep -i ro.build.product > $TARG
echo "" >> $TARG
grep -i msm /system/build.prop >> $TARG
echo "" >> $TARG
cat /proc/meminfo | grep -i memtotal >> $TARG
echo "" >> $TARG
cat /proc/partitions >> $TARG
echo "" >> $TARG
cd /sys/dev/block
for i in 179:*
do
cat $i/uevent | grep NAME >> $TARG
echo "" >> $TARG
done
cd - > /dev/null
df >> $TARG 2> /dev/null
echo "" >> $TARG
cat /proc/self/mountinfo >> $TARG
echo "" >> $TARG
cat /system/build.prop >> $TARG
echo ""
echo "Copy the contents of"
echo ""
echo "$TARG"
echo ""
echo "to hastebin.com"
echo ""
echo "Post the hastebin.com link in the thread."
Remember -
ONLY POST YOUR DATA LINK, LIKE THIS:
http://hastebin.com/norufikubu.avrasm
You can see from my sample link that nothing personal is being gathered.
Happy to help
Hope this helps:
/eqokatoboh.md
If this is against the rules, then delete it.
Have a nice day
Widos
WidosFTW said:
Hope this helps:
/eqokatoboh.md
If this is against the rules, then delete it.
Have a nice day
Widos
Click to expand...
Click to collapse
http://hastebin.com/eqokatoboh.md
That works, thanks.
That's a 2/16 KIW-L21
Run Script with SH Script Runner
hastebin. com / ujotesawow.md
Im a new user so i cant post links
racing2410 said:
Run Script with SH Script Runner
hastebin. com / ujotesawow.md
Im a new user so i cant post links
Click to expand...
Click to collapse
Welcome to the forums.
http://hastebin.com/ujotesawow.md
Another 2/16 KIW-L21 - thanks!
@WidosFTW or @racing2410
Per suggestions from the team (shm and Ncypt3d) after reviewing your data, we've decided to update the script because we don't want to take the chance relying on the honor website specs.
Please refer to the following picture from the app CPU-X in the Play Store:
The top of yours ought to be similar and say MSM 8939 HUAWEI KIW-L21 (where mine says L23).
If there is any doubt, please erase the old find-honor.sh on your phone, get the new copy from the OP, and repeat the process for us.
Many thanks!
ok lets see
hastebin /ereyaronoh.avrasm
Done it @EarlyMon
/oqiqemojer.avrasm
http://hastebin.com/ereyaronoh.avrasm
http://hastebin.com/oqiqemojer.avrasm
Perfect, just what we expected, thanks!
I'm on the US version but still appreciate that you're working on our international brothers and sisters 5xs. So I must say....this sounds "very promising "! Sorry I couldn't help it.
WidosFTW said:
Done it @EarlyMon
/oqiqemojer.avrasm
Click to expand...
Click to collapse
racing2410 said:
ok lets see
hastebin /ereyaronoh.avrasm
Click to expand...
Click to collapse
From what i can tell from the info provided the L24 twrp recovery should work on L21.
Here is the official L24 twrp:
https://dl.twrp.me/kiwi/twrp-3.0.0-0-kiwi.img.html
Stock L21 recovery encase it does not work:
https://www.androidfilehost.com/?fid=24411628330025737
If there is a error please put as much info as you can get and pictures if possible. Also attach a recovery.log so we can double check everything is working.
ok i will try to flash the recovery after work. first i have to unlock my bootloader :angel:
deadman96385 said:
From what i can tell from the info provided the L24 twrp recovery should work on the L21.
If there is a error please put as much info as you can get and pictures if possible. Also attach a recovery.log so we can double check everything is working.
Click to expand...
Click to collapse
The installation works fine and it also starts the twrp but you cant use it properly because you get the touchscreen error, which was already described in the US Thread. I dont know where the recovery.log is so I cant post it here. I somehow managed to install root but I would consider this unusable.
Edit:
Found the log, it is in the attachments.
Can confirm. Installing TWRP was fine, but it can't be used (touchscreen does not recognize input)
LordKelsier said:
Can confirm. Installing TWRP was fine, but it can't be used (touchscreen does not recognize input)
Click to expand...
Click to collapse
You mentioned that you were able to use the debloat method on your KIW-L21.
Did something change on the touchscreen usability or can you elaborate for the benefit of us and others?
EarlyMon said:
You mentioned that you were able to use the debloat method on your KIW-L21.
Did something change on the touchscreen usability or can you elaborate for the benefit of us and others?
Click to expand...
Click to collapse
Someone in the main thread posted that you have to tap the screen extremely fast and that the issue is most likely a bug in the TWRP software (not waiting long enough for user input or something). It worked this way but is extremely luck based. Like I had to try and flash the zip file 10 times before I was able to slide the slider while not having the archive validation checkbox checked.
Selecting the "install" button and the archive itself also took a few minutes. Basically you'll have to hammer your screen at 5 touches per second or something for it recognize
Same with me it took me about an hour to get it working.
We've been discussing the touchscreen among ourselves and your feedback may help - thanks!
Sent from my KIW-L24 using XDA Free mobile app
Do you still need ppl to run the script for the L21?

[WAR MOD] || CPU & VM Tweaks | Battery Saving

Please read this entire post before doing anything.
Pretty straight forward modification that will increase performance and save battery life. You must be rooted to apply this.
Drop this file: https://drive.google.com/file/d/1h0ET7pYHdPB32v-ZtK5pEMlwlHNn8O46/view?usp=drivesdk
... into this location (replacing the existing stock one):
Code:
/system/vendor/bin
Basically, there is a file in that sub-folder "init.qcom.post_boot.sh"
You are replacing that file with mine, which I've made the following changes to:
-modified hispeed_freq and hispeed_load parameter for both CPU clusters so they run more efficiently
-modified vm parameters in /proc/sys/vm to allow a little more RAM to be used. USE YOUR RAM, that's what it is for! I don't like having a full 900Mb of free RAM, then having apps refresh when they are opened again.
-added a script to limit the maximum display brightness (this is still very usable, but it will be more power friendly. The stock settings are way too aggressive)
- there will be much more to come, this is just to start us off
Also, after you drop the new file into the folder, change the permissions to:
Code:
rwxr-xr-x
then reboot/power up
The .sh file executes on its own after each boot. No more CPU apps.
You will see a noticeable difference in battery life and performance. :good:
Yes could you please give me step by step on how I post apply this to my device because I cannot give it permission and then when I do get to permission changed it keeps saying that ignore it it snow please help
Hey bro,
Can you make this mod for the sdm 636?
TKS
---------- Post added at 03:35 PM ---------- Previous post was at 02:58 PM ----------
what is the soc_id of your device?
Igorfmedeiros said:
Hey bro,
Can you make this mod for the sdm 636?
TKS
---------- Post added at 03:35 PM ---------- Previous post was at 02:58 PM ----------
what is the soc_id of your device?
Click to expand...
Click to collapse
SMD632 is the ID.
Pretty sure yours is SMD636
replace file let's see if anything improves
original file has size 200k
your 41k
restart system has again 200k
this is normal ?
How is this working for those that have used it?
I'm curious too..I've benchmarked my G7 and got a baseline for performance and will eventually try this to see if it improved things..but first I plan on trying some of the tweaks available in Magisk.
this mod doesn't seem to stick as it always reverts to the stock file. why not just make a custom flashable kernel?
Is there guidance to make the change persistent after a reboot. This is my first A/B device and things seems little different now. I am unsure if Motorola is restoring the vendor partition or if the reset isn't related to something else.
I've been trying to avoid installing TWRP due to lack of development and was hoping to apply this with either the stock recovery of just in the file system.
*edit.
I guess Ill look into disabling dim-verity without TWRP, I think I saw a way to do it. Or maybe boot TWRP from the command line instead of installing it.
I made a magisk module to load this file.
See Page 2 to download.
Download ?
idcamper said:
Download ?
Click to expand...
Click to collapse
*module fixed
Use Magisk to make this change stick
*module fixed, we down a few posts.
HT123 said:
I made a magisk module to load this file.
Let me know if anyone wants it.
I went this route becuase I didn't want to install TWRP yet.
Click to expand...
Click to collapse
The unofficial Twrp actually works quite well on my Moto G7.
maybeme2 said:
The unofficial Twrp actually works quite well on my Moto G7.
Click to expand...
Click to collapse
Without anyone making twrp flashable zips of the updates I am remiss to install it. If more mods come along that require workarounds like this one I will pull the trigger but for now, this one change does not warrant TWRP for me anyway.
HT123 said:
I made a magisk module to load this file.
Let me know if anyone wants it.
I went this route becuase I didn't want to install TWRP yet.
Click to expand...
Click to collapse
can you send me?
absvini said:
can you send me?
Click to expand...
Click to collapse
*module fixed
Magisk Module fixed
HT123 said:
The mod didn't work. While the file was replaced, it was not processed, look up a few posts to see how to do it without a module.
Click to expand...
Click to collapse
Someone can feel free to fix my misspelling of Kernel in the mod as well.
I had some free time this morning and I fixed the module. I have no idea if it helps or not.
It does not include everything in the original post, only the changes at the bottom. I take no credit or responsibility for this, all I did was turn the changes into Magisk Module. The code below is the changes that get made.
Code:
# WarBeard mods
#
sleep 20
# Adjust CPU parameters to save battery
echo 1036800 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq
echo 75 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_load
echo 1401600 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_freq
echo 95 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_load
# Adjust VM parameters
echo 10 > /proc/sys/vm/dirty_background_ratio
echo 4 > /proc/sys/vm/dirty_expire_centisecs
echo 20 > /proc/sys/vm/dirty_ratio
echo 8 > /proc/sys/vm/dirty_writeback_centisecs
echo 100 > /proc/sys/vm/swappiness
echo 50 > /proc/sys/vm/vfs_cache_pressure
# Limit maximum brightness of display
echo 150 > /sys/class/leds/lcd-backlight/max_brightness
[\code]
idcamper said:
replace file let's see if anything improves
original file has size 200k
your 41k
restart system has again 200k
this is normal ?
Click to expand...
Click to collapse
Same happens to me, just rebooted. I'll check my current file with the one he uploaded on Google Drive by comparing them in a text editor?
HT123 said:
Someone can feel free to fix my misspelling of Kernel in the mod as well.
I had some free time this morning and I fixed the module. I have no idea if it helps or not.
It does not include everything in the original post, only the changes at the bottom. I take no credit or responsibility for this, all I did was turn the changes into Magisk Module. The code below is the changes that get made.
Code:
# WarBeard mods
#
sleep 20
# Adjust CPU parameters to save battery
echo 1036800 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq
echo 75 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_load
echo 1401600 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_freq
echo 95 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_load
# Adjust VM parameters
echo 10 > /proc/sys/vm/dirty_background_ratio
echo 4 > /proc/sys/vm/dirty_expire_centisecs
echo 20 > /proc/sys/vm/dirty_ratio
echo 8 > /proc/sys/vm/dirty_writeback_centisecs
echo 100 > /proc/sys/vm/swappiness
echo 50 > /proc/sys/vm/vfs_cache_pressure
# Limit maximum brightness of display
echo 150 > /sys/class/leds/lcd-backlight/max_brightness
[\code][/QUOTE]
This Magisk module provides the exact same thing as the .sh file in the original post? The exact same benefits?
Click to expand...
Click to collapse
HT123 said:
Someone can feel free to fix my misspelling of Kernel in the mod as well.
I had some free time this morning and I fixed the module. I have no idea if it helps or not.
It does not include everything in the original post, only the changes at the bottom. I take no credit or responsibility for this, all I did was turn the changes into Magisk Module. The code below is the changes that get made.
Code:
# WarBeard mods
#
sleep 20
# Adjust CPU parameters to save battery
echo 1036800 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq
echo 75 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_load
echo 1401600 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_freq
echo 95 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_load
# Adjust VM parameters
echo 10 > /proc/sys/vm/dirty_background_ratio
echo 4 > /proc/sys/vm/dirty_expire_centisecs
echo 20 > /proc/sys/vm/dirty_ratio
echo 8 > /proc/sys/vm/dirty_writeback_centisecs
echo 100 > /proc/sys/vm/swappiness
echo 50 > /proc/sys/vm/vfs_cache_pressure
# Limit maximum brightness of display
echo 150 > /sys/class/leds/lcd-backlight/max_brightness
[\code][/QUOTE]
I notice quite a difference
Click to expand...
Click to collapse

Categories

Resources