summaryrefslogblamecommitdiffstats
path: root/mm/gup.c
blob: c057784c844456f237adc9065bb4c9a3c230fdc6 (plain) (tree)
1
2
3
4
5
6
7




                           
                     
                           




                          

                        
                          
 
                            
                        
                         
 

                     

                                                             
 











                                                                              
 























                                                                              



                                                                      
                                         


                          
 
      
                                    
                                                 

                                                           









                                                                       
                                  





                                                       
                           
         
                                                     
                             



                                                      

                                                 










                                                                              














                                                                           

         












                                                            
                               
                               






                                                                        










                                                                               
                                                                  



                                                 




















                                                                        
    
                                    
                    


                                    
































                                                                             
                            
         
 







                                                           



                                                                







                                                           



                                                                
         
                                                      
                                                 






                                                                   







                                                                 





                                              
                                                          

                                       
                                         







                                                                  
         




                                                               

 











































                                                                           




                                                                      






                                                                             


                                                                    

                                                                




                                                                         

                                                 



                                                                                



                                                                      






                                                                             
                                                               






























                                                                              


                                                                               

                                                



                                           
                    











                                                                               
                                                      
                                               










                                                                             




                                                                   
                               


                 



















                                                                     
                                                                      





















                                                                          







                                                                      









                                                                       
                   
                               
                                          













                                                                              
            
















                                                                          
 






                                                                             
                         
























                                                                              
                         
                              






                                                                               
                                                     
                 




                                                          
                 
          









                                                                       

                           


                                

                                                                            

                                                           
                                                         



                                        

                                                            
                                                                


                                                             
           
                                                                   

                             


                    






                                                                    

                                                                               










                                                                                
                                                                       





                                                                             

                                                                             

                                                                   

                                                                     

                                   



                                                      
 
      



                                            
                                                 


                                                             
                                      




                                                                        
                                                               


                                       










                                                               
                  
                          






                                       






                                                                             

                                                                              
 










































































































                                                                              
                                                                       


                                                                     


                                                                               
 
                                     

  

























                                                                                             















                                                                    
                                                                         

                                                                       

                                                                               
 
                                       
 
  
                                                     














































                                                                              




                                                                 
   



                                                                         
 
                                                                              





                                                                 



                                                                 
   
                                                                


                                                          
                                                                             

                                                                              
 
                              

   






























                                                                         


                                                            





















































































                                                                               



                                                                          
                                        





















                                                                            

























                                                                              

























                                                                               
                                             
                                         


                                                                             
                                                     

                                                            
                                                                        

                                       


                                                           

                                                    
                                           
 
                                                      


                                                               
                                       


                                       
                                                                  































                                                                               
                                 







                                                         



















                                                                  





                                                                           
                                 







                                                         



















                                                                  


                 




                                                                    
                                 






                                                           



















                                                                  


                 







                                                                          
                                             

                                               
                                  







                                                                            
                                              





                                                                       







                                                                            






                                                                             

                                                                          



                           
                                      
            
                                             



                                               
                                              
                                                                       




                                                                            












































                                                                                
                                             
 
                                               
                                  
                              








                                                                               

























                                                                     










                                                                        
                                                                                     













                                                                 
#include <linux/kernel.h>
#include <linux/errno.h>
#include <linux/err.h>
#include <linux/spinlock.h>

#include <linux/mm.h>
#include <linux/memremap.h>
#include <linux/pagemap.h>
#include <linux/rmap.h>
#include <linux/swap.h>
#include <linux/swapops.h>

#include <linux/sched.h>
#include <linux/rwsem.h>
#include <linux/hugetlb.h>

#include <asm/mmu_context.h>
#include <asm/pgtable.h>
#include <asm/tlbflush.h>

#include "internal.h"

static struct page *no_page_table(struct vm_area_struct *vma,
		unsigned int flags)
{
	/*
	 * When core dumping an enormous anonymous area that nobody
	 * has touched so far, we don't want to allocate unnecessary pages or
	 * page tables.  Return error instead of NULL to skip handle_mm_fault,
	 * then get_dump_page() will return NULL to leave a hole in the dump.
	 * But we can only make this optimization where a hole would surely
	 * be zero-filled if handle_mm_fault() actually did handle it.
	 */
	if ((flags & FOLL_DUMP) && (!vma->vm_ops || !vma->vm_ops->fault))
		return ERR_PTR(-EFAULT);
	return NULL;
}

static int follow_pfn_pte(struct vm_area_struct *vma, unsigned long address,
		pte_t *pte, unsigned int flags)
{
	/* No page to get reference */
	if (flags & FOLL_GET)
		return -EFAULT;

	if (flags & FOLL_TOUCH) {
		pte_t entry = *pte;

		if (flags & FOLL_WRITE)
			entry = pte_mkdirty(entry);
		entry = pte_mkyoung(entry);

		if (!pte_same(*pte, entry)) {
			set_pte_at(vma->vm_mm, address, pte, entry);
			update_mmu_cache(vma, address, pte);
		}
	}

	/* Proper page table entry exists, but no corresponding struct page */
	return -EEXIST;
}

static struct page *follow_page_pte(struct vm_area_struct *vma,
		unsigned long address, pmd_t *pmd, unsigned int flags)
{
	struct mm_struct *mm = vma->vm_mm;
	struct dev_pagemap *pgmap = NULL;
	struct page *page;
	spinlock_t *ptl;
	pte_t *ptep, pte;

retry:
	if (unlikely(pmd_bad(*pmd)))
		return no_page_table(vma, flags);

	ptep = pte_offset_map_lock(mm, pmd, address, &ptl);
	pte = *ptep;
	if (!pte_present(pte)) {
		swp_entry_t entry;
		/*
		 * KSM's break_ksm() relies upon recognizing a ksm page
		 * even while it is being migrated, so for that case we
		 * need migration_entry_wait().
		 */
		if (likely(!(flags & FOLL_MIGRATION)))
			goto no_page;
		if (pte_none(pte))
			goto no_page;
		entry = pte_to_swp_entry(pte);
		if (!is_migration_entry(entry))
			goto no_page;
		pte_unmap_unlock(ptep, ptl);
		migration_entry_wait(mm, pmd, address);
		goto retry;
	}
	if ((flags & FOLL_NUMA) && pte_protnone(pte))
		goto no_page;
	if ((flags & FOLL_WRITE) && !pte_write(pte)) {
		pte_unmap_unlock(ptep, ptl);
		return NULL;
	}

	page = vm_normal_page(vma, address, pte);
	if (!page && pte_devmap(pte) && (flags & FOLL_GET)) {
		/*
		 * Only return device mapping pages in the FOLL_GET case since
		 * they are only valid while holding the pgmap reference.
		 */
		pgmap = get_dev_pagemap(pte_pfn(pte), NULL);
		if (pgmap)
			page = pte_page(pte);
		else
			goto no_page;
	} else if (unlikely(!page)) {
		if (flags & FOLL_DUMP) {
			/* Avoid special (like zero) pages in core dumps */
			page = ERR_PTR(-EFAULT);
			goto out;
		}

		if (is_zero_pfn(pte_pfn(pte))) {
			page = pte_page(pte);
		} else {
			int ret;

			ret = follow_pfn_pte(vma, address, ptep, flags);
			page = ERR_PTR(ret);
			goto out;
		}
	}

	if (flags & FOLL_SPLIT && PageTransCompound(page)) {
		int ret;
		get_page(page);
		pte_unmap_unlock(ptep, ptl);
		lock_page(page);
		ret = split_huge_page(page);
		unlock_page(page);
		put_page(page);
		if (ret)
			return ERR_PTR(ret);
		goto retry;
	}

	if (flags & FOLL_GET) {
		get_page(page);

		/* drop the pgmap reference now that we hold the page */
		if (pgmap) {
			put_dev_pagemap(pgmap);
			pgmap = NULL;
		}
	}
	if (flags & FOLL_TOUCH) {
		if ((flags & FOLL_WRITE) &&
		    !pte_dirty(pte) && !PageDirty(page))
			set_page_dirty(page);
		/*
		 * pte_mkyoung() would be more correct here, but atomic care
		 * is needed to avoid losing the dirty bit: it is easier to use
		 * mark_page_accessed().
		 */
		mark_page_accessed(page);
	}
	if ((flags & FOLL_MLOCK) && (vma->vm_flags & VM_LOCKED)) {
		/* Do not mlock pte-mapped THP */
		if (PageTransCompound(page))
			goto out;

		/*
		 * The preliminary mapping check is mainly to avoid the
		 * pointless overhead of lock_page on the ZERO_PAGE
		 * which might bounce very badly if there is contention.
		 *
		 * If the page is already locked, we don't need to
		 * handle it now - vmscan will handle it later if and
		 * when it attempts to reclaim the page.
		 */
		if (page->mapping && trylock_page(page)) {
			lru_add_drain();  /* push cached pages to LRU */
			/*
			 * Because we lock page here, and migration is
			 * blocked by the pte's page reference, and we
			 * know the page is still mapped, we don't even
			 * need to check for file-cache page truncation.
			 */
			mlock_vma_page(page);
			unlock_page(page);
		}
	}
out:
	pte_unmap_unlock(ptep, ptl);
	return page;
no_page:
	pte_unmap_unlock(ptep, ptl);
	if (!pte_none(pte))
		return NULL;
	return no_page_table(vma, flags);
}

/**
 * follow_page_mask - look up a page descriptor from a user-virtual address
 * @vma: vm_area_struct mapping @address
 * @address: virtual address to look up
 * @flags: flags modifying lookup behaviour
 * @page_mask: on output, *page_mask is set according to the size of the page
 *
 * @flags can have FOLL_ flags set, defined in <linux/mm.h>
 *
 * Returns the mapped (struct page *), %NULL if no mapping exists, or
 * an error pointer if there is a mapping to something not represented
 * by a page descriptor (see also vm_normal_page()).
 */
struct page *follow_page_mask(struct vm_area_struct *vma,
			      unsigned long address, unsigned int flags,
			      unsigned int *page_mask)
{
	pgd_t *pgd;
	pud_t *pud;
	pmd_t *pmd;
	spinlock_t *ptl;
	struct page *page;
	struct mm_struct *mm = vma->vm_mm;

	*page_mask = 0;

	page = follow_huge_addr(mm, address, flags & FOLL_WRITE);
	if (!IS_ERR(page)) {
		BUG_ON(flags & FOLL_GET);
		return page;
	}

	pgd = pgd_offset(mm, address);
	if (pgd_none(*pgd) || unlikely(pgd_bad(*pgd)))
		return no_page_table(vma, flags);

	pud = pud_offset(pgd, address);
	if (pud_none(*pud))
		return no_page_table(vma, flags);
	if (pud_huge(*pud) && vma->vm_flags & VM_HUGETLB) {
		page = follow_huge_pud(mm, address, pud, flags);
		if (page)
			return page;
		return no_page_table(vma, flags);
	}
	if (unlikely(pud_bad(*pud)))
		return no_page_table(vma, flags);

	pmd = pmd_offset(pud, address);
	if (pmd_none(*pmd))
		return no_page_table(vma, flags);
	if (pmd_huge(*pmd) && vma->vm_flags & VM_HUGETLB) {
		page = follow_huge_pmd(mm, address, pmd, flags);
		if (page)
			return page;
		return no_page_table(vma, flags);
	}
	if ((flags & FOLL_NUMA) && pmd_protnone(*pmd))
		return no_page_table(vma, flags);
	if (pmd_devmap(*pmd)) {
		ptl = pmd_lock(mm, pmd);
		page = follow_devmap_pmd(vma, address, pmd, flags);
		spin_unlock(ptl);
		if (page)
			return page;
	}
	if (likely(!pmd_trans_huge(*pmd)))
		return follow_page_pte(vma, address, pmd, flags);

	ptl = pmd_lock(mm, pmd);
	if (unlikely(!pmd_trans_huge(*pmd))) {
		spin_unlock(ptl);
		return follow_page_pte(vma, address, pmd, flags);
	}
	if (flags & FOLL_SPLIT) {
		int ret;
		page = pmd_page(*pmd);
		if (is_huge_zero_page(page)) {
			spin_unlock(ptl);
			ret = 0;
			split_huge_pmd(vma, pmd, address);
		} else {
			get_page(page);
			spin_unlock(ptl);
			lock_page(page);
			ret = split_huge_page(page);
			unlock_page(page);
			put_page(page);
		}

		return ret ? ERR_PTR(ret) :
			follow_page_pte(vma, address, pmd, flags);
	}

	page = follow_trans_huge_pmd(vma, address, pmd, flags);
	spin_unlock(ptl);
	*page_mask = HPAGE_PMD_NR - 1;
	return page;
}

static int get_gate_page(struct mm_struct *mm, unsigned long address,
		unsigned int gup_flags, struct vm_area_struct **vma,
		struct page **page)
{
	pgd_t *pgd;
	pud_t *pud;
	pmd_t *pmd;
	pte_t *pte;
	int ret = -EFAULT;

	/* user gate pages are read-only */
	if (gup_flags & FOLL_WRITE)
		return -EFAULT;
	if (address > TASK_SIZE)
		pgd = pgd_offset_k(address);
	else
		pgd = pgd_offset_gate(mm, address);
	BUG_ON(pgd_none(*pgd));
	pud = pud_offset(pgd, address);
	BUG_ON(pud_none(*pud));
	pmd = pmd_offset(pud, address);
	if (pmd_none(*pmd))
		return -EFAULT;
	VM_BUG_ON(pmd_trans_huge(*pmd));
	pte = pte_offset_map(pmd, address);
	if (pte_none(*pte))
		goto unmap;
	*vma = get_gate_vma(mm);
	if (!page)
		goto out;
	*page = vm_normal_page(*vma, address, *pte);
	if (!*page) {
		if ((gup_flags & FOLL_DUMP) || !is_zero_pfn(pte_pfn(*pte)))
			goto unmap;
		*page = pte_page(*pte);
	}
	get_page(*page);
out:
	ret = 0;
unmap:
	pte_unmap(pte);
	return ret;
}

/*
 * mmap_sem must be held on entry.  If @nonblocking != NULL and
 * *@flags does not include FOLL_NOWAIT, the mmap_sem may be released.
 * If it is, *@nonblocking will be set to 0 and -EBUSY returned.
 */
static int faultin_page(struct task_struct *tsk, struct vm_area_struct *vma,
		unsigned long address, unsigned int *flags, int *nonblocking)
{
	struct mm_struct *mm = vma->vm_mm;
	unsigned int fault_flags = 0;
	int ret;

	/* mlock all present pages, but do not fault in new pages */
	if ((*flags & (FOLL_POPULATE | FOLL_MLOCK)) == FOLL_MLOCK)
		return -ENOENT;
	/* For mm_populate(), just skip the stack guard page. */
	if ((*flags & FOLL_POPULATE) &&
			(stack_guard_page_start(vma, address) ||
			 stack_guard_page_end(vma, address + PAGE_SIZE)))
		return -ENOENT;
	if (*flags & FOLL_WRITE)
		fault_flags |= FAULT_FLAG_WRITE;
	if (*flags & FOLL_REMOTE)
		fault_flags |= FAULT_FLAG_REMOTE;
	if (nonblocking)
		fault_flags |= FAULT_FLAG_ALLOW_RETRY;
	if (*flags & FOLL_NOWAIT)
		fault_flags |= FAULT_FLAG_ALLOW_RETRY | FAULT_FLAG_RETRY_NOWAIT;
	if (*flags & FOLL_TRIED) {
		VM_WARN_ON_ONCE(fault_flags & FAULT_FLAG_ALLOW_RETRY);
		fault_flags |= FAULT_FLAG_TRIED;
	}

	ret = handle_mm_fault(mm, vma, address, fault_flags);
	if (ret & VM_FAULT_ERROR) {
		if (ret & VM_FAULT_OOM)
			return -ENOMEM;
		if (ret & (VM_FAULT_HWPOISON | VM_FAULT_HWPOISON_LARGE))
			return *flags & FOLL_HWPOISON ? -EHWPOISON : -EFAULT;
		if (ret & (VM_FAULT_SIGBUS | VM_FAULT_SIGSEGV))
			return -EFAULT;
		BUG();
	}

	if (tsk) {
		if (ret & VM_FAULT_MAJOR)
			tsk->maj_flt++;
		else
			tsk->min_flt++;
	}

	if (ret & VM_FAULT_RETRY) {
		if (nonblocking)
			*nonblocking = 0;
		return -EBUSY;
	}

	/*
	 * The VM_FAULT_WRITE bit tells us that do_wp_page has broken COW when
	 * necessary, even if maybe_mkwrite decided not to set pte_write. We
	 * can thus safely do subsequent page lookups as if they were reads.
	 * But only do so when looping for pte_write is futile: in some cases
	 * userspace may also be wanting to write to the gotten user page,
	 * which a read fault here might prevent (a readonly page might get
	 * reCOWed by userspace write).
	 */
	if ((ret & VM_FAULT_WRITE) && !(vma->vm_flags & VM_WRITE))
		*flags &= ~FOLL_WRITE;
	return 0;
}

static int check_vma_flags(struct vm_area_struct *vma, unsigned long gup_flags)
{
	vm_flags_t vm_flags = vma->vm_flags;
	int write = (gup_flags & FOLL_WRITE);
	int foreign = (gup_flags & FOLL_REMOTE);

	if (vm_flags & (VM_IO | VM_PFNMAP))
		return -EFAULT;

	if (write) {
		if (!(vm_flags & VM_WRITE)) {
			if (!(gup_flags & FOLL_FORCE))
				return -EFAULT;
			/*
			 * We used to let the write,force case do COW in a
			 * VM_MAYWRITE VM_SHARED !VM_WRITE vma, so ptrace could
			 * set a breakpoint in a read-only mapping of an
			 * executable, without corrupting the file (yet only
			 * when that file had been opened for writing!).
			 * Anon pages in shared mappings are surprising: now
			 * just reject it.
			 */
			if (!is_cow_mapping(vm_flags))
				return -EFAULT;
		}
	} else if (!(vm_flags & VM_READ)) {
		if (!(gup_flags & FOLL_FORCE))
			return -EFAULT;
		/*
		 * Is there actually any vma we can reach here which does not
		 * have VM_MAYREAD set?
		 */
		if (!(vm_flags & VM_MAYREAD))
			return -EFAULT;
	}
	/*
	 * gups are always data accesses, not instruction
	 * fetches, so execute=false here
	 */
	if (!arch_vma_access_permitted(vma, write, false, foreign))
		return -EFAULT;
	return 0;
}

