auto
  /   7ˆl–ß=¿Jå2Ž¥8 ApB¸ۊbѿÍƒ�_‹uÐb&=Ly¦�ÁÌ 
P    7<?xml version="1.0" encoding="utf-8"?>
<mime-type xmlns="http://www.freedesktop.org/standards/shared-mime-info" type="x-content/ebook-reader">
  <!--Created automatically by update-mime-database. DO NOT EDIT!-->
  <comment>e-book reader</comment>
  <comment xml:lang="zh_TW">e-book 閱讀器</comment>
  <comment xml:lang="zh_CN">电子书阅读器</comment>
  <comment xml:lang="uk">пристрій для читання електронних книг</comment>
  <comment xml:lang="tr">e-kitap okuyucu</comment>
  <comment xml:lang="sv">e-bokläsare</comment>
  <comment xml:lang="sr">читач ел. књига</comment>
  <comment xml:lang="sl">Bralnik elektronskih knjig</comment>
  <comment xml:lang="sk">Čítačka e-kníh</comment>
  <comment xml:lang="ru">Устройство для чтения электронных книг</comment>
  <comment xml:lang="pt_BR">Leitor de e-book</comment>
  <comment xml:lang="pt">leitor de ebooks</comment>
  <comment xml:lang="pl">Czytnik e-booków</comment>
  <comment xml:lang="oc">lector de libre numeric</comment>
  <comment xml:lang="nl">e-book reader</comment>
  <comment xml:lang="lv">e-grāmatu lasītājs</comment>
  <comment xml:lang="ko">전자책 리더</comment>
  <comment xml:lang="kk">электронды кітаптарды оқу құрылғысы</comment>
  <comment xml:lang="ja">電子書籍リーダー</comment>
  <comment xml:lang="it">Lettore e-book</comment>
  <comment xml:lang="id">pembaca e-book</comment>
  <comment xml:lang="ia">Lector de libro electronic</comment>
  <comment xml:lang="hu">e-könyvolvasó</comment>
  <comment xml:lang="hr">Čitač e-knjiga</comment>
  <comment xml:lang="he">קורא ספרים אלקטרוניים</comment>
  <comment xml:lang="gl">lector de libros electrónicos</comment>
  <comment xml:lang="ga">léitheoir r-leabhair</comment>
  <comment xml:lang="fur">letôr e-book</comment>
  <comment xml:lang="fr">lecteur de livre numérique</comment>
  <comment xml:lang="fi">e-kirjan lukulaite</comment>
  <comment xml:lang="eu">e-book irakurlea</comment>
  <comment xml:lang="es">lector de libros electrónicos</comment>
  <comment xml:lang="en_GB">e-book reader</comment>
  <comment xml:lang="el">Αναγνώστης ηλεκτρονικών βιβλίων</comment>
  <comment xml:lang="de">E-Book-Leser</comment>
  <comment xml:lang="da">e-bogslæser</comment>
  <comment xml:lang="cs">čtečka elektronických knih</comment>
  <comment xml:lang="ca">lector de llibres electrònics</comment>
  <comment xml:lang="bg">Четец на е-книги</comment>
  <comment xml:lang="af">e-boekleser</comment>
</mime-type>
     9ˆÆÎƒaÄÁÌ 	Ð    9/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * sha1_base.h - core logic for SHA-1 implementations
 *
 * Copyright (C) 2015 Linaro Ltd <ard.biesheuvel@linaro.org>
 */

#ifndef _CRYPTO_SHA1_BASE_H
#define _CRYPTO_SHA1_BASE_H

#include <crypto/internal/hash.h>
#include <crypto/sha1.h>
#include <linux/crypto.h>
#include <linux/module.h>
#include <linux/string.h>

#include <asm/unaligned.h>

typedef void (sha1_block_fn)(struct sha1_state *sst, u8 const *src, int blocks);

static inline int sha1_base_init(struct shash_desc *desc)
{
	struct sha1_state *sctx = shash_desc_ctx(desc);

	sctx->state[0] = SHA1_H0;
	sctx->state[1] = SHA1_H1;
	sctx->state[2] = SHA1_H2;
	sctx->state[3] = SHA1_H3;
	sctx->state[4] = SHA1_H4;
	sctx->count = 0;

	return 0;
}

static inline int sha1_base_do_update(struct shash_desc *desc,
				      const u8 *data,
				      unsigned int len,
				      sha1_block_fn *block_fn)
{
	struct sha1_state *sctx = shash_desc_ctx(desc);
	unsigned int partial = sctx->count % SHA1_BLOCK_SIZE;

	sctx->count += len;

	if (unlikely((partial + len) >= SHA1_BLOCK_SIZE)) {
		int blocks;

		if (partial) {
			int p = SHA1_BLOCK_SIZE - partial;

			memcpy(sctx->buffer + partial, data, p);
			data += p;
			len -= p;

			block_fn(sctx, sctx->buffer, 1);
		}

		blocks = len / SHA1_BLOCK_SIZE;
		len %= SHA1_BLOCK_SIZE;

		if (blocks) {
			block