I need carrier Partition from Note 5 - Galaxy Note5 Q&A, Help & Troubleshooting

Hi, I am currently using Note 5 on another carrier. I have messed up some settings and need the carrier partition from a Sprint Activated Note 5. This can be pulled of easily from a rooted Note 5 and doesn't contains any personal information.
-- On a rooted Note 5 N920P, run adb shell as ROOT (su)
---use following command to pull Carrier partition to sdcard
--- dd if=/dev/block/platform/15570000.ufs/by-name/carrier of=/sdcard/sprint_note5_Carrier.img
Zip and share on any file hosting website.
Any help will be appreciated. Thanks in advance.

Related

[HOW-TO/INFO] Bell FAQ [9-25-2011]

This is my attempt at a Bell FAQ, it is a work in progress.
Q. Why don't the instructions I found on how to do X not work?A. This is a development forum, sometimes things are written in shorthand assuming you know things you don't. At lot of things are specific to one carrier's phone or another. Sometimes things change and are now obsolete, something new was found, a better way of doing things, if you were not following it all along you are likely to be lost. Read between the lines, you are a human being with reasoning abilities, figure it out. ​Q. What should I do first?
A. Backup your phone. That means everything, especially your pds partition. Nandroid won't cut it and you have already modified your phone beyond the ability to get back if you can run it.
Ex. dd if=/dev/block/mmcblk0p3 of=/sdcard/backup/mmcblk0p3
Save your backup on your computer, create a zip of all the files, burn it off on cd/dvd, put it in a safety deposit box at your bank. Be prepared for bricking your phone. A lot of things mentioned in threads here are developed and tested for ATT phones, they may not work 100% on your phone.​Q. What is ADB?A. It stands for Android Debug Bridge or something like that. It is a program that runs on your computer that lets you talk to your phone using special commands. Your phone has to have adb enabled, it's a setting under application/development.
Ex. adb shell
This opens a linux shell connected to your phone. Linux is an operating system for computers, it is also used as the base for android phones.
Ex. adb install file.apk
Ex. adb push file /tmp
Ex. adb pull /tmp/file .​
Q. What is CWM recovery?A. Android phones come with a special boot configuration that allows for changes to the android system from a place outside the system. It is very corporate and does the job for official signed updates, but only Motorola and it's oems can sign the updates. Not much fun for us. CWM recovery is a replacement for the official recovery system that doesn't require signed updates.
You install CWM recovery using fastboot or moto-fastboot.​Q. What is unlocking the bootloader all about?A. It is the means of putting CWM recovery on your phone so you can install roms and other packages. It allows you to flash a partition with mods and have the phone not soft brick when you reboot. When the unlocked versions of the atrix bootloader were found it started a new round of mods. A lot of the threads prior to that are now obsolete.​Q. How do I unlock the bootloader?A. There is a huge thread already about this, see here.
WARNING: this is a permanent change to your phone.
Summary:
1. Download the archive
2. Extract the sbf inside, whatever it's called, that is the one to use.
3. Use linux sbf_flash or rsdlite from windows to install it.
3. fastboot oem unlock
4. Copy code fastboot spits out.
5. fastboot oem unlock code
6. fastboot reboot
You will see unlocked while booting and when you get into android you will have ~300MB of ram. This will need to be fixed. Also, you will lose all your data during the process, do a backup first.​Q. What is fastboot/moto-fastboot?A. It's a program to access the phone and do stuff, write phone partition images mostly. The stock one can only handle tiny system images, pretty useless for the Atrix, xda member eval- compiled the motorola version for us that can handle larger system images, do a search for moto-fastboot.
Ex. moto-fastboot flash recovery recovery.img.​Q. How do I fix the ram problem?A. I did up a CWM recovery zip to update the boot and recovery partitions to contain a kernel command line with the missing bit "[email protected]" added. See here.
There are other means of doing this, some boot images come prepackaged with the command line already embedded. There are ATT compiled kernels with a patch inside the kernel itself to do the same thing. You can search for those when you are ready to try things like custom ATT kernels on your phone.​Q. How do I root the phone?A. If you are unlocked and you have fastboot flashed a version of CWM recovery, it is trivial. By that I mean almost impossible for newbies to figure out.
It would go something like this:
1. Boot into CWM recovery.
2. use adb shell
3. adb push a su binary to the phone.
4. mount system as read write as /system
5. copy su binary to /system/bin
6. make sure it has the right permissions, 06755 mode , user root, group root.
7. unmount -l /system
8. when in android look on the market for Superuser.apk, install.
Every rooting method out there is all about putting su into /system/bin with 06755 permissions, most don't work anymore since Gingerbread. If you are looking for a simple, no brain involved solution, you are likely to get something working and also something else you didn't want like a replaced preinstall partition or an installed busybox with different functionality for some important system commands. (Busybox may be more up to date even, but if it doesn't do what is expected of the older version, it's still not good.)
Another way would be to create a CWM zip that simply puts the linux su binary in system with the correct permissions. Some info about creating your own can be found here. Doing this is more involved that just doing it manually, but it would be a good practice for getting into creating CWM updates.
Here is a link to a exploit someone did up to root the phone when running GB. Haven't tested it, and with an unlocked phone it is totally redundant, but it's nice that some found yet another security hole in the OS, seems similar in result to psneuter, so be sure to reboot the phone to fix the exploited system.
Seriously, if you are going to be reading or posting in the development section of xda for an android phone, take the 5 minutes to become familiar with adb and a few linux shell commands, it will save you hours of confusion and aggravation. If you fly blind trying things on your phone without understanding what you are doing you are eventually going to get into a place you can't get out of and need a new phone or REALLY have to struggle to understand things. You were warned. ​Q. How do I get back to stock?
A. You can't unless you have a backup of all your phone partitions and can update your radio and bootloader to be stock. Once you unlock your phone, it is recorded that you did so by blowing a physical fuse on the phone. This cannot be restored, you will need a new phone.
What does stock mean to you? When I bought my phone it had a certain radio, the bootloader couldn't be unlocked, the android system files had certain versions, etc. Beyond the android system there are 18 partitions that I know of on the phone, most phones do with 5-6. Every ota update or sbf files take the normal files and change them to something else, non android partitions get modified or replaced.
I have some solutions for getting close to stock, do a search for Gobstopper. There is one for Bell 2.2.2 and Bell 2.3.4, use one or the other. These attempt a full back to stock operation, that means the radio and bootloader will be stock, recovery will be stock as well. (All the partitions that are on the phone are written over with the ones that were on my phone when I bought it, with the exception of partitions 3 (pds), 15 (cache), 16 (data), and 18 (userdata or internal memory), factory reset clears cache and data, you don't want pds touched or internal memory.) Unlocked will no longer be displayed when you boot and you will no longer have CWM recovery installed. You will need to install the unlocked bootloader again and fastboot flash recovery again if stock is not what you wanted. (Your pds partition is not involved in this operation, so if you made changes to it, either directly or indirectly via a sbf this will not restore it, your pds partition contains individual phone information.)
More about sbf format here.​Q. What does the pds partition taste like?A. It's not really fit to eat. Now you know.
It is mmcblk0p3, a partition on your phone, it is mounted as /pds when android boots and contains a bunch of folders and files that nobody really understands fully but Motorola. Having a look at some of the files you will see things like your network physical address, bluetooth physical address. You will find threads where the display is all arsed up, cpu running at half speed, touch screen not working right, etc, all due to something going wrong with /pds. It is best to back it up and not mess with it. Restore it in an emergency. Maybe one day everything in there will be figured out, take a stab at it yourself.
See this thread by edgan for how to back up your pds partition.
See this thread by KeRmiT80 about attempting to fix your pds partition. Good motivation to see previous link.
​Q. I lost network data access after flashing X.
A. Check your APN list, if it's not a Bell firmware you are using, it probably doesn't have Bell's APN list. Scratch that, you don't know what that is or how to check it.
It stands for Access Point Name and a big list of them is stored on your phone in one big file (/system/etc/apns-conf.xml), each firmware has it's own version of it. Your phone will get two numbers from your carrier's phone network to do a look up in this list to figure out what configuration to use. So say it gets mcc 302, mcn 610, it will check the phone and look up 302, 610 in the file and read what it says there and use that config to try to connect. Now, another thing is that the phone knows what the home network is by these two numbers, embedded somewhere in the system. A foreign, non Bell carrier won't have Bell's numbers in there so your phone will think it's roaming. If you have roaming disabled, guess what, no data connection. Your carrier should be smart enough not to charge you for roaming, never had a problem with that, but you never know.
Here are the apn settings you can enter manually for your phone, see Bell's support link.
​Q. How do I get webtop over HDMI to work?
A. There are several threads on getting this to work on ATT phones and others, they are specific to the firmware being run on the phone. They involve copying two deodexed files to your system/app folder and replacing the ones already there. You will also need to clear your dalvik cache to get the new code recognized. They are DockService.apk and PortalApp.apk. If you are not deodexed then you also have to remove the .odex files for both.
Here is one thread for Gingerbread, in the zip there is one for ORFR that will get you to viewing the webtop on Bell GB, but applications don't load.
Here is another thread for Froyo that works, see the Bell specific bit in the OP. This does not work from Bell Gingerbread.​ To be continued...
Hoping the Mods sticky this
A link should be attached to the wiki as well. I will try to when I get home if it isn't done already.
shouldn't this be in general? or q&a?
Magnetox said:
shouldn't this be in general? or q&a?
Click to expand...
Click to collapse
Probably both. Most things referenced are in development.
Cheers!
Sent from my MB860 using xda premium
y2whisper said:
Hoping the Mods sticky this
A link should be attached to the wiki as well. I will try to when I get home if it isn't done already.
Click to expand...
Click to collapse
+1 this should be a sticky on either or both general or development...
cheers for this...this thread is going to help me with my youtube viewers BIG TIME!!
Very nice!
Keep it up NFHimself!
NFHimself said:
This is my attempt at a Bell FAQ, it is a work in progress.
Q. How do I root the phone?A. If you are unlocked and you have fastboot flashed a version of CWM recovery, it is trivial. By that I mean almost impossible for newbies to figure out.
It would go something like this:
1. Boot into CWM recovery.
2. use adb shell
3. adb push a su binary to the phone.
4. mount system as read write as /system
5. copy su binary to /system/bin
6. make sure it has the right permissions, 06755 mode , user root, group root.
7. unmount -l /system
8. when in android look on the market for Superuser.apk, install.
Every rooting method out there is all about putting su into /system/bin with 06755 permissions, most don't work anymore since Gingerbread. If you are looking for a simple, no brain involved solution, you are likely to get something working and also something else you didn't want like a replaced preinstall partition or an installed busybox with different functionality for some important system commands. (Busybox may be more up to date even, but if it doesn't do what is expected of the older version, it's still not good.)​ To be continued...
Click to expand...
Click to collapse
I used this method to root the stock Bell Gingerbread ROM. Works on an Atrix too. It's a quick download and easy for those people who may not be comfortable with the adb command line.
http://www.psouza4.com/Bionic/
thx
useful for newbies
but can you put some more details about returning to stock and explain the pds partition in details plz?
papakilo10 said:
I used this method to root the stock Bell Gingerbread ROM. Works on an Atrix too. It's a quick download and easy for those people who may not be comfortable with the adb command line.
http://www.psouza4.com/Bionic/
Click to expand...
Click to collapse
Had a look at the script in that one, should be fine, doesn't install a busybox or anything like that. I don't care for Superuser.apk in /system/app myself, but it won't harm anything having it there.
Cheers!
ytwytw said:
thx
useful for newbies
but can you put some more details about returning to stock and explain the pds partition in details plz?
Click to expand...
Click to collapse
I added a few things, anything in particular you wanted?
I am trying to avoid step by step tutorials or spoon feeding everything, so people who are lazy/careless will have to attempt to think for themselves. It just leads to more questions, more laziness, and bricked phones, and I don't have the time these days.
Cheers!

Rootable Chromecast flash dump

Does anybody has a dump of the whole NAND flash of a rootable chromecast? (ideally while still in the original factory state)
If not, could someone with a rooted chromecast dump the bootloader (partition)? (basically the first couple of blocks/megabytes)
Any help would be very welcome
To help, if they manage to get adb over wifi working, run
Code:
adb shell su -c 'dd if=/dev/block/platform/*/*/by-name/bootloader' > ccbootloader.bin
. This command should, as root, write the bootloader to stdout, which we will take and write to a local file. (For the non-technical people, it makes a bootloader dump and puts it on your computer) please note that this requires your chromecast to be rooted and have adb working over wifi.
Sent from my iPod touch using Tapatalk
Definitely talk to @rekids - they've been working on this stuff.

PDS Partition Fix (Very risky - Not for the faint of heart!)

I no longer have this phone!
---
Are you having problems flashing custom ROMs and then getting bootloops? Are you sick of using the Stock ROM?
I found that it is caused by accidentally wiping the PDS partition in some versions of CWM an TWRP.
By going into Settings > About > Status the serial number will no longer be shown. (Unknown or Error.)
A long time ago, someone posted their PDS (yay!) here.
The second post has an extracted PDS.
You will need to download both the pds.img and efi.zip for this tutorial.
To see where the PDS is located for the XT890, look here. (mmcblk0p12)
~
Note: I've attached some pics to help - see below.
Step One:
While booted into Android, you need to use the following commands: (Make sure you enable USB Debugging.)
Code:
adb push pds.img /data/local/tmp
adb shell
su
chmod 777 /data/local/tmp/pds.img
dd if=/data/local/tmp/pds.img of=/dev/block/mmcblk0p12
exit
exit
adb reboot
At this point, if you boot into fastboot, you'll notice the PDS is fixed, but it will not show YOUR serial number.
Step Two:
Extract efi.zip
Open up efi\factory\fti using a hex editor (I use XVI32)
Find the decimal address (Address > Goto) 21
Insert your serial number as a text string T********H (Edit > Insert string)
Remember, the serial number is TEN characters.
Remove the old serial number using Delete on the keyboard.
You should end up with your serial number and EA4 on the end.
Save the file and copy it to your phone.
Using a root explorer file manager (I use ES File Explorer) mount / as RW
Browse to /pds/factory/, copy your edited fti file and overwrite.
Step Three:
Restart the phone and boot into fastboot.
Code:
fastboot erase cache
fastboot reboot-bootloader
fasboot should now show the correct serial number.
Congrats!
I hope this has helped you, please give feedback.
Good find. Thanks for the contribution
So my Serialnumber is the MSN on my phonebox right, the one right above the IMEI? Cause mine is not beginning wit a "T", but it has 10 characters.
Btw, the Serialnumber is not the only thing that is unique - the mac adress is saved in the pds too. I will try to change mine later, should work with the same method, i just create a new one i guess - dont know how to get my old one.
I lost my box a long time ago, but had my serial number saved in a screenshot from when I unlocked the phone's bootloader.
Thanks for the info on the MAC address, I'll look into it later.
Sent from my XT890
Worth a try with the Moto X Style?
AlertRobotdude said:
Worth a try with the Moto X Style?
Click to expand...
Click to collapse
Maybe, but not this one. Do know u are in the "Razr I" forums of XDA and not in the "Moto X Style" forums.

[HOW TO] Debrand boot animations without flashing new ROM

** Requires ROOT+Busybox and either Terminal or a capable File Manager
So you don't feel like flashing a new ROM and losing all your data, but your carrier's boot up and shutdown branding is getting on your nerves? Here is what you do, the basic idea is the same as putting on a new boot animation
I'll assume you're using a Terminal and bootsamsung.qmg for the rest of this, the other files follow the same method
Copy stock boot and shutdown animations onto your SD card, I'll call the path to this location %sd%. A copy of the stock files in the attached archive.
Open terminal and become root
Code:
su
You may need to remount your /system partition as writable, if you're connecting via ADB, adb.exe may crash here - that's fine, just re-connect the USB cable and you shouldn't need to repeat this step again
Code:
mount -o remount,rw [COLOR="RoyalBlue"]/system[/COLOR]
Copy bootsamsung.qmg from %sd% to /system/media/,
Code:
busybox cp -f "[COLOR="RoyalBlue"]%sd%[/COLOR][B][COLOR="Green"]bootsamsung.qmg[/COLOR][/B]" "[COLOR="RoyalBlue"]/system/media/[/COLOR][B][COLOR="Green"]bootsamsung.qmg[/COLOR][/B]"
Set the permissions of the file to 644,
Code:
chmod [COLOR="red"]644[/COLOR] "[COLOR="RoyalBlue"]/system/media/[/COLOR][B][COLOR="Green"]bootsamsung.qmg[/COLOR][/B]"
Get rid of the SD card copy if you don't want it anymore,
Code:
rm -f "[COLOR="RoyalBlue"]%sd%[/COLOR][B][COLOR="Green"]bootsamsung.qmg[/COLOR][/B]"
Clean up any overriding animations, I had this happen for my shutdown animation where my carrier had a shutdown directory in /system/media/video/ which contained another copy of shutdown.qmg, so check for the existence of these and remove them, e.g.
Code:
if [ -f [COLOR="RoyalBlue"]/system/media/video/[/COLOR][B][COLOR="Purple"]bootsamsung[/COLOR]/[COLOR="Green"]bootsamsung.qmg[/COLOR][/B] ]; then
rm -f [COLOR="RoyalBlue"]/system/media/video/[/COLOR][B][COLOR="Purple"]bootsamsung[/COLOR]/[COLOR="Green"]bootsamsung.qmg[/COLOR][/B]
fi
Reboot and see what happens!
Extra notes: Always keep backups of original files. If you can't get past the boot animation, restore the backups.
paulie-uk said:
** Requires ROOT+Busybox and either Terminal or a capable File Manager
So you don't feel like flashing a new ROM and losing all your data, but your carrier's boot up and shutdown branding is getting on your nerves? Here is what you do, the basic idea is the same as putting on a new boot animation
I'll assume you're using a Terminal and bootsamsung.qmg for the rest of this, the other files follow the same method
Copy stock boot and shutdown animations onto your SD card, I'll call the path to this location %sd%. A copy of the stock files in the attached archive.
Open terminal and become root
Code:
su
You may need to remount your /system partition as writable, if you're connecting via ADB, adb.exe may crash here - that's fine, just re-connect the USB cable and you shouldn't need to repeat this step again
Code:
mount -o remount,rw [COLOR="RoyalBlue"]/system[/COLOR]
Copy bootsamsung.qmg from %sd% to /system/media/,
Code:
busybox cp -f "[COLOR="RoyalBlue"]%sd%[/COLOR][B][COLOR="Green"]bootsamsung.qmg[/COLOR][/B]" "[COLOR="RoyalBlue"]/system/media/[/COLOR][B][COLOR="Green"]bootsamsung.qmg[/COLOR][/B]"
Set the permissions of the file to 644,
Code:
chmod [COLOR="red"]644[/COLOR] "[COLOR="RoyalBlue"]/system/media/[/COLOR][B][COLOR="Green"]bootsamsung.qmg[/COLOR][/B]"
Get rid of the SD card copy if you don't want it anymore,
Code:
rm -f "[COLOR="RoyalBlue"]%sd%[/COLOR][B][COLOR="Green"]bootsamsung.qmg[/COLOR][/B]"
Clean up any overriding animations, I had this happen for my shutdown animation where my carrier had a shutdown directory in /system/media/video/ which contained another copy of shutdown.qmg, so check for the existence of these and remove them, e.g.
Code:
if [ -f [COLOR="RoyalBlue"]/system/media/video/[/COLOR][B][COLOR="Purple"]bootsamsung[/COLOR]/[COLOR="Green"]bootsamsung.qmg[/COLOR][/B] ]; then
rm -f [COLOR="RoyalBlue"]/system/media/video/[/COLOR][B][COLOR="Purple"]bootsamsung[/COLOR]/[COLOR="Green"]bootsamsung.qmg[/COLOR][/B]
fi
Reboot and see what happens!
Extra notes: Always keep backups of original files. If you can't get past the boot animation, restore the backups.
Click to expand...
Click to collapse
Hello, I'm interested in debranding my verizon s5. I'd love to get rid of the Verizon screen at bootup. I read through your directions and it seems that you are suggesting overwriting the animation with the stock that you provided. All good. It is the use of the terminal that I am completely unfamiliar with. I tried using adb.exe in a command window inside of windows 7 and it didn't even like the first command 'su' My phone is rooted with a custom rom and busybox in developer mode. Could you help me out with what terminal to use and how to connect etc. to enter the commands? I have a decent filemanager installed but It doesn't let me write to system. Thanks for this post.
Eaglebiker said:
Hello, I'm interested in debranding my verizon s5. I'd love to get rid of the Verizon screen at bootup.
Click to expand...
Click to collapse
My first comment must be to say I have a G900F, the international version of the phone and it's using a stock ROM with a few tweaks, e.g. root. A custom ROM will have changed the system partition already so this method shouldn't be applicable there - if it shows a carrier logo on a custom ROM then it's in another partition, not system
Eaglebiker said:
I read through your directions and it seems that you are suggesting overwriting the animation with the stock that you provided. All good. It is the use of the terminal that I am completely unfamiliar with.
Click to expand...
Click to collapse
I gave terminal instructions so people could do it only using their phone but as you've noticed, it's not the only option
Eaglebiker said:
I tried using adb.exe in a command window inside of windows 7 and it didn't even like the first command 'su'
Click to expand...
Click to collapse
If you are using adb, make sure that adb can gain root - the flag should be somewhere in your superuser's settings - then with your USB connected launch adb into shell mode from your computer. This makes adb act as a terminal
Code:
adb shell
If you see a $ then you are not root and will need to gain root, i.e. run su
If you see a # then you are root and don't need to do that
Eaglebiker said:
My phone is rooted with a custom rom and busybox in developer mode.
Click to expand...
Click to collapse
All good things!
Eaglebiker said:
Could you help me out with what terminal to use and how to connect etc. to enter the commands?
Click to expand...
Click to collapse
The terminal I use is can be found here (though I used v1.0.65). Most custom ROMs already include it so you may find it in your apps already. It's all on your phone so you'd type on your phone's keyboard as normal. You shouldn't have to use this if you want to use ADB.
Every time I wrote a %path% you will need to enter the real path for what you have on your device, e.g. %sd% may be /extSdCard/
Eaglebiker said:
I have a decent filemanager installed but It doesn't let me write to system.
Click to expand...
Click to collapse
What doesn't let you do this? If it's "read only" then you may need to remount the /system partition (my step 3). File managers like the one you get with CM do let you do root things but it needs to be in root mode or prompt mode (see it's settings). To find /system in a file manager, the easiest way is to keep going up until you're at /, then you should be able to go down through [/B]/system[/B]
Eaglebiker said:
Thanks for this post.
Click to expand...
Click to collapse
Thank you for letting me give some meaningful answers in post 3!
The Rom I'm using would be better described as a stock lollipop rom for the 900v with a few tweaks.
I now understand that you can have a terminal on the s5. I've installed the terminal and greatly prefer it. Using a terminal on the s5 hadn't even occurred to me and it sounds much easier then hooking to a computer needlessly. Awesome.
I manage to get su access #. in step 2.
in step 3 I type in the mount command and nothing seems to happen. no errors
in step 4 it tells me the folder or file doesn't exist. I'm certain it does. I can see it in my file manager. in the folder /extSdCard/bootsamsung.qmg and the destination folder is /system/media as well. I've tried it with and without quotes and no joy. Any clue what is going on?

Galaxy S4 i537 debrick image!!!?

Hello everyone. If someone could help me that would be great. I have a Galaxy S4 Active (i537) and it was bricked doing an upgrade to 5.0. If anyone can supply me with a 5.0 debrick image, it would really be appreciated. What I have to offer you is a beer or money through PayPal. I do have a 4.4.2 128 MB image but it is not working. I also have a lot of debrick images if someone can help me. It is a Quad-core 1.9 GHz Krait 300 CPU, Adreno 320 GPU; Qualcomm Snapdragon 600 chipset so it shouldn’t need a test point to force into download mode. I’m assuming the aboot is different on the lollipop rom and that is why I can’t get it to download mode. Can someone please take time out to help me?
To get the image you have to have a rooted Galaxy S4 Active on 5.0 lollipop, and have to install busybox, and a simple syntax program like terminal emulator which you would have to install. You also would have to install root explorer. These are all android apps with the extension .apk. Once those 3 programs are installed you would have to press terminal emulator and enter this code:
Su (press enter) to get super use access, then on the next command type just like this
busybox dd if=/dev/block/mmcblk0 of=/sdcard/debrick.img bs=1M count=128
The image which will be put on the “sdcard” of the phone. Not the external sdcard but the internal sd card.
Then use root explorer to navigate to the root of the sdcard and copy it to let’s say your download folder.
Then plug in the phone and copy it onto your computer to copy on your desktop. Once you have the image then if you can send it to [email protected] it would be appreciated and I WILL give you money, a free jtag, or we could discuss whatever you want!
Please someone do not ignore this and help me. You would be actually helping a lot of people that need this image. Thank you.

Categories

Resources