/**
 * __get_user_pages() - pin user pages in memory
 * @tsk:	task_struct of target task
 * @mm:		mm_struct of target mm
 * @start:	starting user address
 * @nr_pages:	number of pages from start to pin
 * @gup_flags:	flags modifying pin behaviour
 * @pages:	array that receives pointers to the pages pinned.
 *		Should be at least nr_pages long. Or NULL, if caller
 *		only intends to ensure the pages are faulted in.
 * @vmas:	array of pointers to vmas corresponding to each page.
 *		Or NULL if the caller does not require them.
 * @nonblocking: whether waiting for disk IO or mmap_sem contention
 *
 * Returns number of pages pinned. This may be fewer than the number
 * requested. If nr_pages is 0 or negative, returns 0. If no pages
 * were pinned, returns -errno. Each page returned must be released
 * with a put_page() call when it is finished with. vmas will only
 * remain valid while mmap_sem is held.
 *
 * Must be called with mmap_sem held.  It may be released.  See below.
 *
 * __get_user_pages walks a process's page tables and takes a reference to
 * each struct page that each user address corresponds to at a given
 * instant. That is, it takes the page that would be accessed if a user
 * thread accesses the given user virtual address at that instant.
 *
 * This does not guarantee that the page exists in the user mappings when
 * __get_user_pages returns, and there may even be a completely different
 * page there in some cases (eg. if mmapped pagecache has been invalidated
 * and subsequently re faulted). However it does guarantee that the page
 * won't be freed completely. And mostly callers simply care that the page
 * contains data that was valid *at some point in time*. Typically, an IO
 * or similar operation cannot guarantee anything stronger anyway because
 * locks can't be held over the syscall boundary.
 *
 * If @gup_flags & FOLL_WRITE == 0, the page must not be written to. If
 * the page is written to, set_page_dirty (or set_page_dirty_lock, as
 * appropriate) must be called after the page is finished with, and
 * before put_page is called.
 *
 * If @nonblocking != NULL, __get_user_pages will not wait for disk IO
 * or mmap_sem contention, and if waiting is needed to pin all pages,
 * *@nonblocking will be set to 0.  Further, if @gup_flags does not
 * include FOLL_NOWAIT, the mmap_sem will be released via up_read() in
 * this case.
 *
 * A caller using such a combination of @nonblocking and @gup_flags
 * must therefore hold the mmap_sem for reading only, and recognize
 * when it's been released.  Otherwise, it must be held for either
 * reading or writing and will not be released.
 *
 * In most cases, get_user_pages or get_user_pages_fast should be used
 * instead of __get_user_pages. __get_user_pages should be used only if
 * you need some special @gup_flags.
 */
long __get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
		unsigned long start, unsigned long nr_pages,
		unsigned int gup_flags, struct page **pages,
		struct vm_area_struct **vmas, int *nonblocking)
{
	long i = 0;
	unsigned int page_mask;
	struct vm_area_struct *vma = NULL;

	if (!nr_pages)
		return 0;

	VM_BUG_ON(!!pages != !!(gup_flags & FOLL_GET));

	/*
	 * If FOLL_FORCE is set then do not force a full fault as the hinting
	 * fault information is unrelated to the reference behaviour of a task
	 * using the address space
	 */
	if (!(gup_flags & FOLL_FORCE))
		gup_flags |= FOLL_NUMA;

	do {
		struct page *page;
		unsigned int foll_flags = gup_flags;
		unsigned int page_increm;

		/* first iteration or cross vma bound */
		if (!vma || start >= vma->vm_end) {
			vma = find_extend_vma(mm, start);
			if (!vma && in_gate_area(mm, start)) {
				int ret;
				ret = get_gate_page(mm, start & PAGE_MASK,
						gup_flags, &vma,
						pages ? &pages[i] : NULL);
				if (ret)
					return i ? : ret;
				page_mask = 0;
				goto next_page;
			}

			if (!vma || check_vma_flags(vma, gup_flags))
				return i ? : -EFAULT;
			if (is_vm_hugetlb_page(vma)) {
				i = follow_hugetlb_page(mm, vma, pages, vmas,
						&start, &nr_pages, i,
						gup_flags);
				continue;
			}
		}
retry:
		/*
		 * If we have a pending SIGKILL, don't keep faulting pages and
		 * potentially allocating memory.
		 */
		if (unlikely(fatal_signal_pending(current)))
			return i ? i : -ERESTARTSYS;
		cond_resched();
		page = follow_page_mask(vma, start, foll_flags, &page_mask);
		if (!page) {
			int ret;
			ret = faultin_page(tsk, vma, start, &foll_flags,
					nonblocking);
			switch (ret) {
			case 0:
				goto retry;
			case -EFAULT:
			case -ENOMEM:
			case -EHWPOISON:
				return i ? i : ret;
			case -EBUSY:
				return i;
			case -ENOENT:
				goto next_page;
			}
			BUG();
		} else if (PTR_ERR(page) == -EEXIST) {
			/*
			 * Proper page table entry exists, but no corresponding
			 * struct page.
			 */
			goto next_page;
		} else if (IS_ERR(page)) {
			return i ? i : PTR_ERR(page);
		}
		if (pages) {
			pages[i] = page;
			flush_anon_page(vma, page, start);
			flush_dcache_page(page);
			page_mask = 0;
		}
next_page:
		if (vmas) {
			vmas[i] = vma;
			page_mask = 0;
		}
		page_increm = 1 + (~(start >> PAGE_SHIFT) & page_mask);
		if (page_increm > nr_pages)
			page_increm = nr_pages;
		i += page_increm;
		start += page_increm * PAGE_SIZE;
		nr_pages -= page_increm;
	} while (nr_pages);
	return i;
}
EXPORT_SYMBOL(__get_user_pages);

bool vma_permits_fault(struct vm_area_struct *vma, unsigned int fault_flags)
{
	bool write   = !!(fault_flags & FAULT_FLAG_WRITE);
	bool foreign = !!(fault_flags & FAULT_FLAG_REMOTE);
	vm_flags_t vm_flags = write ? VM_WRITE : VM_READ;

	if (!(vm_flags & vma->vm_flags))
		return false;

	/*
	 * The architecture might have a hardware protection
	 * mechanism other than read/write that can deny access.
	 *
	 * gup always represents data access, not instruction
	 * fetches, so execute=false here:
	 */
	if (!arch_vma_access_permitted(vma, write, false, foreign))
		return false;

	return true;
}

/*
 * fixup_user_fault() - manually resolve a user page fault
 * @tsk:	the task_struct to use for page fault accounting, or
 *		NULL if faults are not to be recorded.
 * @mm:		mm_struct of target mm
 * @address:	user address
 * @fault_flags:flags to pass down to handle_mm_fault()
 * @unlocked:	did we unlock the mmap_sem while retrying, maybe NULL if caller
 *		does not allow retry
 *
 * This is meant to be called in the specific scenario where for locking reasons
 * we try to access user memory in atomic context (within a pagefault_disable()
 * section), this returns -EFAULT, and we want to resolve the user fault before
 * trying again.
 *
 * Typically this is meant to be used by the futex code.
 *
 * The main difference with get_user_pages() is that this function will
 * unconditionally call handle_mm_fault() which will in turn perform all the
 * necessary SW fixup of the dirty and young bits in the PTE, while
 * get_user_pages() only guarantees to update these in the struct page.
 *
 * This is important for some architectures where those bits also gate the
 * access permission to the page because they are maintained in software.  On
 * such architectures, gup() will not be enough to make a subsequent access
 * succeed.
 *
 * This function will not return with an unlocked mmap_sem. So it has not the
 * same semantics wrt the @mm->mmap_sem as does filemap_fault().
 */
int fixup_user_fault(struct task_struct *tsk, struct mm_struct *mm,
		     unsigned long address, unsigned int fault_flags,
		     bool *unlocked)
{
	struct vm_area_struct *vma;
	int ret, major = 0;

	if (unlocked)
		fault_flags |= FAULT_FLAG_ALLOW_RETRY;

retry:
	vma = find_extend_vma(mm, address);
	if (!vma || address < vma->vm_start)
		return -EFAULT;

	if (!vma_permits_fault(vma, fault_flags))
		return -EFAULT;

	ret = handle_mm_fault(mm, vma, address, fault_flags);
	major |= ret & VM_FAULT_MAJOR;
	if (ret & VM_FAULT_ERROR) {
		if (ret & VM_FAULT_OOM)
			return -ENOMEM;
		if (ret & (VM_FAULT_HWPOISON | VM_FAULT_HWPOISON_LARGE))
			return -EHWPOISON;
		if (ret & (VM_FAULT_SIGBUS | VM_FAULT_SIGSEGV))
			return -EFAULT;
		BUG();
	}

	if (ret & VM_FAULT_RETRY) {
		down_read(&mm->mmap_sem);
		if (!(fault_flags & FAULT_FLAG_TRIED)) {
			*unlocked = true;
			fault_flags &= ~FAULT_FLAG_ALLOW_RETRY;
			fault_flags |= FAULT_FLAG_TRIED;
			goto retry;
		}
	}

	if (tsk) {
		if (major)
			tsk->maj_flt++;
		else
			tsk->min_flt++;
	}
	return 0;
}

static __always_inline long __get_user_pages_locked(struct task_struct *tsk,
						struct mm_struct *mm,
						unsigned long start,
						unsigned long nr_pages,
						int write, int force,
						struct page **pages,
						struct vm_area_struct **vmas,
						int *locked, bool notify_drop,
						unsigned int flags)
{
	long ret, pages_done;
	bool lock_dropped;

	if (locked) {
		/* if VM_FAULT_RETRY can be returned, vmas become invalid */
		BUG_ON(vmas);
		/* check caller initialized locked */
		BUG_ON(*locked != 1);
	}

	if (pages)
		flags |= FOLL_GET;
	if (write)
		flags |= FOLL_WRITE;
	if (force)
		flags |= FOLL_FORCE;

	pages_done = 0;
	lock_dropped = false;
	for (;;) {
		ret = __get_user_pages(tsk, mm, start, nr_pages, flags, pages,
				       vmas, locked);
		if (!locked)
			/* VM_FAULT_RETRY couldn't trigger, bypass */
			return ret;

		/* VM_FAULT_RETRY cannot return errors */
		if (!*locked) {
			BUG_ON(ret < 0);
			BUG_ON(ret >= nr_pages);
		}

		if (!pages)
			/* If it's a prefault don't insist harder */
			return ret;

		if (ret > 0) {
			nr_pages -= ret;
			pages_done += ret;
			if (!nr_pages)
				break;
		}
		if (*locked) {
			/* VM_FAULT_RETRY didn't trigger */
			if (!pages_done)
				pages_done = ret;
			break;
		}
		/* VM_FAULT_RETRY triggered, so seek to the faulting offset */
		pages += ret;
		start += ret << PAGE_SHIFT;

		/*
		 * Repeat on the address that fired VM_FAULT_RETRY
		 * without FAULT_FLAG_ALLOW_RETRY but with
		 * FAULT_FLAG_TRIED.
		 */
		*locked = 1;
		lock_dropped = true;
		down_read(&mm->mmap_sem);
		ret = __get_user_pages(tsk, mm, start, 1, flags | FOLL_TRIED,
				       pages, NULL, NULL);
		if (ret != 1) {
			BUG_ON(ret > 1);
			if (!pages_done)
				pages_done = ret;
			break;
		}
		nr_pages--;
		pages_done++;
		if (!nr_pages)
			break;
		pages++;
		start += PAGE_SIZE;
	}
	if (notify_drop && lock_dropped && *locked) {
		/*
		 * We must let the caller know we temporarily dropped the lock
		 * and so the critical section protected by it was lost.
		 */
		up_read(&mm->mmap_sem);
		*locked = 0;
	}
	return pages_done;
}

/*
 * We can leverage the VM_FAULT_RETRY functionality in the page fault
 * paths better by using either get_user_pages_locked() or
 * get_user_pages_unlocked().
 *
 * get_user_pages_locked() is suitable to replace the form:
 *
 *      down_read(&mm->mmap_sem);
 *      do_something()
 *      get_user_pages(tsk, mm, ..., pages, NULL);
 *      up_read(&mm->mmap_sem);
 *
 *  to:
 *
 *      int locked = 1;
 *      down_read(&mm->mmap_sem);
 *      do_something()
 *      get_user_pages_locked(tsk, mm, ..., pages, &locked);
 *      if (locked)
 *          up_read(&mm->mmap_sem);
 */
long get_user_pages_locked(unsigned long start, unsigned long nr_pages,
			   int write, int force, struct page **pages,
			   int *locked)
{
	return __get_user_pages_locked(current, current->mm, start, nr_pages,
				       write, force, pages, NULL, locked, true,
				       FOLL_TOUCH);
}
EXPORT_SYMBOL(get_user_pages_locked);

/*
 * Same as get_user_pages_unlocked(...., FOLL_TOUCH) but it allows to
 * pass additional gup_flags as last parameter (like FOLL_HWPOISON).
 *
 * NOTE: here FOLL_TOUCH is not set implicitly and must be set by the
 * caller if required (just like with __get_user_pages). "FOLL_GET",
 * "FOLL_WRITE" and "FOLL_FORCE" are set implicitly as needed
 * according to the parameters "pages", "write", "force"
 * respectively.
 */
__always_inline long __get_user_pages_unlocked(struct task_struct *tsk, struct mm_struct *mm,
					       unsigned long start, unsigned long nr_pages,
					       int write, int force, struct page **pages,
					       unsigned int gup_flags)
{
	long ret;
	int locked = 1;
	down_read(&mm->mmap_sem);
	ret = __get_user_pages_locked(tsk, mm, start, nr_pages, write, force,
				      pages, NULL, &locked, false, gup_flags);
	if (locked)
		up_read(&mm->mmap_sem);
	return ret;
}
EXPORT_SYMBOL(__get_user_pages_unlocked);

/*
 * get_user_pages_unlocked() is suitable to replace the form:
 *
 *      down_read(&mm->mmap_sem);
 *      get_user_pages(tsk, mm, ..., pages, NULL);
 *      up_read(&mm->mmap_sem);
 *
 *  with:
 *
 *      get_user_pages_unlocked(tsk, mm, ..., pages);
 *
 * It is functionally equivalent to get_user_pages_fast so
 * get_user_pages_fast should be used instead, if the two parameters
 * "tsk" and "mm" are respectively equal to current and current->mm,
 * or if "force" shall be set to 1 (get_user_pages_fast misses the
 * "force" parameter).
 */
long get_user_pages_unlocked(unsigned long start, unsigned long nr_pages,
			     int write, int force, struct page **pages)
{
	return __get_user_pages_unlocked(current, current->mm, start, nr_pages,
					 write, force, pages, FOLL_TOUCH);
}
EXPORT_SYMBOL(get_user_pages_unlocked);

/*
 * get_user_pages_remote() - pin user pages in memory
 * @tsk:	the task_struct to use for page fault accounting, or
 *		NULL if faults are not to be recorded.
 * @mm:		mm_struct of target mm
 * @start:	starting user address
 * @nr_pages:	number of pages from start to pin
 * @write:	whether pages will be written to by the caller
 * @force:	whether to force access even when user mapping is currently
 *		protected (but never forces write access to shared mapping).
 * @pages:	array that receives pointers to the pages pinned.
 *		Should be at least nr_pages long. Or NULL, if caller
 *		only intends to ensure the pages are faulted in.
 * @vmas:	array of pointers to vmas corresponding to each page.
 *		Or NULL if the caller does not require them.
 *
 * Returns number of pages pinned. This may be fewer than the number
 * requested. If nr_pages is 0 or negative, returns 0. If no pages
 * were pinned, returns -errno. Each page returned must be released
 * with a put_page() call when it is finished with. vmas will only
 * remain valid while mmap_sem is held.
 *
 * Must be called with mmap_sem held for read or write.
 *
 * get_user_pages walks a process's page tables and takes a reference to
 * each struct page that each user address corresponds to at a given
 * instant. That is, it takes the page that would be accessed if a user
 * thread accesses the given user virtual address at that instant.
 *
 * This does not guarantee that the page exists in the user mappings when
 * get_user_pages returns, and there may even be a completely different
 * page there in some cases (eg. if mmapped pagecache has been invalidated
 * and subsequently re faulted). However it does guarantee that the page
 * won't be freed completely. And mostly callers simply care that the page
 * contains data that was valid *at some point in time*. Typically, an IO
 * or similar operation cannot guarantee anything stronger anyway because
 * locks can't be held over the syscall boundary.
 *
 * If write=0, the page must not be written to. If the page is written to,
 * set_page_dirty (or set_page_dirty_lock, as appropriate) must be called
 * after the page is finished with, and before put_page is called.
 *
 * get_user_pages is typically used for fewer-copy IO operations, to get a
 * handle on the memory by some means other than accesses via the user virtual
 * addresses. The pages may be submitted for DMA to devices or accessed via
 * their kernel linear mapping (via the kmap APIs). Care should be taken to
 * use the correct cache flushing APIs.
 *
 * See also get_user_pages_fast, for performance critical applications.
 *
 * get_user_pages should be phased out in favor of
 * get_user_pages_locked|unlocked or get_user_pages_fast. Nothing
 * should use get_user_pages because it cannot pass
 * FAULT_FLAG_ALLOW_RETRY to handle_mm_fault.
 */
long get_user_pages_remote(struct task_struct *tsk, struct mm_struct *mm,
		unsigned long start, unsigned long nr_pages,
		int write, int force, struct page **pages,
		struct vm_area_struct **vmas)
{
	return __get_user_pages_locked(tsk, mm, start, nr_pages, write, force,
				       pages, vmas, NULL, false,
				       FOLL_TOUCH | FOLL_REMOTE);
}
EXPORT_SYMBOL(get_user_pages_remote);

/*
 * This is the same as get_user_pages_remote(), just with a
 * less-flexible calling convention where we assume that the task
 * and mm being operated on are the current task's.  We also
 * obviously don't pass FOLL_REMOTE in here.
 */
long get_user_pages(unsigned long start, unsigned long nr_pages,
		int write, int force, struct page **pages,
		struct vm_area_struct **vmas)
{
	return __get_user_pages_locked(current, current->mm, start, nr_pages,
				       write, force, pages, vmas, NULL, false,
				       FOLL_TOUCH);
}
EXPORT_SYMBOL(get_user_pages);

/**
 * populate_vma_page_range() -  populate a range of pages in the vma.
 * @vma:   target vma
 * @start: start address
 * @end:   end address
 * @nonblocking:
 *
 * This takes care of mlocking the pages too if VM_LOCKED is set.
 *
 * return 0 on success, negative error code on error.
 *
 * vma->vm_mm->mmap_sem must be held.
 *
 * If @nonblocking is NULL, it may be held for read or write and will
 * be unperturbed.
 *
 * If @nonblocking is non-NULL, it must held for read only and may be
 * released.  If it's released, *@nonblocking will be set to 0.
 */
long populate_vma_page_range(struct vm_area_struct *vma,
		unsigned long start, unsigned long end, int *nonblocking)
{
	struct mm_struct *mm = vma->vm_mm;
	unsigned long nr_pages = (end - start) / PAGE_SIZE;
	int gup_flags;

	VM_BUG_ON(start & ~PAGE_MASK);
	VM_BUG_ON(end   & ~PAGE_MASK);
	VM_BUG_ON_VMA(start < vma->vm_start, vma);
	VM_BUG_ON_VMA(end   > vma->vm_end, vma);
	VM_BUG_ON_MM(!rwsem_is_locked(&mm->mmap_sem), mm);

	gup_flags = FOLL_TOUCH | FOLL_POPULATE | FOLL_MLOCK;
	if (vma->vm_flags & VM_LOCKONFAULT)
		gup_flags &= ~FOLL_POPULATE;
	/*
	 * We want to touch writable mappings with a write fault in order
	 * to break COW, except for shared mappings because these don't COW
	 * and we would not want to dirty them for nothing.
	 */
	if ((vma->vm_flags & (VM_WRITE | VM_SHARED)) == VM_WRITE)
		gup_flags |= FOLL_WRITE;

	/*
	 * We want mlock to succeed for regions that have any permissions
	 * other than PROT_NONE.
	 */
	if (vma->vm_flags & (VM_READ | VM_WRITE | VM_EXEC))
		gup_flags |= FOLL_FORCE;

	/*
	 * We made sure addr is within a VMA, so the following will
	 * not result in a stack expansion that recurses back here.
	 */
	return __get_user_pages(current, mm, start, nr_pages, gup_flags,
				NULL, NULL, nonblocking);
}

/*
 * __mm_populate - populate and/or mlock pages within a range of address space.
 *
 * This is used to implement mlock() and the MAP_POPULATE / MAP_LOCKED mmap
 * flags. VMAs must be already marked with the desired vm_flags, and
 * mmap_sem must not be held.
 */
int __mm_populate(unsigned long start, unsigned long len, int ignore_errors)
{
	struct mm_struct *mm = current->mm;
	unsigned long end, nstart, nend;
	struct vm_area_struct *vma = NULL;
	int locked = 0;
	long ret = 0;

	VM_BUG_ON(start & ~PAGE_MASK);
	VM_BUG_ON(len != PAGE_ALIGN(len));
	end = start + len;

	for (nstart = start; nstart < end; nstart = nend) {
		/*
		 * We want to fault in pages for [nstart; end) address range.
		 * Find first corresponding VMA.
		 */
		if (!locked) {
			locked = 1;
			down_read(&mm->mmap_sem);
			vma = find_vma(mm, nstart);
		} else if (nstart >= vma->vm_end)
			vma = vma->vm_next;
		if (!vma || vma->vm_start >= end)
			break;
		/*
		 * Set [nstart; nend) to intersection of desired address
		 * range with the first VMA. Also, skip undesirable VMA types.
		 */
		nend = min(end, vma->vm_end);
		if (vma->vm_flags & (VM_IO | VM_PFNMAP))
			continue;
		if (nstart < vma->vm_start)
			nstart = vma->vm_start;
		/*
		 * Now fault in a range of pages. populate_vma_page_range()
		 * double checks the vma flags, so that it won't mlock pages
		 * if the vma was already munlocked.
		 */
		ret = populate_vma_page_range(vma, nstart, nend, &locked);
		if (ret < 0) {
			if (ignore_errors) {
				ret = 0;
				continue;	/* continue at next VMA */
			}
			break;
		}
		nend = nstart + ret * PAGE_SIZE;
		ret = 0;
	}
	if (locked)
		up_read(&mm->mmap_sem);
	return ret;	/* 0 or negative error code */
}

/**
 * get_dump_page() - pin user page in memory while writing it to core dump
 * @addr: user address
 *
 * Returns struct page pointer of user page pinned for dump,
 * to be freed afterwards by put_page().
 *
 * Returns NULL on any kind of failure - a hole must then be inserted into
 * the corefile, to preserve alignment with its headers; and also returns
 * NULL wherever the ZERO_PAGE, or an anonymous pte_none, has been found -
 * allowing a hole to be left in the corefile to save diskspace.
 *
 * Called without mmap_sem, but after all other threads have been killed.
 */
#ifdef CONFIG_ELF_CORE
struct page *get_dump_page(unsigned long addr)
{
	struct vm_area_struct *vma;
	struct page *page;

	if (__get_user_pages(current, current->mm, addr, 1,
			     FOLL_FORCE | FOLL_DUMP | FOLL_GET, &page, &vma,
			     NULL) < 1)
		return NULL;
	flush_cache_page(vma, addr, page_to_pfn(page));
	return page;
}
#endif /* CONFIG_ELF_CORE */

/*
 * Generic RCU Fast GUP
 *
 * get_user_pages_fast attempts to pin user pages by walking the page
 * tables directly and avoids taking locks. Thus the walker needs to be
 * protected from page table pages being freed from under it, and should
 * block any THP splits.
 *
 * One way to achieve this is to have the walker disable interrupts, and
 * rely on IPIs from the TLB flushing code blocking before the page table
 * pages are freed. This is unsuitable for architectures that do not need
 * to broadcast an IPI when invalidating TLBs.
 *
 * Another way to achieve this is to batch up page table containing pages
 * belonging to more than one mm_user, then rcu_sched a callback to free those
 * pages. Disabling interrupts will allow the fast_gup walker to both block
 * the rcu_sched callback, and an IPI that we broadcast for splitting THPs
 * (which is a relatively rare event). The code below adopts this strategy.
 *
 * Before activating this code, please be aware that the following assumptions
 * are currently made:
 *
 *  *) HAVE_RCU_TABLE_FREE is enabled, and tlb_remove_table is used to free
 *      pages containing page tables.
 *
 *  *) ptes can be read atomically by the architecture.
 *
 *  *) access_ok is sufficient to validate userspace address ranges.
 *
 * The last two assumptions can be relaxed by the addition of helper functions.
 *
 * This code is based heavily on the PowerPC implementation by Nick Piggin.
 */
#ifdef CONFIG_HAVE_GENERIC_RCU_GUP

#ifdef __HAVE_ARCH_PTE_SPECIAL
static int gup_pte_range(pmd_t pmd, unsigned long addr, unsigned long end,
			 int write, struct page **pages, int *nr)
{
	pte_t *ptep, *ptem;
	int ret = 0;

	ptem = ptep = pte_offset_map(&pmd, addr);
	do {
		/*
		 * In the line below we are assuming that the pte can be read
		 * atomically. If this is not the case for your architecture,
		 * please wrap this in a helper function!
		 *
		 * for an example see gup_get_pte in arch/x86/mm/gup.c
		 */
		pte_t pte = READ_ONCE(*ptep);
		struct page *head, *page;

		/*
		 * Similar to the PMD case below, NUMA hinting must take slow
		 * path using the pte_protnone check.
		 */
		if (!pte_present(pte) || pte_special(pte) ||
			pte_protnone(pte) || (write && !pte_write(pte)))
			goto pte_unmap;

		if (!arch_pte_access_permitted(pte, write))
			goto pte_unmap;

		VM_BUG_ON(!pfn_valid(pte_pfn(pte)));
		page = pte_page(pte);
		head = compound_head(page);

		if (!page_cache_get_speculative(head))
			goto pte_unmap;

		if (unlikely(pte_val(pte) != pte_val(*ptep))) {
			put_page(head);
			goto pte_unmap;
		}

		VM_BUG_ON_PAGE(compound_head(page) != head, page);
		pages[*nr] = page;
		(*nr)++;

	} while (ptep++, addr += PAGE_SIZE, addr != end);

	ret = 1;

pte_unmap:
	pte_unmap(ptem);
	return ret;
}
#else

/*
 * If we can't determine whether or not a pte is special, then fail immediately
 * for ptes. Note, we can still pin HugeTLB and THP as these are guaranteed not
 * to be special.
 *
 * For a futex to be placed on a THP tail page, get_futex_key requires a
 * __get_user_pages_fast implementation that can pin pages. Thus it's still
 * useful to have gup_huge_pmd even if we can't operate on ptes.
 */
static int gup_pte_range(pmd_t pmd, unsigned long addr, unsigned long end,
			 int write, struct page **pages, int *nr)
{
	return 0;
}
#endif /* __HAVE_ARCH_PTE_SPECIAL */

static int gup_huge_pmd(pmd_t orig, pmd_t *pmdp, unsigned long addr,
		unsigned long end, int write, struct page **pages, int *nr)
{
	struct page *head, *page;
	int refs;

	if (write && !pmd_write(orig))
		return 0;

	refs = 0;
	head = pmd_page(orig);
	page = head + ((addr & ~PMD_MASK) >> PAGE_SHIFT);
	do {
		VM_BUG_ON_PAGE(compound_head(page) != head, page);
		pages[*nr] = page;
		(*nr)++;
		page++;
		refs++;
	} while (addr += PAGE_SIZE, addr != end);

	if (!page_cache_add_speculative(head, refs)) {
		*nr -= refs;
		return 0;
	}

	if (unlikely(pmd_val(orig) != pmd_val(*pmdp))) {
		*nr -= refs;
		while (refs--)
			put_page(head);
		return 0;
	}

	return 1;
}

static int gup_huge_pud(pud_t orig, pud_t *pudp, unsigned long addr,
		unsigned long end, int write, struct page **pages, int *nr)
{
	struct page *head, *page;
	int refs;

	if (write && !pud_write(orig))
		return 0;

	refs = 0;
	head = pud_page(orig);
	page = head + ((addr & ~PUD_MASK) >> PAGE_SHIFT);
	do {
		VM_BUG_ON_PAGE(compound_head(page) != head, page);
		pages[*nr] = page;
		(*nr)++;
		page++;
		refs++;
	} while (addr += PAGE_SIZE, addr != end);

	if (!page_cache_add_speculative(head, refs)) {
		*nr -= refs;
		return 0;
	}

	if (unlikely(pud_val(orig) != pud_val(*pudp))) {
		*nr -= refs;
		while (refs--)
			put_page(head);
		return 0;
	}

	return 1;
}

static int gup_huge_pgd(pgd_t orig, pgd_t *pgdp, unsigned long addr,
			unsigned long end, int write,
			struct page **pages, int *nr)
{
	int refs;
	struct page *head, *page;

	if (write && !pgd_write(orig))
		return 0;

	refs = 0;
	head = pgd_page(orig);
	page = head + ((addr & ~PGDIR_MASK) >> PAGE_SHIFT);
	do {
		VM_BUG_ON_PAGE(compound_head(page) != head, page);
		pages[*nr] = page;
		(*nr)++;
		page++;
		refs++;
	} while (addr += PAGE_SIZE, addr != end);

	if (!page_cache_add_speculative(head, refs)) {
		*nr -= refs;
		return 0;
	}

	if (unlikely(pgd_val(orig) != pgd_val(*pgdp))) {
		*nr -= refs;
		while (refs--)
			put_page(head);
		return 0;
	}

	return 1;
}

static int gup_pmd_range(pud_t pud, unsigned long addr, unsigned long end,
		int write, struct page **pages, int *nr)
{
	unsigned long next;
	pmd_t *pmdp;

	pmdp = pmd_offset(&pud, addr);
	do {
		pmd_t pmd = READ_ONCE(*pmdp);

		next = pmd_addr_end(addr, end);
		if (pmd_none(pmd))
			return 0;

		if (unlikely(pmd_trans_huge(pmd) || pmd_huge(pmd))) {
			/*
			 * NUMA hinting faults need to be handled in the GUP
			 * slowpath for accounting purposes and so that they
			 * can be serialised against THP migration.
			 */
			if (pmd_protnone(pmd))
				return 0;

			if (!gup_huge_pmd(pmd, pmdp, addr, next, write,
				pages, nr))
				return 0;

		} else if (unlikely(is_hugepd(__hugepd(pmd_val(pmd))))) {
			/*
			 * architecture have different format for hugetlbfs
			 * pmd format and THP pmd format
			 */
			if (!gup_huge_pd(__hugepd(pmd_val(pmd)), addr,
					 PMD_SHIFT, next, write, pages, nr))
				return 0;
		} else if (!gup_pte_range(pmd, addr, next, write, pages, nr))
				return 0;
	} while (pmdp++, addr = next, addr != end);

	return 1;
}

static int gup_pud_range(pgd_t pgd, unsigned long addr, unsigned long end,
			 int write, struct page **pages, int *nr)
{
	unsigned long next;
	pud_t *pudp;

	pudp = pud_offset(&pgd, addr);
	do {
		pud_t pud = READ_ONCE(*pudp);

		next = pud_addr_end(addr, end);
		if (pud_none(pud))
			return 0;
		if (unlikely(pud_huge(pud))) {
			if (!gup_huge_pud(pud, pudp, addr, next, write,
					  pages, nr))
				return 0;
		} else if (unlikely(is_hugepd(__hugepd(pud_val(pud))))) {
			if (!gup_huge_pd(__hugepd(pud_val(pud)), addr,
					 PUD_SHIFT, next, write, pages, nr))
				return 0;
		} else if (!gup_pmd_range(pud, addr, next, write, pages, nr))
			return 0;
	} while (pudp++, addr = next, addr != end);

	return 1;
}

/*
 * Like get_user_pages_fast() except it's IRQ-safe in that it won't fall back to
 * the regular GUP. It will only return non-negative values.
 */
int __get_user_pages_fast(unsigned long start, int nr_pages, int write,
			  struct page **pages)
{
	struct mm_struct *mm = current->mm;
	unsigned long addr, len, end;
	unsigned long next, flags;
	pgd_t *pgdp;
	int nr = 0;

	start &= PAGE_MASK;
	addr = start;
	len = (unsigned long) nr_pages << PAGE_SHIFT;
	end = start + len;

	if (unlikely(!access_ok(write ? VERIFY_WRITE : VERIFY_READ,
					start, len)))
		return 0;

	/*
	 * Disable interrupts.  We use the nested form as we can already have
	 * interrupts disabled by get_futex_key.
	 *
	 * With interrupts disabled, we block page table pages from being
	 * freed from under us. See mmu_gather_tlb in asm-generic/tlb.h
	 * for more details.
	 *
	 * We do not adopt an rcu_read_lock(.) here as we also want to
	 * block IPIs that come from THPs splitting.
	 */

	local_irq_save(flags);
	pgdp = pgd_offset(mm, addr);
	do {
		pgd_t pgd = READ_ONCE(*pgdp);

		next = pgd_addr_end(addr, end);
		if (pgd_none(pgd))
			break;
		if (unlikely(pgd_huge(pgd))) {
			if (!gup_huge_pgd(pgd, pgdp, addr, next, write,
					  pages, &nr))
				break;
		} else if (unlikely(is_hugepd(__hugepd(pgd_val(pgd))))) {
			if (!gup_huge_pd(__hugepd(pgd_val(pgd)), addr,
					 PGDIR_SHIFT, next, write, pages, &nr))
				break;
		} else if (!gup_pud_range(pgd, addr, next, write, pages, &nr))
			break;
	} while (pgdp++, addr = next, addr != end);
	local_irq_restore(flags);

	return nr;
}

/**
 * get_user_pages_fast() - pin user pages in memory
 * @start:	starting user address
 * @nr_pages:	number of pages from start to pin
 * @write:	whether pages will be written to
 * @pages:	array that receives pointers to the pages pinned.
 *		Should be at least nr_pages long.
 *
 * Attempt to pin user pages in memory without taking mm->mmap_sem.
 * If not successful, it will fall back to taking the lock and
 * calling get_user_pages().
 *
 * Returns number of pages pinned. This may be fewer than the number
 * requested. If nr_pages is 0 or negative, returns 0. If no pages
 * were pinned, returns -errno.
 */
int get_user_pages_fast(unsigned long start, int nr_pages, int write,
			struct page **pages)
{
	int nr, ret;

	start &= PAGE_MASK;
	nr = __get_user_pages_fast(start, nr_pages, write, pages);
	ret = nr;

	if (nr < nr_pages) {
		/* Try to get the remaining pages with get_user_pages */
		start += nr << PAGE_SHIFT;
		pages += nr;

		ret = get_user_pages_unlocked(start, nr_pages - nr, write, 0, pages);

		/* Have to be a bit careful with return values */
		if (nr > 0) {
			if (ret < 0)
				ret = nr;
			else
				ret += nr;
		}
	}

	return ret;
}

#endif /* CONFIG_HAVE_GENERIC_RCU_GUP */
mmit/MAINTAINERS?id=6305902c2f871fd6db60af367bd7120fa977fa74'>6305902c2f87 ^
e6a476fd5f65 ^


934455d7af23 ^
90d72ac6e1c3 ^
e6a476fd5f65 ^






90d72ac6e1c3 ^
e6a476fd5f65 ^
d48d38e87c2c ^
5e2125985045 ^
d48d38e87c2c ^

d48d38e87c2c ^
bbff48f5e9e1 ^
5e2125985045 ^
d48d38e87c2c ^
0b514fdb5207 ^






0b514fdb5207 ^
0b514fdb5207 ^


7a2071c58f36 ^
d48d38e87c2c ^


66314223aa5e ^
ba2b7d0ad59f ^
66314223aa5e ^

ba2b7d0ad59f ^


66314223aa5e ^

ba2b7d0ad59f ^
66314223aa5e ^


71bcada88b0f ^




65ebcc115889 ^
a92177eadfb7 ^


65ebcc115889 ^




a92177eadfb7 ^

a92177eadfb7 ^
346e2e4a8b47 ^
f53b2bffc4e0 ^
6da969a5fe97 ^
26389c78269a ^
346e2e4a8b47 ^


eb11adabcfa0 ^
62f6f0863e5b ^

daac6f8642f7 ^
65ebcc115889 ^
2b7a52a459cb ^
8b58be884a9f ^
efc03ecb9d67 ^
2b7a52a459cb ^

1bbd7089f2ef ^
706e69d67652 ^
1bbd7089f2ef ^


2b7a52a459cb ^
8b58be884a9f ^
efc03ecb9d67 ^
2b7a52a459cb ^

98ad6e3b1f5f ^
8b58be884a9f ^
efc03ecb9d67 ^
7d2c86b5a048 ^

4e89e8f61bcd ^
4e89e8f61bcd ^


679ec0ef08af ^
5351684f4354 ^
4e89e8f61bcd ^
9df92e6c770e ^
4e89e8f61bcd ^
8a61f0135c69 ^
98ad6e3b1f5f ^
54274d71d935 ^
e4651a9ff469 ^
54274d71d935 ^


9affbd2458ec ^
54274d71d935 ^



875728807ff0 ^



54274d71d935 ^
875728807ff0 ^
e4651a9ff469 ^
870725d9fcde ^


e4651a9ff469 ^
875728807ff0 ^
e4651a9ff469 ^
875728807ff0 ^

e4651a9ff469 ^

ecc265fe9e09 ^

875728807ff0 ^
e4651a9ff469 ^
875728807ff0 ^
870725d9fcde ^
e93fde28aa56 ^







740d93b123fc ^








7e8f403fecd3 ^
740d93b123fc ^


d4275354993e ^
8b58be884a9f ^
efc03ecb9d67 ^
d4275354993e ^



e66b6d8e86a6 ^




e0cca11ba60f ^
e66b6d8e86a6 ^
04529fe2a298 ^




41fd91b4df9e ^
560746eb79d3 ^
41fd91b4df9e ^



4f31102bbba3 ^
41fd91b4df9e ^
8a61f0135c69 ^


04529fe2a298 ^
e66b6d8e86a6 ^




6ab2a85545c6 ^
e66b6d8e86a6 ^
51f29d444145 ^

f0fd9ad87e69 ^
51f29d444145 ^




bd2a337a25dd ^
fb9d4959d2fb ^
c2fd4e380322 ^


df8eb5691c48 ^
e3ec3a3d11ad ^
ae9b56e3996d ^
51f29d444145 ^
b8f9879ea9d9 ^




e1d3c0fd701d ^
b8f9879ea9d9 ^
38074229de47 ^

d19766ec5221 ^
38074229de47 ^


d19766ec5221 ^
38074229de47 ^
9d7005f98754 ^







d58de0387282 ^






b229ece9911c ^
5909c654a6f2 ^
1da177e4c3f4
d094485323a1 ^
76593d6fb0a5 ^
85091b718969 ^
b229ece9911c ^

85091b718969 ^
953a64798d82 ^
08223d80df38 ^
b3e5f2634ad6 ^
08223d80df38 ^
679655daffdd ^




b3e5f2634ad6 ^
a1867d36b3bd ^
14d77c4ddfd8 ^
a1867d36b3bd ^


25f73ed5c67d ^
a1867d36b3bd ^
e7839f25df8e ^
8b58be884a9f ^
eecdf2267216 ^
1da177e4c3f4
679655daffdd ^

1da177e4c3f4
9a10a870e09f ^
f726ee65ae61 ^
9a10a870e09f ^



fa1c114fdaa6 ^
8b58be884a9f ^

f726ee65ae61 ^
fa1c114fdaa6 ^
72c706b77577 ^
fa1c114fdaa6 ^
fa451753b6b7 ^
fa1c114fdaa6 ^
12e62d6f7ec4 ^



58cfb681bffb ^
12e62d6f7ec4 ^


2be7d22f0625 ^






dba4b74d2da8 ^
2be7d22f0625 ^
1d7e1e6b1b8e ^






2c2a6172afab ^





6f69a6d776f6 ^
8b58be884a9f ^
6f69a6d776f6 ^
679655daffdd ^
6f69a6d776f6 ^
7ae115b4f50d ^
8b58be884a9f ^
cb2f33e95966 ^
e443e3832428 ^
8d5ca6ec4e5c ^


2b133ad6e9e9 ^
8d5ca6ec4e5c ^
1da177e4c3f4
8b58be884a9f ^
476604de5a9d ^
44ae98b53961 ^
1da177e4c3f4

679655daffdd ^

c117ab842001 ^
1da177e4c3f4
04ac2f46d6ec ^
24e1511f675b ^
04ac2f46d6ec ^



a1cfac48ba4c ^
a02875a67d74 ^
a1cfac48ba4c ^
df6212529c64 ^
a1cfac48ba4c ^
dfae90ed7fb5 ^





b414dc16f6ee ^





6f0d65afd4c5 ^
b414dc16f6ee ^
6bd0f4369973 ^






888f2804e463 ^





155155451837 ^



f2294c2d66d0 ^
155155451837 ^

8f4c79ce79d1 ^
8b58be884a9f ^
c69f677cc852 ^
8f4c79ce79d1 ^
8a61f0135c69 ^
679655daffdd ^
8f4c79ce79d1 ^
89e5785fc8a6 ^
a02875a67d74 ^
89e5785fc8a6 ^
9f2f381f8138 ^
89e5785fc8a6 ^
5cbac98ad146 ^





754ce4f29937 ^
a02875a67d74 ^
754ce4f29937 ^
9df92e6c770e ^
754ce4f29937 ^
0ef090151345 ^






e9cb1c5a5ba9 ^






914a3f3b3754 ^
a02875a67d74 ^

914a3f3b3754 ^
faf2e1dbd874 ^
914a3f3b3754 ^
1da177e4c3f4
8b58be884a9f ^
724c6b35ecff ^
1da177e4c3f4


679655daffdd ^
1da177e4c3f4
26780d9e12ed ^
b75f00507623 ^




26780d9e12ed ^
a92b7b80579f ^
915f389d9c52 ^
8b58be884a9f ^
915f389d9c52 ^
ad3f9a2238e4 ^
915f389d9c52 ^
a92b7b80579f ^
679655daffdd ^
c117ab842001 ^
679655daffdd ^
a92b7b80579f ^
70e840499aae ^
8b58be884a9f ^
450c622e9ff1 ^

70e840499aae ^
679655daffdd ^

70e840499aae ^
5f97f7f9400d ^
e336f61fe238 ^

5f97f7f9400d ^
249d9d9d6b7b ^
5f97f7f9400d ^
e336f61fe238 ^
679655daffdd ^
5f97f7f9400d ^

e336f61fe238 ^


679655daffdd ^
5f97f7f9400d ^
1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4
d34cb28a3718 ^
1da177e4c3f4
c117ab842001 ^
679655daffdd ^

1da177e4c3f4
d5269395f5e2 ^
009a54103372 ^
d5269395f5e2 ^





6777376e0d5b ^







e2d1d6c0a5d3 ^
8b58be884a9f ^
e2d1d6c0a5d3 ^
ed072f9e80f0 ^
491b26b40222 ^
e2d1d6c0a5d3 ^
679655daffdd ^
e2d1d6c0a5d3 ^

8b58be884a9f ^

e2d1d6c0a5d3 ^
ed072f9e80f0 ^
491b26b40222 ^
e2d1d6c0a5d3 ^
679655daffdd ^
e2d1d6c0a5d3 ^
300abeb5490d ^
6212de88f8a2 ^
70d14fcf365c ^
300abeb5490d ^
679655daffdd ^

300abeb5490d ^
c6c8fea29769 ^
207df49e75a8 ^
c679ff8fb246 ^
207df49e75a8 ^
c6c8fea29769 ^




e2d1d6c0a5d3 ^
8b58be884a9f ^
e2d1d6c0a5d3 ^


679655daffdd ^
e2d1d6c0a5d3 ^
cafe56359144 ^
47cd2eb0ee05 ^
cafe56359144 ^




e2d1d6c0a5d3 ^
55817d3d5c48 ^
679655daffdd ^

e2d1d6c0a5d3 ^
564ee3606fe6 ^





e2d1d6c0a5d3 ^
8b58be884a9f ^
e2d1d6c0a5d3 ^
679655daffdd ^

c117ab842001 ^
e2d1d6c0a5d3 ^
1394f0322179 ^
a4edbc101151 ^
b3fe92b03dd6 ^
1443176fd685 ^
e3b2d3f33b3c ^

679655daffdd ^
566da5b2666e ^
e190d6b14007 ^
b3fe92b03dd6 ^
e190d6b14007 ^

7b35f03338a8 ^
e190d6b14007 ^
566da5b2666e ^
b3fe92b03dd6 ^
566da5b2666e ^

679655daffdd ^
1394f0322179 ^
936ed49a540e ^
109ec8c396ea ^
b3fe92b03dd6 ^
936ed49a540e ^



1394f0322179 ^
8b58be884a9f ^
b3fe92b03dd6 ^
e3b2d3f33b3c ^

8460241e4477 ^
1394f0322179 ^
1e6d320f4068 ^
b3fe92b03dd6 ^
1e6d320f4068 ^

679655daffdd ^
1e6d320f4068 ^
d24ecfcc3953 ^
8b58be884a9f ^
b3fe92b03dd6 ^
d24ecfcc3953 ^

679655daffdd ^
d24ecfcc3953 ^
1e2043779d8e ^

b3fe92b03dd6 ^
1e2043779d8e ^





b54cf35a7f65 ^




1da177e4c3f4
8b58be884a9f ^
08deed1ef62d ^
1da177e4c3f4
679655daffdd ^
1da177e4c3f4
2b54aaef7a3a ^
8b58be884a9f ^
2b54aaef7a3a ^

679655daffdd ^
2b54aaef7a3a ^
63fbd24e5102 ^
8b58be884a9f ^
960d4d1ba691 ^
eb491ecac13f ^
781c2844845c ^
63fbd24e5102 ^
22e7a424854b ^

1da177e4c3f4
679655daffdd ^
1da177e4c3f4
63fbd24e5102 ^
8b58be884a9f ^
960d4d1ba691 ^
eb491ecac13f ^
63fbd24e5102 ^

22e7a424854b ^

1da177e4c3f4
679655daffdd ^

1da177e4c3f4

79b30750d99a ^
898602a04950 ^
4cd72c6e72e8 ^
a6c36ee67760 ^
ce00f85c45d7 ^

679655daffdd ^
c117ab842001 ^
1da177e4c3f4
b5f4df3483a1 ^






39105890516b ^
8b58be884a9f ^
39105890516b ^

adfc5217e9db ^
39105890516b ^
32ec90d5d5bb ^





948c51e6a8d7 ^
f1d1baebd1f8 ^

948c51e6a8d7 ^

adfc5217e9db ^

948c51e6a8d7 ^
4d9d2cb026c7 ^
08f6dd89d26f ^
4d9d2cb026c7 ^

adfc5217e9db ^
4d9d2cb026c7 ^
90f4c5944b38 ^
497a045d13dc ^
a3db2bba6d19 ^
f18cf0503872 ^
497a045d13dc ^
90f4c5944b38 ^
af4b8e371b0f ^


90f4c5944b38 ^
af4b8e371b0f ^

e4ef47f2fe33 ^
af4b8e371b0f ^

9209bec4f811 ^
f680f25c635a ^
8bcdd9297d21 ^
f680f25c635a ^
8bcdd9297d21 ^
f680f25c635a ^
9209bec4f811 ^
f680f25c635a ^
a2f6734c5f68 ^







9209bec4f811 ^
5b293ebe7572 ^






e076e96227ef ^


eb6725d03027 ^
e076e96227ef ^



7110e227c86b ^





2df94fd66a11 ^


3b4b6fe94edb ^

2df94fd66a11 ^
eb6725d03027 ^
2df94fd66a11 ^


e36661e48baa ^
2df94fd66a11 ^
70371cef114c ^



eb6725d03027 ^
70371cef114c ^







948c51e6a8d7 ^
236294774e24 ^
8b58be884a9f ^
948c51e6a8d7 ^

adfc5217e9db ^
948c51e6a8d7 ^
a9533e7ea3c4 ^

818c07b894df ^
85d63686d892 ^
006a8f148690 ^
a9533e7ea3c4 ^
5615171c935f ^
a9533e7ea3c4 ^
f62ebdd581ea ^
a9533e7ea3c4 ^
9958d6f9a680 ^
3b7f040ac653 ^
9958d6f9a680 ^



6a6b5ad08774 ^
3b7f040ac653 ^
6a6b5ad08774 ^



36c0237f1ae0 ^




eb6725d03027 ^
36c0237f1ae0 ^







7b7f588b50d4 ^
5e163903ba59 ^
7b7f588b50d4 ^




c9678d867216 ^






b83022051a81 ^





7725ccfda597 ^
aa8033705eee ^

455518e7b5ff ^


7725ccfda597 ^
8b230ed8ec96 ^
439e9575e777 ^
8b230ed8ec96 ^

f844a0ead401 ^
8b230ed8ec96 ^
5cdf7f767849 ^
8b58be884a9f ^
5cdf7f767849 ^

679655daffdd ^

c117ab842001 ^
5cdf7f767849 ^
af39917d5a59 ^







ff1d5c2f0268 ^
eb032b9837a9 ^
ff1d5c2f0268 ^

72dbb7051334 ^
ff1d5c2f0268 ^
eb1eb04fdfbd ^
c0778e2534b8 ^

4e0c4a47d723 ^
eb1eb04fdfbd ^

8a6e25357d51 ^
9c106405ddf8 ^
eb1eb04fdfbd ^
679655daffdd ^

eb1eb04fdfbd ^
1da177e4c3f4
009a54103372 ^
661263b55d56 ^
96b6aba08762 ^
275ffde46203 ^
f96236e585e2 ^
679655daffdd ^
90d72ac6e1c3 ^
1da177e4c3f4
1f34923c8a7d ^






af39917d5a59 ^






2141355fcd4d ^







a5432f5ad438 ^
8b58be884a9f ^
a5432f5ad438 ^




c815ca39a0aa ^







77d5140fe78c ^
8b58be884a9f ^
661263b55d56 ^
275ffde46203 ^
77d5140fe78c ^
679655daffdd ^
90d72ac6e1c3 ^
77d5140fe78c ^
201b6bab6798 ^
5c574f501d46 ^
201b6bab6798 ^



c117ab842001 ^
201b6bab6798 ^


77dac90fe4c3 ^
8b58be884a9f ^

77dac90fe4c3 ^

679655daffdd ^



77dac90fe4c3 ^
e2d1d6c0a5d3 ^
8d15d3864a73 ^
1caa60b6d28a ^
ec78213acd6d ^
870482a41900 ^

e2d1d6c0a5d3 ^
f35f6c8f74a0 ^
8d15d3864a73 ^
8d15d3864a73 ^
c117ab842001 ^



e2d1d6c0a5d3 ^
4261a2043f1b ^
8b58be884a9f ^
ec78213acd6d ^
1caa60b6d28a ^
ec78213acd6d ^
870482a41900 ^

4261a2043f1b ^
8d15d3864a73 ^

8d15d3864a73 ^
c117ab842001 ^

4261a2043f1b ^
95d16c7211a5 ^


6305902c2f87 ^
95d16c7211a5 ^
c117ab842001 ^
95d16c7211a5 ^
6305902c2f87 ^
38a94118a69c ^
95d16c7211a5 ^
b84894c7f088 ^





ef0bbac33dc0 ^







b81545422166 ^
8b58be884a9f ^
a4724ed6f084 ^

b81545422166 ^

679655daffdd ^
679655daffdd ^
c117ab842001 ^
679655daffdd ^

b81545422166 ^
9030aaf9bf0a ^
09d9032751bf ^
82593f87b6c1 ^
09d9032751bf ^
fb99f8810965 ^
9030aaf9bf0a ^

144308139cdc ^



9030aaf9bf0a ^
18332a80c3e2 ^
18332a80c3e2 ^
10c6c9c94c3e ^
679655daffdd ^

355ffe69cb32 ^

679655daffdd ^

18332a80c3e2 ^
70e840499aae ^
8b58be884a9f ^
450c622e9ff1 ^

70e840499aae ^
679655daffdd ^

70e840499aae ^

8b58be884a9f ^
450c622e9ff1 ^

70e840499aae ^
679655daffdd ^

70e840499aae ^
704232c2718c ^
8b58be884a9f ^
704232c2718c ^
ce466579b1c9 ^


704232c2718c ^
c117ab842001 ^
679655daffdd ^


704232c2718c ^
46e642614b36 ^

879a5a001b62 ^
46e642614b36 ^
879a5a001b62 ^
46e642614b36 ^

471322a8f66f ^
46e642614b36 ^
0a920b5b666d ^
8b58be884a9f ^
10d83f07103f ^

679655daffdd ^
0a920b5b666d ^
f8407f26b4c9 ^

9740153c49dc ^
f8407f26b4c9 ^



2721ea2c0f26 ^
eee52f9edd0f ^
cea8321cd7f7 ^
2721ea2c0f26 ^



ab0431059ed0 ^




641cb85e6894 ^
2360d2e8f010 ^
001e1c1d5ec6 ^
c327e8f4863d ^
5c6652f55684 ^
7063fbf22611 ^
a6a5580c4d90 ^
7063fbf22611 ^
e3cf00d0a87f ^
b75f00507623 ^


e3cf00d0a87f ^
2b7a52a459cb ^
5587912fcff1 ^
2b7a52a459cb ^

57d0b7a0d77d ^
2b7a52a459cb ^
3d4cfdc93d6b ^






94574d9a4c23 ^






d4275354993e ^
8b58be884a9f ^
37417046b903 ^
d4275354993e ^

9222d247bcba ^


981c3a4ff859 ^
9222d247bcba ^



5df6d737dd4b ^
8fc89a799728 ^

d7e01dc669e3 ^
5df6d737dd4b ^

2a99921a5570 ^
5df6d737dd4b ^
529aa8cb0a59 ^


d094485323a1 ^
529aa8cb0a59 ^


74425eee71eb ^
26de9c26bf85 ^
74425eee71eb ^
26de9c26bf85 ^
c00b511026eb ^
26de9c26bf85 ^
c00b511026eb ^
74425eee71eb ^

4b92b2aa98d9 ^
74425eee71eb ^


1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4



679655daffdd ^


c117ab842001 ^
1da177e4c3f4
0b14261edc8c ^






7704addb60e2 ^
7704addb60e2 ^
f956165f0783 ^
35c1983ef79f ^
baeb0d9b98c3 ^
7704addb60e2 ^
60bea3b54700 ^

7704addb60e2 ^
60bea3b54700 ^
7704addb60e2 ^
e2d1d6c0a5d3 ^
8b58be884a9f ^
51223df6c33d ^
d1f28953ca33 ^
e2d1d6c0a5d3 ^
bb1d5ddaf962 ^
e2d1d6c0a5d3 ^
ec421a7144d4 ^
679655daffdd ^
e2d1d6c0a5d3 ^
1da177e4c3f4
8b58be884a9f ^
64dab2045018 ^
82c4dfc76200 ^
679655daffdd ^
1da177e4c3f4

8b58be884a9f ^
64dab2045018 ^
82c4dfc76200 ^
679655daffdd ^
1da177e4c3f4

8b58be884a9f ^
64dab2045018 ^
82c4dfc76200 ^
679655daffdd ^
1da177e4c3f4
5411552c707f ^
8b58be884a9f ^
d094485323a1 ^
5411552c707f ^
679655daffdd ^
5411552c707f ^
949be0f7be8d ^
8b58be884a9f ^
9ae5e3bc316e ^

949be0f7be8d ^
679655daffdd ^
949be0f7be8d ^
e2d1d6c0a5d3 ^
d6351db20733 ^

e2d1d6c0a5d3 ^
679655daffdd ^

e2d1d6c0a5d3 ^
acb9c1b2f406 ^
8b58be884a9f ^
acb9c1b2f406 ^



a3e3354d56d8 ^
860ca0e6f72d ^
ad50c15919e8 ^
12340313cf94 ^
860ca0e6f72d ^
fb3a0fb6fd3e ^
a3e3354d56d8 ^
679655daffdd ^

a3e3354d56d8 ^


















5d1ea48bdde6 ^
fb3a0fb6fd3e ^
bebe467823c0 ^
968591298514 ^
bebe467823c0 ^

679655daffdd ^

bebe467823c0 ^
1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4

679655daffdd ^
1da177e4c3f4
4371ee353c3f ^
8b58be884a9f ^
4371ee353c3f ^

b544dbac4121 ^
4371ee353c3f ^
1da177e4c3f4
49db19038fe5 ^
45c009a9a447 ^
a6c072c709b4 ^
1da177e4c3f4
27209d913e51 ^

679655daffdd ^

1da177e4c3f4
8a67f0ef2b68 ^

171d0ba86967 ^
8a67f0ef2b68 ^






14d2c34cfa00 ^
b75f00507623 ^



cea8321cd7f7 ^
b75f00507623 ^

14d2c34cfa00 ^
0c570c183ace ^









a8e39c35b5d0 ^
49db19038fe5 ^
a8e39c35b5d0 ^


cea8321cd7f7 ^
a8e39c35b5d0 ^


1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4
679655daffdd ^

1da177e4c3f4
7fe2f6399a84 ^
7fe2f6399a84 ^
103f1790715e ^
7fe2f6399a84 ^
144308139cdc ^
7fe2f6399a84 ^
1da177e4c3f4
ce00f85c45d7 ^
54886a715335 ^
679655daffdd ^

1da177e4c3f4

8b58be884a9f ^

9937ac0cc087 ^
1da177e4c3f4

679655daffdd ^
df6212529c64 ^
1da177e4c3f4

8b58be884a9f ^

1da177e4c3f4
54e5881d0cd7 ^
1da177e4c3f4
679655daffdd ^




1da177e4c3f4
5b07bd57016f ^
8b58be884a9f ^
5b07bd57016f ^

51a2228a8a58 ^

5b07bd57016f ^
9b4ffa48ae85 ^
8b58be884a9f ^
9b4ffa48ae85 ^
679655daffdd ^
9b4ffa48ae85 ^
a910e4a94f69 ^
b75f00507623 ^


a910e4a94f69 ^
6d8425b1e38f ^
6afdeaf865b7 ^
7b212edf86e2 ^
661263b55d56 ^
275ffde46203 ^
6d8425b1e38f ^
30e10993512c ^
6d8425b1e38f ^
679655daffdd ^
90d72ac6e1c3 ^
6c0f03597595 ^
6d8425b1e38f ^
3f101d916b5b ^





c368360beb82 ^
3f101d916b5b ^

203575784987 ^
009a54103372 ^
203575784987 ^





6d8425b1e38f ^
91952bc0b48a ^








6d8425b1e38f ^
e5ec3789c16e ^
cdc992397432 ^
e5ec3789c16e ^


f7917c009c28 ^
e5ec3789c16e ^
d8ae3c33599a ^






e5ec3789c16e ^
8b58be884a9f ^
e6cc0fd1e31c ^
e5ec3789c16e ^

679655daffdd ^
e5ec3789c16e ^
be4c9bad9d0e ^
56f16c74ca25 ^
be4c9bad9d0e ^


f7917c009c28 ^
be4c9bad9d0e ^
d8ae3c33599a ^






be4c9bad9d0e ^






5c20a5c7105b ^




f7917c009c28 ^
5c20a5c7105b ^
a9282d01cf35 ^











b52b97a339c0 ^




7ac6653a085b ^
b52b97a339c0 ^
1da177e4c3f4
8b58be884a9f ^
efc03ecb9d67 ^
1da177e4c3f4

8a61f0135c69 ^
9fa68eae9f82 ^
1da177e4c3f4
1da177e4c3f4
d459883e6c54 ^
c897401bac2b ^
679655daffdd ^
c117ab842001 ^
1da177e4c3f4

1da177e4c3f4
d459883e6c54 ^
679655daffdd ^
1da177e4c3f4
402f6ae4d52e ^









e3ae3525250b ^
be9a6f4025f7 ^
6305902c2f87 ^
be9a6f4025f7 ^
6305902c2f87 ^

e3ae3525250b ^
aaaf5fbf56f1 ^





1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4



679655daffdd ^






1da177e4c3f4
e2d1d6c0a5d3 ^
e2d1d6c0a5d3 ^
5ff77428e55c ^
679655daffdd ^
0f04e2aa0cbe ^
e2d1d6c0a5d3 ^

71bd849dbac9 ^

e2d1d6c0a5d3 ^
71bd849dbac9 ^
e2d1d6c0a5d3 ^
1da177e4c3f4
61eee9a72e40 ^
8b58be884a9f ^

f5df5881e2a2 ^
cf015e9f279f ^

1da177e4c3f4
679655daffdd ^

1da177e4c3f4
eb8edb085716 ^
a89d030ee46a ^
eb8edb085716 ^
c996d8b9a8f3 ^
eb8edb085716 ^
679655daffdd ^
c117ab842001 ^
679655daffdd ^

eb8edb085716 ^
1da177e4c3f4
1da177e4c3f4

f546444d0b4f ^
679655daffdd ^

1da177e4c3f4
ebff05b9c649 ^








1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4
33f810b2036f ^
1da177e4c3f4
ad8f07ccaddc ^
8b58be884a9f ^
d094485323a1 ^
ad8f07ccaddc ^
679655daffdd ^
ad8f07ccaddc ^
1da177e4c3f4
a1406d877200 ^
ef3522f78cf0 ^
679655daffdd ^
c117ab842001 ^
1da177e4c3f4
90563ec4129f ^
8b58be884a9f ^
90563ec4129f ^
679655daffdd ^

90563ec4129f ^
0b3f6109f0c9 ^
8b58be884a9f ^
0b3f6109f0c9 ^
36b3a96f052e ^
0b3f6109f0c9 ^
5efc75e350ce ^
16272ae77e0f ^
5efc75e350ce ^
18f340f90e08 ^
5efc75e350ce ^
197ba5f406cc ^
5efc75e350ce ^
94ab23dd254a ^







833c95456a70 ^






89d07767d051 ^


88476d34ea3c ^
89d07767d051 ^


1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4
1da177e4c3f4

e2d1d6c0a5d3 ^
854ecaad8022 ^
8504eed3ac96 ^
854ecaad8022 ^
e2d1d6c0a5d3 ^

8a6e25357d51 ^
41d35d25e9d4 ^
854ecaad8022 ^
e2d1d6c0a5d3 ^
679655daffdd ^

854ecaad8022 ^
679655daffdd ^

8504eed3ac96 ^
e2d1d6c0a5d3 ^
c0d995aafc1d ^
























599aa6975e7a ^

542f3d5af89c ^
599aa6975e7a ^





abeb935f11e1 ^
6d825f794206 ^
599aa6975e7a ^



335d7c58fcc1 ^
ca4620853a5b ^
335d7c58fcc1 ^



d475c6346a38 ^





e7839f25df8e ^
8b58be884a9f ^
3c5119c05d62 ^
679655daffdd ^


1da177e4c3f4

8b58be884a9f ^
1da177e4c3f4




4480f15b3306 ^
8b58be884a9f ^
1da177e4c3f4
679655daffdd ^


c117ab842001 ^
1da177e4c3f4
702686ad72b8 ^




8a61f0135c69 ^
702686ad72b8 ^


e7839f25df8e ^
8b58be884a9f ^

a46441842519 ^
5be7b50f3227 ^
54e5881d0cd7 ^
5be7b50f3227 ^
679655daffdd ^
5be7b50f3227 ^
53b6b3e00b84 ^




8ada6d2d3063 ^
35fac7e305dc ^
e46d12c65998 ^


53b6b3e00b84 ^


b3e5f2634ad6 ^
4abed0af1e9b ^
17b59560efcf ^

08223d80df38 ^
679655daffdd ^
0ce3c066c49a ^
979a281efe11 ^

248a9dc32a24 ^
b825037d1855 ^
8b58be884a9f ^
b825037d1855 ^

679655daffdd ^

b825037d1855 ^
5b9c9bf6c922 ^
8b58be884a9f ^
5b9c9bf6c922 ^
8b59a454c421 ^
679655daffdd ^
5b9c9bf6c922 ^
7d2c86b5a048 ^
ad3118b98613 ^
795fb7e74dff ^

679655daffdd ^
97be078b87f8 ^


e71e2c6fbbac ^
abbaeff38c00 ^
1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4

679655daffdd ^

1da177e4c3f4
e2d1d6c0a5d3 ^
8b58be884a9f ^
e2d1d6c0a5d3 ^


679655daffdd ^

e2d1d6c0a5d3 ^
b411b3637fa7 ^
28b8e8d4e2e3 ^










b411b3637fa7 ^
87544653abe4 ^
879a5a001b62 ^
08deed1ef62d ^
1da177e4c3f4
679655daffdd ^
7cfc51b9d379 ^
679655daffdd ^
87544653abe4 ^
679655daffdd ^
87544653abe4 ^
679655daffdd ^
1da177e4c3f4

8b58be884a9f ^
4c6a39996517 ^
b0447888dc29 ^
1da177e4c3f4
679655daffdd ^
433e3b3420ad ^
850e94115c5d ^
c117ab842001 ^
1da177e4c3f4
566f59394d7b ^






566f59394d7b ^

03e255b993ff ^









8daf7473203c ^
cbce710709f2 ^
47f956477dc6 ^
362132d228ef ^
8daf7473203c ^
47f956477dc6 ^
89258a975311 ^
8daf7473203c ^
144308139cdc ^
8daf7473203c ^
c117ab842001 ^
8daf7473203c ^
398a6d4a0225 ^

f15013033e2d ^


398a6d4a0225 ^
25a5803037cb ^
398a6d4a0225 ^
144308139cdc ^
398a6d4a0225 ^
c117ab842001 ^
398a6d4a0225 ^
0a3d775fb2c9 ^






bd3b49f25a3e ^
a5ad7a636b2b ^

bd3b49f25a3e ^

a5ad7a636b2b ^
adabdb0cc59e ^
dee8268f8fb2 ^
a5ad7a636b2b ^
e1e906448d2f ^
a5ad7a636b2b ^
bd3b49f25a3e ^

a284e9d14e35 ^










598df1ac2981 ^






1da177e4c3f4
8b58be884a9f ^
01f2073411e0 ^
1da177e4c3f4
679655daffdd ^
1da177e4c3f4
91952bc0b48a ^

















































d099dea2c84e ^







9819da66c81f ^
d099dea2c84e ^
91952bc0b48a ^
91952bc0b48a ^






91952bc0b48a ^
91952bc0b48a ^
5560983b5dc2 ^
91952bc0b48a ^


91952bc0b48a ^


5560983b5dc2 ^
91952bc0b48a ^
8856f5f27cb5 ^









91952bc0b48a ^




















ac0ac38f68be ^
5c4a97d1dabb ^
ac0ac38f68be ^



789c7048bfaa ^
8b58be884a9f ^
789c7048bfaa ^
df6212529c64 ^
789c7048bfaa ^
f17effbe8916 ^







91952bc0b48a ^









1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4

679655daffdd ^
1da177e4c3f4
91952bc0b48a ^









237fead61998 ^
0de9adf284ec ^
a058bfbbeca5 ^
24a923e4e9a2 ^
6dc7516eba9c ^
237fead61998 ^
679655daffdd ^

237fead61998 ^
da9bb1d27b21 ^
8b58be884a9f ^
aa15aa0e869c ^
009a54103372 ^
91445c72cac7 ^
0e438e3f0089 ^
7a85951692eb ^

8c2a6a409023 ^
679655daffdd ^
91445c72cac7 ^
679655daffdd ^
0e438e3f0089 ^
c476c23b45a4 ^
8b58be884a9f ^
487ba8e82ab9 ^
91445c72cac7 ^
c476c23b45a4 ^
487ba8e82ab9 ^
c476c23b45a4 ^

836dae5d0098 ^







f65aad41772f ^








0e438e3f0089 ^
8b58be884a9f ^

91445c72cac7 ^
0e438e3f0089 ^

679655daffdd ^
0e438e3f0089 ^

8b58be884a9f ^
91445c72cac7 ^
0e438e3f0089 ^

679655daffdd ^
0e438e3f0089 ^
77c5f5d2f212 ^
009a54103372 ^
77c5f5d2f212 ^


2caa67a652c9 ^
77c5f5d2f212 ^
6bc7840411b8 ^
8b58be884a9f ^
91445c72cac7 ^
6bc7840411b8 ^

679655daffdd ^
6bc7840411b8 ^

8b58be884a9f ^
91445c72cac7 ^
6bc7840411b8 ^

679655daffdd ^
6bc7840411b8 ^

8b58be884a9f ^
91445c72cac7 ^
ba9a5918c867 ^

679655daffdd ^
ba9a5918c867 ^
44c12cb2f564 ^
009a54103372 ^
67c893167709 ^
44c12cb2f564 ^

679655daffdd ^
44c12cb2f564 ^
3c9c92b6b501 ^
009a54103372 ^
3c9c92b6b501 ^




67c893167709 ^
009a54103372 ^
67c893167709 ^


70aff0ce210f ^
67c893167709 ^
ba9a5918c867 ^
8b58be884a9f ^
25527885e335 ^
91445c72cac7 ^
ba9a5918c867 ^

679655daffdd ^
ba9a5918c867 ^
791b470684c1 ^






ccdfb97972fd ^






ba9a5918c867 ^
8b58be884a9f ^
91445c72cac7 ^
6bc7840411b8 ^

679655daffdd ^
6bc7840411b8 ^
0e438e3f0089 ^
8b58be884a9f ^
91445c72cac7 ^
0e438e3f0089 ^

679655daffdd ^
da9bb1d27b21 ^
4d096ca7e655 ^
009a54103372 ^
4d096ca7e655 ^




af39917d5a59 ^






1f7df953d687 ^


78bef24e8477 ^
1f7df953d687 ^
fb2efb5ce83c ^
1f7df953d687 ^



a9499fa7cd3f ^
1f7df953d687 ^

d68772b7c83f ^








85a00d9bbfb4 ^



8a61f0135c69 ^
85a00d9bbfb4 ^
0bee8d28496a ^


679655daffdd ^
0bee8d28496a ^
4480f15b3306 ^
8b58be884a9f ^

e6cc0fd1e31c ^
fab97220c9e4 ^
679655daffdd ^
fab97220c9e4 ^
aa8a9e25c5e8 ^
34b1901abdf8 ^
aa8a9e25c5e8 ^

9aa328359545 ^
aa8a9e25c5e8 ^
f0319efe1fb7 ^
009a54103372 ^
f0319efe1fb7 ^





3e3a7d666d6d ^
8b58be884a9f ^


3e3a7d666d6d ^


3a1c1d446b7c ^
8b58be884a9f ^
ce00f85c45d7 ^


679655daffdd ^
3a1c1d446b7c ^
5f5bac8272be ^
8b58be884a9f ^
5f5bac8272be ^




931e39a13924 ^


2a8374492b23 ^
931e39a13924 ^
ec207dcc91c6 ^






d5ca90060328 ^
8b58be884a9f ^
d5ca90060328 ^
084bad91afd0 ^
8a61f0135c69 ^
679655daffdd ^
d5ca90060328 ^
38df6492eb51 ^




1da177e4c3f4
adbbf69d1a54 ^
f318a63ba018 ^
4c32531324b8 ^
c996d8b9a8f3 ^
1da177e4c3f4
679655daffdd ^

1da177e4c3f4
22f08ad9721d ^










1da177e4c3f4
019719525820 ^
72be2ccfff0e ^
1da177e4c3f4
679655daffdd ^


1da177e4c3f4

019719525820 ^
8b58be884a9f ^
3c373a5f9395 ^
72be2ccfff0e ^

679655daffdd ^

72be2ccfff0e ^

8b58be884a9f ^
3c373a5f9395 ^
72be2ccfff0e ^
08a225f143bf ^
8a6e25357d51 ^
1da177e4c3f4
679655daffdd ^

1da177e4c3f4
c5532b09bf40 ^
74dd744fd7f7 ^


c5532b09bf40 ^


df6b3cfe20f3 ^



81df63a9a5f9 ^
df6b3cfe20f3 ^



e2a75c446e38 ^





33ad39121d55 ^





8a61f0135c69 ^
33ad39121d55 ^

e53004e20a58 ^
7c81c60f3789 ^
e53004e20a58 ^

679655daffdd ^

e53004e20a58 ^
eea977ed63c1 ^



ccae7af2bf07 ^

eea977ed63c1 ^
91952bc0b48a ^








eea977ed63c1 ^
88b2dbdbed55 ^




c117ab842001 ^
88b2dbdbed55 ^
1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4

679655daffdd ^
1da177e4c3f4
c5408b88ecb8 ^
8b58be884a9f ^
c5408b88ecb8 ^
679655daffdd ^

c5408b88ecb8 ^
053e514f9172 ^





cae727db30e9 ^

f4aaea6d5106 ^
cae727db30e9 ^






c117ab842001 ^
cae727db30e9 ^
e2d1d6c0a5d3 ^
8c836fa85beb ^
18156e7e66e5 ^
e2d1d6c0a5d3 ^
1da177e4c3f4
679655daffdd ^

c117ab842001 ^

679655daffdd ^

1da177e4c3f4
e2d1d6c0a5d3 ^
8b58be884a9f ^
e2d1d6c0a5d3 ^
173acc7ce853 ^
679655daffdd ^
173acc7ce853 ^
b26e0ed4936b ^
05576a1e38e2 ^
b26e0ed4936b ^

d5ca6918bc9f ^

b26e0ed4936b ^
a331b0c36655 ^






eb86ec51f839 ^







a511ce339780 ^








7d2c86b5a048 ^
8b58be884a9f ^
e2d1d6c0a5d3 ^
958a29cb1c91 ^
2ca526bf4953 ^
e2d1d6c0a5d3 ^
679655daffdd ^
8f06ce3b5e53 ^

9f6d3c4b7631 ^
e2d1d6c0a5d3 ^

39e68089f6e1 ^


679655daffdd ^


e2d1d6c0a5d3 ^
f730e3dc6dc4 ^
9bb3c4469e31 ^




8206f664bfd7 ^





9c9f32eddee5 ^








e2d1d6c0a5d3 ^
8b58be884a9f ^
e769980feee8 ^
e2d1d6c0a5d3 ^
679655daffdd ^
e2d1d6c0a5d3 ^

e2d1d6c0a5d3 ^
c173bfac2428 ^
679655daffdd ^

e2d1d6c0a5d3 ^

5489e948dc0f ^

c69f677cc852 ^
e2d1d6c0a5d3 ^
b22fe37b9907 ^
5489e948dc0f ^
56be1416453c ^
679655daffdd ^
d958c62c0cf4 ^
b22fe37b9907 ^

679655daffdd ^
c117ab842001 ^

e2d1d6c0a5d3 ^
a57c188e6c34 ^
c4ef9bc4f7e1 ^
a57c188e6c34 ^
c4ef9bc4f7e1 ^
8a61f0135c69 ^
a57c188e6c34 ^
e2d1d6c0a5d3 ^
8b58be884a9f ^

a4724ed6f084 ^
e2d1d6c0a5d3 ^
679655daffdd ^
e2d1d6c0a5d3 ^

8b58be884a9f ^
a4724ed6f084 ^
846557d3ceb6 ^
0d2b405a6283 ^
679655daffdd ^
0d2b405a6283 ^
60e8c5ab0b09 ^
8b58be884a9f ^
c69f677cc852 ^
efc03ecb9d67 ^
60e8c5ab0b09 ^
bad985a16fb8 ^
8a61f0135c69 ^
60e8c5ab0b09 ^
4689a6b1d497 ^
8b58be884a9f ^

a4724ed6f084 ^
4689a6b1d497 ^

ec21e2ec3676 ^
679655daffdd ^
4689a6b1d497 ^
d9e9d82c24e5 ^
a4724ed6f084 ^
c4ef9bc4f7e1 ^
679655daffdd ^

d9e9d82c24e5 ^
b55ef929cb0b ^
8b58be884a9f ^
6372594ac177 ^
a4724ed6f084 ^
a7205b30106a ^
faf2e1dbd874 ^
a7205b30106a ^
beaf53bff798 ^
8b58be884a9f ^
beaf53bff798 ^
a4724ed6f084 ^
beaf53bff798 ^
ec21e2ec3676 ^
beaf53bff798 ^
d9e9d82c24e5 ^
c4ef9bc4f7e1 ^
a4724ed6f084 ^
c4ef9bc4f7e1 ^
df6212529c64 ^
d9e9d82c24e5 ^

c4ef9bc4f7e1 ^
dc85950a1a17 ^
b4b982979eb2 ^
93711660086d ^
a4724ed6f084 ^
c4ef9bc4f7e1 ^
69aefcead5da ^
dc85950a1a17 ^
69aefcead5da ^
d9e9d82c24e5 ^
1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4

679655daffdd ^
1da177e4c3f4
71038f527f36 ^
49db19038fe5 ^
7fb060820acb ^
bf1c138e3501 ^
71038f527f36 ^
679655daffdd ^


71038f527f36 ^
839a1f79ed0c ^






a5432f5ad438 ^
8b58be884a9f ^
a5432f5ad438 ^





f58ad8f51a5a ^
9b29d481b15a ^
f6238a72092c ^
f58ad8f51a5a ^




3bac380c9012 ^
f58ad8f51a5a ^


5ab7ffea5209 ^
8b58be884a9f ^
1da177e4c3f4
679655daffdd ^
1da177e4c3f4
20b937343e55 ^
409a3e98132c ^
d094485323a1 ^
20b937343e55 ^
679655daffdd ^
20b937343e55 ^
4da621b69e5c ^




90d72ac6e1c3 ^
4da621b69e5c ^

2d24c49080af ^





04578f174f43 ^
8b58be884a9f ^
04578f174f43 ^


679655daffdd ^
c117ab842001 ^
04578f174f43 ^
1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4
baaea1dc0bef ^
679655daffdd ^
1da177e4c3f4
d8e2162cf0bb ^





1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4


679655daffdd ^
1da177e4c3f4
158daf167377 ^




3169a1c77f87 ^







1c23af90dc44 ^
880b0e2649b5 ^
1c23af90dc44 ^
679655daffdd ^

1c23af90dc44 ^
92ed1a76ca31 ^



e7065e20d9a6 ^


92ed1a76ca31 ^
9251ce959cab ^
8b58be884a9f ^
1da177e4c3f4

679655daffdd ^






1da177e4c3f4
1527aab617af ^
8b58be884a9f ^
1527aab617af ^


144308139cdc ^

1527aab617af ^
ff764963479a ^







ccb86a6907c9 ^
bda2562c34c3 ^
ccb86a6907c9 ^
ccb86a6907c9 ^


f8f1ec73b5b1 ^




5be7b50f3227 ^
8b58be884a9f ^
a46441842519 ^
5be7b50f3227 ^
08deed1ef62d ^

5be7b50f3227 ^
679655daffdd ^

c117ab842001 ^
5be7b50f3227 ^
0a34eb8f55a7 ^
8b58be884a9f ^

0a34eb8f55a7 ^


679655daffdd ^

c117ab842001 ^
0a34eb8f55a7 ^
7eea35fe3df8 ^





ca96ea86eed4 ^





a0dc00b430b7 ^
e4651a9ff469 ^
f2fa75cdf8b1 ^
d15b71796316 ^
f2fa75cdf8b1 ^


a0dc00b430b7 ^
bdc6e95e1273 ^

9b692346f8e1 ^
a0dc00b430b7 ^
71a6d0af5b03 ^



11c26770eb02 ^

71a6d0af5b03 ^

d4c41139df6e ^



a31a96ad7206 ^
d4c41139df6e ^
e8deeae24f8b ^
8b58be884a9f ^
661263b55d56 ^
275ffde46203 ^
e8deeae24f8b ^
0c0d06cac63e ^
e8deeae24f8b ^
4b3fa3c486f5 ^


275ffde46203 ^
4b3fa3c486f5 ^
0c0d06cac63e ^
4b3fa3c486f5 ^
e8deeae24f8b ^
8b58be884a9f ^
661263b55d56 ^
275ffde46203 ^
e8deeae24f8b ^
0c0d06cac63e ^
e8deeae24f8b ^

8b58be884a9f ^
661263b55d56 ^
275ffde46203 ^
e8deeae24f8b ^
0c0d06cac63e ^
e8deeae24f8b ^
261982f17051 ^
d95c5b0b905a ^
261982f17051 ^
275ffde46203 ^
261982f17051 ^
0c0d06cac63e ^
261982f17051 ^
e8deeae24f8b ^
8b58be884a9f ^
661263b55d56 ^
275ffde46203 ^
e8deeae24f8b ^
0c0d06cac63e ^
e8deeae24f8b ^

fc3f906bce23 ^
661263b55d56 ^
275ffde46203 ^
e8deeae24f8b ^
0c0d06cac63e ^
e8deeae24f8b ^
584ec9794293 ^





aa3c598b0087 ^


275ffde46203 ^
aa3c598b0087 ^

e8deeae24f8b ^
71a6d0af5b03 ^






48fc9e26705f ^





144308139cdc ^
48fc9e26705f ^
71a6d0af5b03 ^
f9625c48ecca ^
71a6d0af5b03 ^
71a6d0af5b03 ^








e5ab1477bc4d ^









5b5439652af7 ^
7c81c60f3789 ^
ca4620853a5b ^
5b5439652af7 ^
595142e04909 ^
9e012c1acc1f ^
885374e37bd7 ^
9e012c1acc1f ^
047f4ec29453 ^
679655daffdd ^
047f4ec29453 ^
5b5439652af7 ^
844dd05fec17 ^
c0d0787b6d47 ^

3eda71676bd9 ^
c0d0787b6d47 ^
679655daffdd ^


844dd05fec17 ^
8b37fcfc9b34 ^






1da177e4c3f4
ac6aecbf0541 ^
1da177e4c3f4
679655daffdd ^
1da177e4c3f4
91952bc0b48a ^









e2d1d6c0a5d3 ^
e2d1d6c0a5d3 ^
af9f1b3c7fa9 ^
679655daffdd ^

e2d1d6c0a5d3 ^
9257aa496387 ^
693373db508b ^
9257aa496387 ^
693373db508b ^

9257aa496387 ^



c117ab842001 ^
9257aa496387 ^
e2d1d6c0a5d3 ^
693373db508b ^
e2d1d6c0a5d3 ^
693373db508b ^

e2d1d6c0a5d3 ^
679655daffdd ^


c117ab842001 ^
e2d1d6c0a5d3 ^
1da177e4c3f4
6cf515e113fc ^

679655daffdd ^

1da177e4c3f4
ef575f473634 ^





1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4


8a61f0135c69 ^
1da177e4c3f4
4480f15b3306 ^
49db19038fe5 ^
7fb060820acb ^
bf1c138e3501 ^
e2d1d6c0a5d3 ^
679655daffdd ^





679655daffdd ^
e2d1d6c0a5d3 ^
4ef4caad4163 ^
8b58be884a9f ^
eb76c5c03caa ^
54e5881d0cd7 ^
4ef4caad4163 ^
679655daffdd ^

c117ab842001 ^
4ef4caad4163 ^
38bed5429987 ^
8b58be884a9f ^
981c3a4ff859 ^
75fc2d3797c4 ^
38bed5429987 ^
679655daffdd ^
5cee96459726 ^
88606e80da0e ^


05ed8490812a ^
679655daffdd ^
38bed5429987 ^
1da177e4c3f4
1da177e4c3f4
8b64f2a04190 ^
679655daffdd ^

1da177e4c3f4
ede1e6f8b432 ^
8b58be884a9f ^
ede1e6f8b432 ^

679655daffdd ^

ede1e6f8b432 ^
1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4

679655daffdd ^
c117ab842001 ^
679655daffdd ^
ff5a3b509e4e ^
1da177e4c3f4
ff1d2767d5a4 ^
8b58be884a9f ^
85d32e7b0ea5 ^
724c6b35ecff ^
ff1d2767d5a4 ^

679655daffdd ^
ff1d2767d5a4 ^
dd8cd7793781 ^
d094485323a1 ^
95c702154066 ^
679655daffdd ^
dd8cd7793781 ^
e2d1d6c0a5d3 ^
8b58be884a9f ^
e2d1d6c0a5d3 ^
7e25d72458c6 ^
e2d1d6c0a5d3 ^
7d2c86b5a048 ^
8b58be884a9f ^
b9b0332fcf12 ^
679655daffdd ^


c117ab842001 ^
b9b0332fcf12 ^
e07b5d795aeb ^
9e06f631ecef ^
679655daffdd ^

b9b0332fcf12 ^
1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4

679655daffdd ^
1da177e4c3f4
3441cded6511 ^
56459ea9aada ^

3441cded6511 ^

56459ea9aada ^
3441cded6511 ^



7d2c86b5a048 ^
8b58be884a9f ^
11cd29b028be ^

679655daffdd ^
11cd29b028be ^
19990e29fedc ^





5a18c343a6be ^
8b58be884a9f ^
5a18c343a6be ^

679655daffdd ^
5a18c343a6be ^
1da177e4c3f4
6d49e352ae9a ^
1da177e4c3f4
679655daffdd ^
1da177e4c3f4
05183189ee5d ^




a4162747b796 ^


05183189ee5d ^
a4162747b796 ^
f92ca80b28a0 ^
05183189ee5d ^
a4162747b796 ^
8a61f0135c69 ^
a4162747b796 ^

05183189ee5d ^
d85c8a6ab2bb ^
7c81c60f3789 ^
d85c8a6ab2bb ^







7c81c60f3789 ^
d85c8a6ab2bb ^































cb7f07a4c586 ^






6ea884dbc6ee ^
7c81c60f3789 ^
846557d3ceb6 ^
6ea884dbc6ee ^
8547a5bc1044 ^
6ea884dbc6ee ^
5b5439652af7 ^
14d77c4ddfd8 ^
846557d3ceb6 ^
9d4ea27abbb9 ^

14d77c4ddfd8 ^
1da177e4c3f4
40ed1b4caf76 ^
679655daffdd ^


03b70d625c10 ^
c117ab842001 ^

1da177e4c3f4
4560d6772281 ^




4560d6772281 ^
d85c8a6ab2bb ^
7c81c60f3789 ^
d85c8a6ab2bb ^




e8c76eed2ecd ^
8b58be884a9f ^
846557d3ceb6 ^
932d18729dd0 ^
e8c76eed2ecd ^
679655daffdd ^
e8c76eed2ecd ^
1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4
679655daffdd ^
1da177e4c3f4

8b58be884a9f ^
54e5881d0cd7 ^
1da177e4c3f4

1da177e4c3f4
8b58be884a9f ^

1da177e4c3f4
6b1c70b1ff6f ^
1da177e4c3f4
679655daffdd ^
1da177e4c3f4
956c203c5e37 ^
5b88e270253d ^

956c203c5e37 ^



0e16aafb1204 ^
d1e66e6e4509 ^
0e16aafb1204 ^



1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4
679655daffdd ^
1da177e4c3f4
9d348af47656 ^
eddd63a6704a ^
9d348af47656 ^

9aa328359545 ^
9d348af47656 ^
e6babec6cf63 ^
bcbde52b14b7 ^
4b7652ccb77b ^

e6babec6cf63 ^



44b4dad9b571 ^
e6babec6cf63 ^


4b7652ccb77b ^
1da177e4c3f4
f9213e78c42c ^
679655daffdd ^
1da177e4c3f4
6ed9f9c405f9 ^





1e7106fc7ea6 ^
8b58be884a9f ^
1da177e4c3f4
8a6e25357d51 ^
08deed1ef62d ^
1da177e4c3f4
679655daffdd ^


1da177e4c3f4
6cb8c13da108 ^






1ea4c16120f5 ^






0f861e8c47ed ^
487ba8e82ab9 ^
9c5b0ce43d0e ^
c404c199f711 ^
679655daffdd ^

1da177e4c3f4
27471fdb32e7 ^
8b58be884a9f ^
bf1c138e3501 ^
27471fdb32e7 ^
679655daffdd ^
27471fdb32e7 ^
02cf22863923 ^
b6e195fd4f66 ^
ebef9c123617 ^


02cf22863923 ^

68653359beb5 ^
251741b130c4 ^
580947d395c3 ^






ebef9c123617 ^
02cf22863923 ^
b1c97193c643 ^





40ad4a30299f ^





9545f86e3a3b ^
030a13d7099e ^
f0d611616200 ^


9545f86e3a3b ^

03e7c251533b ^
9545f86e3a3b ^
8fe671fc0b9f ^
9545f86e3a3b ^
65519263df87 ^





e89ab51ffd3e ^















14dc124f1b2f ^








aa7168f47d91 ^
74dd744fd7f7 ^
bfd33c4b4b1a ^
74dd744fd7f7 ^


aa7168f47d91 ^
679655daffdd ^
aa7168f47d91 ^
9a4ea5a98652 ^




1da177e4c3f4
c69f677cc852 ^
843393d304ef ^
8a61f0135c69 ^
1da177e4c3f4

db9fd8486bfe ^
8b58be884a9f ^

e6cc0fd1e31c ^
605841f5d263 ^
8a6e25357d51 ^
54e5881d0cd7 ^
1da177e4c3f4
679655daffdd ^

c117ab842001 ^
1da177e4c3f4
c9f04f5847c1 ^
8b58be884a9f ^


c9f04f5847c1 ^
679655daffdd ^


c117ab842001 ^
c9f04f5847c1 ^
e2d1d6c0a5d3 ^
8b58be884a9f ^
e2d1d6c0a5d3 ^
8a6e25357d51 ^
54e5881d0cd7 ^
e2d1d6c0a5d3 ^
679655daffdd ^
f4eea7e213e8 ^
c117ab842001 ^
f4eea7e213e8 ^
e2d1d6c0a5d3 ^
3267a87f9dc3 ^
75dd112aac25 ^
3267a87f9dc3 ^
7f9c24540101 ^
75dd112aac25 ^
3267a87f9dc3 ^
7f9c24540101 ^
3267a87f9dc3 ^

97fa99a3b8aa ^









4ac13e177904 ^

fdc5813fbbd4 ^
4ac13e177904 ^
7106891a5c59 ^

4ac13e177904 ^
4ac13e177904 ^
2671717265ae ^

bf1c138e3501 ^
08deed1ef62d ^
2671717265ae ^


7c1ac18dc02c ^





9eb8ef7479b6 ^
55a23c4af83d ^
c69f677cc852 ^
ce00f85c45d7 ^
679655daffdd ^
8a61f0135c69 ^
9eb8ef7479b6 ^
1da177e4c3f4
8b58be884a9f ^
c69f677cc852 ^
ce00f85c45d7 ^
8a61f0135c69 ^
1da177e4c3f4
f4a9bc4c7de4 ^
8b58be884a9f ^
d094485323a1 ^
5ca92bd96a4d ^
f4a9bc4c7de4 ^
679655daffdd ^
f4a9bc4c7de4 ^
1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4
73d425fd1dda ^

1da177e4c3f4
248a9dc32a24 ^
18ebd564e45e ^
08223d80df38 ^
18ebd564e45e ^


679655daffdd ^
248a9dc32a24 ^
6c8909b42fee ^
8b58be884a9f ^
6c8909b42fee ^
54e5881d0cd7 ^
6c8909b42fee ^
3fb39615007d ^
679655daffdd ^
6c8909b42fee ^
b3e5f2634ad6 ^
08223d80df38 ^
1dd8372d3505 ^
679655daffdd ^
b3e5f2634ad6 ^
9251ce959cab ^
5529c2cdfd87 ^
9251ce959cab ^
679655daffdd ^



b47da97728c0 ^
679655daffdd ^
9251ce959cab ^
844dd05fec17 ^
8b58be884a9f ^
844dd05fec17 ^
679655daffdd ^
844dd05fec17 ^
c3a803e81713 ^
8b58be884a9f ^


0d1644013540 ^


c3a803e81713 ^
8b58be884a9f ^
105bf2fe6b32 ^
fcad3e6b576e ^
dcd01faf6637 ^
f6fde11a9dbc ^
d94e6fed6edb ^
dee1ad47f2ee ^

1da177e4c3f4
0d1644013540 ^







1bff652941c4 ^
105bf2fe6b32 ^
dee1ad47f2ee ^
bc90d2918b34 ^
1da177e4c3f4
0963d59bc0bb ^





ca907a907358 ^

724c6b35ecff ^
ca907a907358 ^
679655daffdd ^
679655daffdd ^
ca907a907358 ^
826d2abe9945 ^
4bd96a7a8185 ^
e9b7d7c81d9b ^

4bd96a7a8185 ^


e9b7d7c81d9b ^
4bd96a7a8185 ^




8a70da82edc5 ^
8b58be884a9f ^
8a70da82edc5 ^
63fae2192a89 ^
8a70da82edc5 ^

679655daffdd ^

c117ab842001 ^
8a70da82edc5 ^
1c0ce89c87b3 ^

efa3144e7cb2 ^
1c0ce89c87b3 ^
efa3144e7cb2 ^

b481de9ca074 ^
15fae50a9bd2 ^
6161b02b934b ^
a0bf797ff10c ^
b481de9ca074 ^
b481de9ca074 ^
b62ff718baab ^
b481de9ca074 ^
679655daffdd ^
b481de9ca074 ^
de8fe0233f07 ^



c117ab842001 ^
de8fe0233f07 ^
e07950a18818 ^
de8fe0233f07 ^
cb109a0eb44c ^
8b58be884a9f ^
1da177e4c3f4

8862bf1ed60d ^
1da177e4c3f4
cb109a0eb44c ^
8b58be884a9f ^
d39e07216649 ^
cb109a0eb44c ^
df6212529c64 ^
cb109a0eb44c ^
0b6e8569b7b7 ^






4480f15b3306 ^
8b58be884a9f ^
1da177e4c3f4
679655daffdd ^
1da177e4c3f4
1202d6ff356c ^
8b58be884a9f ^

1202d6ff356c ^

7443713a31f2 ^
1202d6ff356c ^
4480f15b3306 ^
8473c60314f5 ^
e6cc0fd1e31c ^
52a09a040dc2 ^
679655daffdd ^
77d8798b554c ^
4409ebe9afab ^
8b58be884a9f ^
b0c9065324b7 ^
4409ebe9afab ^

679655daffdd ^


c117ab842001 ^
4409ebe9afab ^
e2d1d6c0a5d3 ^
8b58be884a9f ^
e2d1d6c0a5d3 ^


679655daffdd ^
e2d1d6c0a5d3 ^

8b58be884a9f ^


979b6c135fc4 ^
e2d1d6c0a5d3 ^
1da177e4c3f4
679655daffdd ^
b61d4a71e483 ^
c117ab842001 ^
679655daffdd ^
1da177e4c3f4
e7839f25df8e ^
8b58be884a9f ^

92094aa0946a ^
282361a046ed ^
099dc4fb6265 ^
e2d1d6c0a5d3 ^
8b58be884a9f ^
e2d1d6c0a5d3 ^

679655daffdd ^
c117ab842001 ^
679655daffdd ^
e2d1d6c0a5d3 ^
1da177e4c3f4
8b58be884a9f ^
a2ac953d7c5c ^
ced649ea3991 ^
1da177e4c3f4
f353976dc2f3 ^
e0057975e09a ^
679655daffdd ^



1da177e4c3f4
a800c7cc5380 ^

981c3a4ff859 ^
a800c7cc5380 ^
75fc2d3797c4 ^
a800c7cc5380 ^
2ed9fd28c288 ^







5b5a9069e889 ^
edd96900cfd5 ^
a800c7cc5380 ^
7ab3a837adfc ^

7ab3a837adfc ^




e2d1d6c0a5d3 ^
8b58be884a9f ^
e2d1d6c0a5d3 ^
679655daffdd ^


e2d1d6c0a5d3 ^
d39b8420da85 ^







71a6d0af5b03 ^





14816b1e2b0e ^
8b58be884a9f ^
14816b1e2b0e ^

54e5881d0cd7 ^
14816b1e2b0e ^
679655daffdd ^

14816b1e2b0e ^
1e65eb425b66 ^

b261aeafe115 ^
1e65eb425b66 ^





144308139cdc ^
1e65eb425b66 ^
2b70e5fda9d5 ^








1da177e4c3f4
8b58be884a9f ^
d5d52273b929 ^
3da0ae6298fa ^
1da177e4c3f4
54e5881d0cd7 ^
1da177e4c3f4
679655daffdd ^



c117ab842001 ^

1da177e4c3f4

8b58be884a9f ^
d5d52273b929 ^
1da177e4c3f4

679655daffdd ^
1da177e4c3f4
d624870ffe6e ^
7c81c60f3789 ^
d624870ffe6e ^




68620bdd10c3 ^
d7104bffcfb7 ^






249c697e5e2c ^
d7104bffcfb7 ^
91821ff3f958 ^
6afdeaf865b7 ^
7b212edf86e2 ^
661263b55d56 ^
275ffde46203 ^
91821ff3f958 ^

679655daffdd ^
90d72ac6e1c3 ^
c117ab842001 ^
91821ff3f958 ^
68620bdd10c3 ^







4453d7364d3b ^






e2d1d6c0a5d3 ^
3256f80fbbc2 ^
e2d1d6c0a5d3 ^

54e5881d0cd7 ^
8f8f01347813 ^
679655daffdd ^

e2d1d6c0a5d3 ^
95252236e73e ^
8b58be884a9f ^
95252236e73e ^

63d24a0eb71b ^
95252236e73e ^
1da177e4c3f4
8b58be884a9f ^
6d85d06673db ^

1da177e4c3f4
679655daffdd ^
c117ab842001 ^
1da177e4c3f4
de456d371d16 ^
8b58be884a9f ^
19003c18e9b4 ^
72be2ccfff0e ^
ae0718f8e3fc ^
d183e11a4a66 ^
d183e11a4a66 ^







ae0718f8e3fc ^
fd8b6cb4d820 ^
9d141cb97703 ^
fd8b6cb4d820 ^

df6212529c64 ^
ae0718f8e3fc ^
af39917d5a59 ^






4660cb354a1d ^
8b58be884a9f ^
4660cb354a1d ^
ae0718f8e3fc ^
679655daffdd ^

ae0718f8e3fc ^
1da177e4c3f4
5eb1f99ea1f5 ^
347d12d727d2 ^
cea8321cd7f7 ^
5eb1f99ea1f5 ^
679655daffdd ^

1da177e4c3f4
ea6c20891eb2 ^
8b58be884a9f ^

346339938ba9 ^
ea6c20891eb2 ^

80811493329e ^
ea6c20891eb2 ^
f41bf02f3dbc ^







1da177e4c3f4
8b58be884a9f ^
f694fc9729a1 ^
1da177e4c3f4
679655daffdd ^
1da177e4c3f4
70fb7ba652e8 ^
5ce45962b26a ^
08deed1ef62d ^

347d12d727d2 ^
5ce45962b26a ^
679655daffdd ^


70fb7ba652e8 ^


1da177e4c3f4

c3000e031cf6 ^
10466f5ae360 ^
ee709b0c62bd ^
1da177e4c3f4
e8b43555a2a8 ^
8b58be884a9f ^
16141c0288f6 ^
1da177e4c3f4
98fac23f332d ^
679655daffdd ^
c117ab842001 ^
679655daffdd ^




c117ab842001 ^
1da177e4c3f4
13b122b3e584 ^






426d62e2158c ^
0a00a775d2a4 ^
c93a64fe6ca6 ^
1fc9d2bf75bb ^
e3e58478c277 ^
a94b40a630f7 ^
426d62e2158c ^
c93a64fe6ca6 ^

679655daffdd ^


c117ab842001 ^
679655daffdd ^
426d62e2158c ^
ad8003d33efe ^
7de609c86722 ^
1fc9d2bf75bb ^

7de609c86722 ^
679655daffdd ^
679655daffdd ^
426d62e2158c ^
513014b71720 ^
ddf0289db22c ^
1fc9d2bf75bb ^

6a7f972dfe8d ^
513014b71720 ^
679655daffdd ^

513014b71720 ^
85f8fffe3c2a ^
8b58be884a9f ^
4ae57b6cfe67 ^
85f8fffe3c2a ^



679655daffdd ^

80811493329e ^
a968cd3ef1d3 ^
85f8fffe3c2a ^
a749474de5f0 ^
0f4ca79ebc98 ^
5c8818b46e06 ^

a749474de5f0 ^

0f4ca79ebc98 ^
a749474de5f0 ^


5c8818b46e06 ^

a749474de5f0 ^
6394a3ec02ab ^
5c8818b46e06 ^
6394a3ec02ab ^







dc009d92435f ^
8b58be884a9f ^
2f327dad14aa ^
346339938ba9 ^
dc009d92435f ^
679655daffdd ^
c117ab842001 ^
679655daffdd ^
dc009d92435f ^
e971461fc59e ^



d410fa4ef991 ^
e971461fc59e ^




7f3c68bee977 ^
74dd744fd7f7 ^

7f3c68bee977 ^


d410fa4ef991 ^
7f3c68bee977 ^




74dd744fd7f7 ^

7f3c68bee977 ^


d410fa4ef991 ^
7f3c68bee977 ^
19c90aa678a1 ^
7f3c68bee977 ^
5b778dadcde0 ^
8b58be884a9f ^
4063eb5fa4ef ^
e3e2aaf7dc0d ^

679655daffdd ^

df6212529c64 ^
5b778dadcde0 ^
679655daffdd ^
4063eb5fa4ef ^
e3e2aaf7dc0d ^
456db8cc450c ^
8b58be884a9f ^
2ed1c5257b5d ^
b9ce08c01020 ^
410d7a979e0b ^




b9ce08c01020 ^
c3bb4d24ab4b ^
8b58be884a9f ^
c3bb4d24ab4b ^





89559a6119e9 ^
8b58be884a9f ^


97c29e747394 ^
89559a6119e9 ^
679655daffdd ^


89559a6119e9 ^
70e840499aae ^
8b58be884a9f ^
450c622e9ff1 ^

70e840499aae ^
679655daffdd ^


70e840499aae ^
1da177e4c3f4
1da177e4c3f4
bf9915cc55cb ^
679655daffdd ^


1da177e4c3f4

8b58be884a9f ^
1da177e4c3f4

679655daffdd ^

1da177e4c3f4
263de9b582b0 ^
c772fc26f893 ^
8b58be884a9f ^
aa69cb8c1e72 ^

263de9b582b0 ^
679655daffdd ^

263de9b582b0 ^
b0461a44a2f1 ^
7c81c60f3789 ^
b0461a44a2f1 ^



1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4


679655daffdd ^
1da177e4c3f4
055616a89387 ^









6f0e772576eb ^









568a17ffce2e ^
8b58be884a9f ^
a4724ed6f084 ^
568a17ffce2e ^
72e91863cb30 ^
070f420b35a2 ^
679655daffdd ^


070f420b35a2 ^
568a17ffce2e ^
32ac7cb26217 ^
















c7fa056c820f ^








32ac7cb26217 ^
















1acd437c59c7 ^




1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4

11c34c7deaee ^
1da177e4c3f4
852bb9f594e0 ^
8b58be884a9f ^

ea668936b708 ^
1da177e4c3f4
a4724ed6f084 ^
8a6e25357d51 ^
54e5881d0cd7 ^
1da177e4c3f4
11c34c7deaee ^

1da177e4c3f4

8b58be884a9f ^
1da177e4c3f4
a4724ed6f084 ^
1da177e4c3f4
11c34c7deaee ^

1da177e4c3f4
77a763694758 ^
a149507bdb78 ^
a4724ed6f084 ^
cba5b1c6e2c4 ^
1da177e4c3f4
11c34c7deaee ^

1da177e4c3f4

1d11cd67f7fe ^
8b58be884a9f ^
1da177e4c3f4
a4724ed6f084 ^
1da177e4c3f4
11c34c7deaee ^

1da177e4c3f4
260c02a9bedd ^
a4724ed6f084 ^
cdeb89943bfc ^
11c34c7deaee ^

1da177e4c3f4
e93adf1e6554 ^
8b58be884a9f ^
e93adf1e6554 ^
a4724ed6f084 ^
e93adf1e6554 ^
a2b1f7c8f413 ^
e93adf1e6554 ^
1da177e4c3f4
a1e0fb420989 ^
8b58be884a9f ^
ce00f85c45d7 ^
a4724ed6f084 ^
a1e0fb420989 ^
ce00f85c45d7 ^
11c34c7deaee ^
4c8f581dda53 ^
1da177e4c3f4
ab06ff3af34a ^
8b58be884a9f ^
a4724ed6f084 ^
92e197095e0a ^
11c34c7deaee ^


ab06ff3af34a ^
1da177e4c3f4
8b58be884a9f ^
1a4520bea65f ^
1da177e4c3f4

a23ce6da9677 ^


ff606677f6a4 ^

bd35665f0a16 ^
a23ce6da9677 ^
b700e7f03df5 ^










13d1cf7e7025 ^
b700e7f03df5 ^
74d50da3e47f ^
b700e7f03df5 ^
e2d1d6c0a5d3 ^
8b58be884a9f ^
e2d1d6c0a5d3 ^
679655daffdd ^
c117ab842001 ^
679655daffdd ^

e2d1d6c0a5d3 ^
4e233cbed249 ^





156e2d1adc03 ^
7c81c60f3789 ^
156e2d1adc03 ^




1da177e4c3f4
7c81c60f3789 ^
cc0b07ed479f ^
1da177e4c3f4
679655daffdd ^

1da177e4c3f4

7c81c60f3789 ^
cc0b07ed479f ^
1da177e4c3f4
679655daffdd ^
aae7bce48176 ^
679655daffdd ^
1da177e4c3f4
917cc4e6b25c ^






68620bdd10c3 ^







512e67f991c8 ^
8b58be884a9f ^

981c3a4ff859 ^
75fc2d3797c4 ^
512e67f991c8 ^
214e0aed639e ^

679655daffdd ^
7486d6da09d4 ^
512e67f991c8 ^
dde33348e53e ^
8b58be884a9f ^
dde33348e53e ^

1da177e4c3f4
679655daffdd ^
20d16fef95fb ^
1da177e4c3f4
ef6ada3de490 ^

756ccb3c351e ^
ef6ada3de490 ^




b62d7946b2dd ^





c87e34efaecc ^
3a980508c3fa ^




c87e34efaecc ^


679655daffdd ^
500c152afbaf ^

c87e34efaecc ^
1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4

679655daffdd ^
1da177e4c3f4
e5f5c99a3937 ^






81365c31afce ^
28b8e8d4e2e3 ^
7d1ae8a8542d ^
7d1ae8a8542d ^
f2eb7f6f7a18 ^


81365c31afce ^
f2eb7f6f7a18 ^
7d1ae8a8542d ^
81365c31afce ^

c12a54b3af79 ^
c12a54b3af79 ^
b4174867bee8 ^
679655daffdd ^
c12a54b3af79 ^
1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4

54e5881d0cd7 ^
1da177e4c3f4
679655daffdd ^
9db35182b952 ^
1da177e4c3f4

8b58be884a9f ^
1da177e4c3f4
9bb9f2220e6d ^
1da177e4c3f4
9db35182b952 ^
1da177e4c3f4

8b58be884a9f ^
1da177e4c3f4

679655daffdd ^
1da177e4c3f4
7442554614cc ^









68620bdd10c3 ^







0d62f800b5f1 ^









07a092fa7404 ^
b75f00507623 ^




07a092fa7404 ^
64a327a7029d ^
8b58be884a9f ^
64a327a7029d ^
491b26b40222 ^
ce466579b1c9 ^

64a327a7029d ^
679655daffdd ^


64a327a7029d ^
b863ceb7ddce ^
8b58be884a9f ^
b863ceb7ddce ^

679655daffdd ^

b863ceb7ddce ^
2b6d83e2b8b7 ^







faf1668c954d ^
8b58be884a9f ^
795fb7e74dff ^
bd7ebec64d65 ^
1b53dc74ef95 ^
faf1668c954d ^
8427defd087a ^




3ad50cca3919 ^




44c14c1d4cf9 ^

adbbf69d1a54 ^
44c14c1d4cf9 ^



74cda169fe65 ^
74cda169fe65 ^
8ac3e99e693c ^
679655daffdd ^
74cda169fe65 ^
b60d6975e80a ^
4e3faf88638c ^
979b6c135fc4 ^
f5ca8502f70c ^
527a626601de ^
679655daffdd ^
1da177e4c3f4
370b8ed905aa ^





fcad584d1283 ^
b9d317040a0a ^

fcad584d1283 ^



a2c3f6567c9a ^
a040d532b912 ^
a2c3f6567c9a ^
16345910d927 ^
a2c3f6567c9a ^

2a69567b875b ^
2f82af08fcc7 ^
18e2842b85a0 ^
1fa7e5473cba ^
2a69567b875b ^
1da177e4c3f4
c69f677cc852 ^
52653199d7b0 ^
8a61f0135c69 ^
c117ab842001 ^
1da177e4c3f4
ca4620853a5b ^






d20620de0c3d ^
6a534c9d265e ^
d20620de0c3d ^

679655daffdd ^

d20620de0c3d ^
e89ab51ffd3e ^








f8f847b51a0e ^






befeb596a722 ^



















9be3c9a5f0cc ^







127c49ae0979 ^
009a54103372 ^
127c49ae0979 ^


8a6e25357d51 ^
275ffde46203 ^
127c49ae0979 ^


ffe06198876a ^
127c49ae0979 ^
ffe06198876a ^
127c49ae0979 ^
6c0f03597595 ^






d20620de0c3d ^
e399065be090 ^




baaea1dc0bef ^
e399065be090 ^
ce00f85c45d7 ^
679655daffdd ^


757e01084737 ^
2c46c9d5779d ^

b75f00507623 ^
2c46c9d5779d ^




70ea91f17f74 ^

70ea91f17f74 ^

679655daffdd ^
551450bb586d ^



679655daffdd ^
70ea91f17f74 ^
f4e9ce66c70c ^
8b58be884a9f ^
242c325eae99 ^
1da177e4c3f4
8a6e25357d51 ^

242c325eae99 ^
ab95eac99c17 ^
1da177e4c3f4
679655daffdd ^

c117ab842001 ^
1da177e4c3f4
26c57ef1ea35 ^
b75f00507623 ^
26c57ef1ea35 ^



3764e82e5150 ^





48b490d23ef5 ^








1228594528fa ^

d668d9ed0683 ^
1228594528fa ^



a2c5d4ed92bb ^
5698c50d9da4 ^

ae85ac71b743 ^
1228594528fa ^
c6375b0a8007 ^
8b58be884a9f ^
c6375b0a8007 ^


0a8c791437db ^
1da177e4c3f4

61eee9a72e40 ^
1da177e4c3f4
679655daffdd ^
1da177e4c3f4

8b58be884a9f ^
1da177e4c3f4
6097050d2645 ^
b05e988ee89d ^
6097050d2645 ^
7425b3403131 ^
679655daffdd ^

1da177e4c3f4
08b7620a6604 ^







e126ba97dba9 ^






cea8321cd7f7 ^
e126ba97dba9 ^




b75f00507623 ^



cea8321cd7f7 ^
b75f00507623 ^


e126ba97dba9 ^
0ce277e45f85 ^










4f4d238f81d3 ^










1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4
679655daffdd ^

1da177e4c3f4

1da177e4c3f4
b7788e135d8b ^
679655daffdd ^
90d72ac6e1c3 ^
6c0f03597595 ^
1da177e4c3f4
b9705b603d1d ^
8b58be884a9f ^
d735410a2759 ^
679655daffdd ^
c897401bac2b ^
d735410a2759 ^
889b2f8783ee ^






d7155691127d ^





8c4c731a89ea ^
182ae55c1285 ^
d094485323a1 ^
8c4c731a89ea ^
679655daffdd ^
8c4c731a89ea ^
0f1006b1f2b7 ^

d094485323a1 ^
0f1006b1f2b7 ^


19a628a0cfa8 ^







0185e197dc65 ^
19a628a0cfa8 ^
7570589da534 ^
2c57213fe043 ^






7570589da534 ^
2c57213fe043 ^
62a37dc7a273 ^
0e837fb985da ^






62a37dc7a273 ^
0e837fb985da ^






62a37dc7a273 ^
0e837fb985da ^






62a37dc7a273 ^
0e837fb985da ^






4e0d13cbb71d ^
8b58be884a9f ^
f7d3210e8b45 ^
7caa79917ad4 ^
4e0d13cbb71d ^
679655daffdd ^
55b5940df9ce ^
4e0d13cbb71d ^
5c4e6f130164 ^
6e443244309a ^
e18eaf8ff940 ^
b2503a9408e4 ^
245feaa61dbd ^
708dce3f0a90 ^
245feaa61dbd ^
679655daffdd ^

c117ab842001 ^
baca2da4c9c5 ^
15a0580ced08 ^
22b174f8b7da ^
679655daffdd ^

15a0580ced08 ^
1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4
679655daffdd ^

1da177e4c3f4
d735410a2759 ^
d86b3001a1a6 ^
c897401bac2b ^
679655daffdd ^
d735410a2759 ^
550a7375fe72 ^
f299470a15ab ^
795fb7e74dff ^
43b416e5f6a3 ^
795fb7e74dff ^
679655daffdd ^
550a7375fe72 ^
ea0af5f6ab0a ^









2d3cf588e9bf ^
205057aeb3c4 ^
2d3cf588e9bf ^
205057aeb3c4 ^
2d3cf588e9bf ^
93f7848b77bc ^
2d3cf588e9bf ^
1da177e4c3f4
09d208ec74b8 ^
d9fb9f384292 ^
1da177e4c3f4
23dc05a33fd4 ^






1da177e4c3f4
52653199d7b0 ^

679655daffdd ^
1da177e4c3f4
a79b03222712 ^
















a79b03222712 ^



1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4

679655daffdd ^
1da177e4c3f4
4aa3eb4cbe0e ^






3c2d774cad5b ^
8b58be884a9f ^
e6cc0fd1e31c ^
e3d33cb13202 ^
3c2d774cad5b ^


be2f2e845493 ^
adbbf69d1a54 ^
f318a63ba018 ^
be2f2e845493 ^
679655daffdd ^
be2f2e845493 ^
b2f5a0514cef ^
e380688217fe ^
4a58448b0a37 ^
4a58448b0a37 ^
679655daffdd ^
b2f5a0514cef ^
86387e1ac4fc ^
4a58448b0a37 ^
db9cf3a345d3 ^
0e05e192c0ff ^
8b58be884a9f ^
42010ed0c669 ^
1a03b81db96a ^
82b985434c5e ^
1da177e4c3f4

42010ed0c669 ^


1da177e4c3f4
679655daffdd ^


c117ab842001 ^

679655daffdd ^


1da177e4c3f4
4cc677350829 ^
87a0874cf19f ^
4cc677350829 ^

87a0874cf19f ^
80811493329e ^
679655daffdd ^

4cc677350829 ^
1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4
d34cb28a3718 ^
1da177e4c3f4
679655daffdd ^
c117ab842001 ^
679655daffdd ^
1da177e4c3f4
5ddb88c0ab63 ^
4ca5829ac8b1 ^
1da177e4c3f4
5e4b269bcd17 ^
4ca5829ac8b1 ^
679655daffdd ^


c117ab842001 ^
1da177e4c3f4
6e43650cee64 ^






1da177e4c3f4
8b58be884a9f ^
979b6c135fc4 ^
b1e8fd54af73 ^
11e980299f92 ^
814fd609fa98 ^

1da177e4c3f4
679655daffdd ^

018d21ed8073 ^


c117ab842001 ^


0c7aecd4bde4 ^
7e814a6c50a1 ^
f4e53f9a4f7d ^
335a67d2ad48 ^
a101ccd141fa ^
1da177e4c3f4

8b58be884a9f ^

8b58be884a9f ^


979b6c135fc4 ^
08deed1ef62d ^
1da177e4c3f4
679655daffdd ^


0a14842f5a3c ^
1da177e4c3f4
73b7656ce4e0 ^




d1fc50247693 ^

73b7656ce4e0 ^
5826bdd1816f ^
73b7656ce4e0 ^


d1fc50247693 ^



73b7656ce4e0 ^
d1fc50247693 ^



73b7656ce4e0 ^


10e2ff1c39e6 ^
87a0874cf19f ^
10e2ff1c39e6 ^


29f8f63272bd ^
2cb4abd12bab ^
8a6e25357d51 ^
29f8f63272bd ^
788873ac70a5 ^


11e980299f92 ^
08deed1ef62d ^

788873ac70a5 ^

018d21ed8073 ^
0b63bf1fe6f9 ^






c117ab842001 ^

788873ac70a5 ^
0e324cf640fb ^







3d396eb17e9f ^
8622315e0142 ^
83c07ddee839 ^

3d396eb17e9f ^
9c2b5bdee125 ^
3d396eb17e9f ^
aa43c2158d5a ^
3d396eb17e9f ^
6423d30f030b ^




1eb3b2167433 ^
0293ba201ddd ^
6423d30f030b ^
55eb94f9e923 ^
c117ab842001 ^
6423d30f030b ^
08eaa1e0ce5b ^
7ebb88e53902 ^
3d396eb17e9f ^
e8b43555a2a8 ^
cd7b996aa6ca ^
0e3b137fbf0f ^
78f581536883 ^

cd7b996aa6ca ^
1da177e4c3f4
679655daffdd ^






c117ab842001 ^

1da177e4c3f4
85ef9cea0288 ^
e21269355eb1 ^
6aff43f817dd ^
f94722653c57 ^
e21269355eb1 ^
85ef9cea0288 ^
679655daffdd ^


85ef9cea0288 ^
1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4

679655daffdd ^

1da177e4c3f4

8b58be884a9f ^

1da177e4c3f4

679655daffdd ^

1da177e4c3f4
383b8fb946af ^


08c283cc039e ^
383b8fb946af ^


fce8a7bb5b4b ^
9ef6bf6c75ab ^

fce8a7bb5b4b ^
2984411f1af4 ^

fce8a7bb5b4b ^
548c237c0a99 ^
fce8a7bb5b4b ^

1da177e4c3f4
2818ef50c4dc ^
1da177e4c3f4
2818ef50c4dc ^
e6f4dee7a8bf ^
2818ef50c4dc ^
679655daffdd ^

1da177e4c3f4
9eb8ef7479b6 ^
8b58be884a9f ^
c69f677cc852 ^
ce00f85c45d7 ^
8a61f0135c69 ^

1da177e4c3f4
79461681692a ^




5be37bf9c17f ^
79461681692a ^

f50d7146a298 ^





fbace43e8817 ^





f5525786b0c4 ^
0e24bdd49d33 ^
f5525786b0c4 ^


8a6e25357d51 ^
30bd0129ce3f ^
f5525786b0c4 ^
4e04d5a3d57a ^
046d0a37024a ^
dc68cd11f5a8 ^
















046d0a37024a ^
f5525786b0c4 ^
50f29fbd3983 ^
cdb55ab07859 ^
50f29fbd3983 ^

d0fb18c5c0ca ^
50f29fbd3983 ^


05eb20fa69df ^


50f29fbd3983 ^
f5525786b0c4 ^
8b58be884a9f ^
f5525786b0c4 ^




c69d72aec52e ^
f5525786b0c4 ^


c46938d4f3ec ^
f5525786b0c4 ^
d21db568d78c ^
692ab1f36b71 ^



d21db568d78c ^
692ab1f36b71 ^
f5525786b0c4 ^
6c284903731e ^
7ec41ee5ad5f ^
f5525786b0c4 ^




186401937927 ^







f5525786b0c4 ^
830e6384e100 ^
c69f677cc852 ^
f5525786b0c4 ^

8a61f0135c69 ^
f5525786b0c4 ^
676eec0daf87 ^
830e6384e100 ^
178ff4c9175d ^
676eec0daf87 ^
178ff4c9175d ^
8a61f0135c69 ^
178ff4c9175d ^

8b37fcfc9b34 ^






f5525786b0c4 ^
8b58be884a9f ^
f5525786b0c4 ^

653f41b52dfc ^


0a4585c63453 ^
653f41b52dfc ^
dfa5d19658a3 ^
653f41b52dfc ^
f5525786b0c4 ^

8b58be884a9f ^
f5525786b0c4 ^


f400c82efb47 ^
cdb55ab07859 ^
f400c82efb47 ^


8fc8b12be13a ^
f400c82efb47 ^
8633fb30aab0 ^





f400c82efb47 ^
cdb55ab07859 ^
f400c82efb47 ^



0db83cede26c ^
7e8970e1d5ae ^


90d72ac6e1c3 ^
0db83cede26c ^
7e8970e1d5ae ^
f5525786b0c4 ^
f299470a15ab ^
f5525786b0c4 ^

43b416e5f6a3 ^
f5525786b0c4 ^
a16fbd65246a ^

f5525786b0c4 ^
6d9947101616 ^
a1415a8f1069 ^
97215800e4b7 ^
c69d72aec52e ^
6d9947101616 ^



c351e29018ee ^





0ad122d90197 ^
8b58be884a9f ^
0ad122d90197 ^

679655daffdd ^

0ad122d90197 ^
c1986ee9bea3 ^
8b58be884a9f ^
c1986ee9bea3 ^
679655daffdd ^

c117ab842001 ^
c1986ee9bea3 ^
77c44ab1d8e9 ^
8b58be884a9f ^
77c44ab1d8e9 ^
679655daffdd ^
77c44ab1d8e9 ^
77d5140fe78c ^
8b58be884a9f ^
661263b55d56 ^
275ffde46203 ^
77d5140fe78c ^
90d72ac6e1c3 ^
77d5140fe78c ^
431bca73f7bc ^
8b58be884a9f ^
431bca73f7bc ^

679655daffdd ^

431bca73f7bc ^
1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4


f7269cfc37d5 ^



1da177e4c3f4
e2d1d6c0a5d3 ^
8b58be884a9f ^
846557d3ceb6 ^
e2d1d6c0a5d3 ^
679655daffdd ^

e2d1d6c0a5d3 ^
860c44c1968b ^
19624236cce1 ^
5d3ad8a63844 ^
d0fb18c5c0ca ^
a7fefe9fb81f ^

860c44c1968b ^
f882820556af ^
860c44c1968b ^
f882820556af ^
860c44c1968b ^
f882820556af ^
5d3ad8a63844 ^
f882820556af ^

de80963e6108 ^
bdbff6bad8a8 ^
f882820556af ^





19f9d3923651 ^


eab7c1c005f6 ^
19f9d3923651 ^

144308139cdc ^
19f9d3923651 ^
ccb1352e76cf ^
4f337ed5c014 ^
b422da7c366f ^
ccb1352e76cf ^

ccb1352e76cf ^

b422da7c366f ^
ccb1352e76cf ^
af39917d5a59 ^






1da177e4c3f4
4cf7e7186926 ^
1da177e4c3f4

81c4a8a6733a ^
679655daffdd ^


1da177e4c3f4
e2d1d6c0a5d3 ^
8b58be884a9f ^
d6351db20733 ^
e2d1d6c0a5d3 ^

2191aebaf9af ^
e2d1d6c0a5d3 ^
679655daffdd ^


e2d1d6c0a5d3 ^
1da177e4c3f4
724c6b35ecff ^
491b26b40222 ^
ecffdde68ebe ^
3a59babbee40 ^
679655daffdd ^
1da177e4c3f4
42c55aa838bb ^
fadc07522c3c ^
f1f6630b53e7 ^
68274794c699 ^

54e5881d0cd7 ^
68274794c699 ^
42c55aa838bb ^
6b6f0b6c1313 ^
42c55aa838bb ^
68274794c699 ^
ef94b1864d1e ^
7c37fbda85ce ^
1d113735ecf2 ^

7c37fbda85ce ^
1d113735ecf2 ^
7c37fbda85ce ^

e2d1d6c0a5d3 ^
084cb0fe773d ^
e2d1d6c0a5d3 ^
084cb0fe773d ^
e2d1d6c0a5d3 ^
679655daffdd ^
e2d1d6c0a5d3 ^
f5cd7872768d ^
8b58be884a9f ^
f5cd7872768d ^

ded19addf9c9 ^
f5cd7872768d ^
beb58aa39e6e ^
8b58be884a9f ^
846557d3ceb6 ^
beb58aa39e6e ^
679655daffdd ^
beb58aa39e6e ^
48fc267ee6f3 ^

48fc267ee6f3 ^





709ee531c153 ^
8b58be884a9f ^
d094485323a1 ^
709ee531c153 ^
679655daffdd ^
709ee531c153 ^
368dd5acd154 ^
8b58be884a9f ^

4fa971811cda ^


679655daffdd ^

4fa971811cda ^
1da177e4c3f4
3dd1a32968d5 ^
5fdc2abe39b7 ^
679655daffdd ^


c117ab842001 ^
1da177e4c3f4
4cdf6bc24761 ^
d633180c2027 ^
8b58be884a9f ^


c996d8b9a8f3 ^
4cdf6bc24761 ^
679655daffdd ^


4cdf6bc24761 ^
e2d1d6c0a5d3 ^
8b58be884a9f ^
e2d1d6c0a5d3 ^


679655daffdd ^

e2d1d6c0a5d3 ^

b88287708260 ^
b38a03b8bbb9 ^
e2d1d6c0a5d3 ^

8a6e25357d51 ^
08deed1ef62d ^
fbb46caa1bd2 ^
e2d1d6c0a5d3 ^
679655daffdd ^
2b6bac9ee99f ^
679655daffdd ^
2b6bac9ee99f ^



8a61f0135c69 ^
2b6bac9ee99f ^

e2d1d6c0a5d3 ^
1662d32cea96 ^
8b58be884a9f ^
1662d32cea96 ^

679655daffdd ^

1662d32cea96 ^

8b58be884a9f ^
1662d32cea96 ^
679655daffdd ^
1662d32cea96 ^
1ad107fd7492 ^
7c81c60f3789 ^
1ad107fd7492 ^




b26e0ed4936b ^
8b58be884a9f ^
b26e0ed4936b ^
d5ca6918bc9f ^

b26e0ed4936b ^
5ce914a89650 ^
ca4620853a5b ^
5ce914a89650 ^

b4f0b74ea377 ^
5ce914a89650 ^
3971dae51d7c ^
055e72fe6214 ^
3971dae51d7c ^


065c6359071c ^
6305902c2f87 ^
c1f69db78259 ^
065c6359071c ^
679655daffdd ^
065c6359071c ^
1da177e4c3f4
5ac3a6d24b7b ^
2905474d3842 ^
99662dd1ce05 ^
c0233ed4b3f7 ^
1da177e4c3f4
679655daffdd ^


6b49ee49af11 ^
cad01f919122 ^
1da177e4c3f4
b7e78170efd4 ^







5f6b6ccdbe1c ^







62d0ff83c6e2 ^









f0b75693cbb2 ^
f175aa2c9f6c ^
1ba55f558cd3 ^
f0b75693cbb2 ^




0c4ffcfe1fbc ^






f0b75693cbb2 ^







0447cfd75a6b ^


f0b75693cbb2 ^
0447cfd75a6b ^



47ff3de911a7 ^







f0b75693cbb2 ^






4af822556706 ^


f0b75693cbb2 ^

4af822556706 ^


f0b75693cbb2 ^






cf28855ba7e0 ^







51b66a6ce125 ^





1da177e4c3f4
4230dfc9c3f7 ^
f5df5881e2a2 ^
6650e0a517bb ^
54e5881d0cd7 ^
4230dfc9c3f7 ^
679655daffdd ^


1da177e4c3f4

227fb925d3d3 ^
979b6c135fc4 ^
1da177e4c3f4
b955f6ca776f ^
1da177e4c3f4
48fc267ee6f3 ^






e72df0b847ad ^


e72df0b847ad ^





ad4ecbcba728 ^
185e595f7702 ^
ad4ecbcba728 ^
679655daffdd ^

ad4ecbcba728 ^
57c0c15b5244 ^
8b58be884a9f ^

dd9b238c1c53 ^
f80c53932398 ^
981c3a4ff859 ^
75fc2d3797c4 ^
6c0b324435ff ^
d53e8365eaac ^
a003236c3270 ^
c117ab842001 ^
141c4296cb63 ^


a003236c3270 ^
a003236c3270 ^

6c0b324435ff ^
dd49d0f56250 ^
8b58be884a9f ^
dd49d0f56250 ^

679655daffdd ^
c117ab842001 ^
dd49d0f56250 ^
838e7a03a31b ^
2a06b40fbbbd ^
838e7a03a31b ^



c117ab842001 ^
838e7a03a31b ^

1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4

679655daffdd ^
1da177e4c3f4
efdbb10eaaed ^





a53bfa07369b ^




b87339877e0f ^
144308139cdc ^
b87339877e0f ^
a53bfa07369b ^
2744e8afb3b7 ^

c11f042b8607