text:
"""
The MIT License

Copyright (c) 2009 Vic Fryzel

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
"""
import sys, os
sys.path[0:0] = [os.path.join(os.path.dirname(__file__), ".."),]

import unittest
import oauth2 as oauth
import random
import time
import urllib
import urlparse

# Fix for python2.5 compatibility
try:
    from urlparse import parse_qs, parse_qsl
except ImportError:
    from cgi import parse_qs, parse_qsl

class TestError(unittest.TestCase):
    def test_message(self):
        try:
            raise oauth.Error
        except oauth.Error, e:
            self.assertEqual(e.message, 'OAuth error occured.')
        msg = 'OMG THINGS BROKE!!!!'
        try:
            raise oauth.Error(msg)
        except oauth.Error, e:
            self.assertEqual(e.message, msg)

class TestGenerateFunctions(unittest.TestCase):
    def test_build_auth_header(self):
        header = oauth.build_authenticate_header()
        self.assertEqual(header['WWW-Authenticate'], 'OAuth realm=""')
        self.assertEqual(len(header), 1)
        realm = 'http://example.myrealm.com/'
        header = oauth.build_authenticate_header(realm)
        self.assertEqual(header['WWW-Authenticate'], 'OAuth realm="%s"' %
                         realm)
        self.assertEqual(len(header), 1)

    def test_escape(self):
        string = 'http://whatever.com/~someuser/?test=test&other=other'
        self.assert_('~' in oauth.escape(string))
        string = '../../../../../../../etc/passwd'
        self.assert_('../' not in oauth.escape(string))

    def test_gen_nonce(self):
        nonce = oauth.generate_nonce()
        self.assertEqual(len(nonce), 8)
        nonce = oauth.generate_nonce(20)
        self.assertEqual(len(nonce), 20)

    def test_gen_verifier(self):
        verifier = oauth.generate_verifier()
        self.assertEqual(len(verifier), 8)
        verifier = oauth.generate_verifier(16)
        self.assertEqual(len(verifier), 16)

    def test_gen_timestamp(self):
        exp = int(time.time())
        now = oauth.generate_timestamp()
        self.assertEqual(exp, now)

class TestConsumer(unittest.TestCase):
    def setUp(self):
        self.key = 'my-key'
        self.secret = 'my-secret'
        self.consumer = oauth.Consumer(key=self.key, secret=self.secret)

    def test_init(self):
        self.assertEqual(self.consumer.key, self.key)
        self.assertEqual(self.consumer.secret, self.secret)

    def test_basic(self):
        self.assertRaises(ValueError, lambda: oauth.Consumer(None, None))
        self.assertRaises(ValueError, lambda: oauth.Consumer('asf', None))
        self.assertRaises(ValueError, lambda: oauth.Consumer(None, 'dasf'))

    def test_str(self):
        res = dict(parse_qsl(str(self.consumer)))
        self.assertTrue('oauth_consumer_key' in res)
        self.assertTrue('oauth_consumer_secret' in res)
        self.assertEquals(res['oauth_consumer_key'], self.consumer.key)
        self.assertEquals(res['oauth_consumer_secret'], self.consumer.secret)

class TestToken(unittest.TestCase):
    def setUp(self):
        self.key = 'my-key'
        self.secret = 'my-secret'
        self.token = oauth.Token(self.key, self.secret)

    def test_basic(self):
        self.assertRaises(ValueError, lambda: oauth.Token(None, None))
        self.assertRaises(ValueError, lambda: oauth.Token('asf', None))
        self.assertRaises(ValueError, lambda: oauth.Token(None, 'dasf'))

    def test_init(self):
        self.assertEqual(self.token.key, self.key)
        self.assertEqual(self.token.secret, self.secret)
        self.assertEqual(self.token.callback, None)
        self.assertEqual(self.token.callback_confirmed, None)
        self.assertEqual(self.token.verifier, None)

    def test_set_callback(self):
        self.assertEqual(self.token.callback, None)
        self.assertEqual(self.token.callback_confirmed, None)
        cb = 'http://www.example.com/my-callback'
        self.token.set_callback(cb)
        self.assertEqual(self.token.callback, cb)
        self.assertEqual(self.token.callback_confirmed, 'true')
        self.token.set_callback(None)
        self.assertEqual(self.token.callback, None)
        # TODO: The following test should probably not pass, but it does
        #       To fix this, check for None and unset 'true' in set_callback
        #       Additionally, should a confirmation truly be done of the callback?
        self.assertEqual(self.token.callback_confirmed, 'true')

    def test_set_verifier(self):
        self.assertEqual(self.token.verifier, None)
        v = oauth.generate_verifier()
        self.token.set_verifier(v)
        self.assertEqual(self.token.verifier, v)
        self.token.set_verifier()
        self.assertNotEqual(self.token.verifier, v)
        self.token.set_verifier('')
        self.assertEqual(self.token.verifier, '')

    def test_get_callback_url(self):
        self.assertEqual(self.token.get_callback_url(), None)

        self.token.set_verifier()
        self.assertEqual(self.token.get_callback_url(), None)

        cb = 'http://www.example.com/my-callback?save=1&return=true'
        v = oauth.generate_verifier()
        self.token.set_callback(cb)
        self.token.set_verifier(v)
        url = self.token.get_callback_url()
        verifier_str = '&oauth_verifier=%s' % v
        self.assertEqual(url, '%s%s' % (cb, verifier_str))

        cb = 'http://www.example.com/my-callback-no-query'
        v = oauth.generate_verifier()
        self.token.set_callback(cb)
        self.token.set_verifier(v)
        url = self.token.get_callback_url()
        verifier_str = '?oauth_verifier=%s' % v
        self.assertEqual(url, '%s%s' % (cb, verifier_str))

    def test_to_string(self):
        string = 'oauth_token_secret=%s&oauth_token=%s' % (self.secret,
                                                           self.key)
        self.assertEqual(self.token.to_string(), string)

        self.token.set_callback('http://www.example.com/my-callback')
        string += '&oauth_callback_confirmed=true'
        self.assertEqual(self.token.to_string(), string)

    def _compare_tokens(self, new):
        self.assertEqual(self.token.key, new.key)
        self.assertEqual(self.token.secret, new.secret)
        # TODO: What about copying the callback to the new token?
        # self.assertEqual(self.token.callback, new.callback)
        self.assertEqual(self.token.callback_confirmed,
                         new.callback_confirmed)
        # TODO: What about copying the verifier to the new token?
        # self.assertEqual(self.token.verifier, new.verifier)

    def test_to_string(self):
        tok = oauth.Token('tooken', 'seecret')
        self.assertEqual(str(tok), 'oauth_token_secret=seecret&oauth_token=tooken')

    def test_from_string(self):
        self.assertRaises(ValueError, lambda: oauth.Token.from_string(''))
        self.assertRaises(ValueError, lambda: oauth.Token.from_string('blahblahblah'))
        self.assertRaises(ValueError, lambda: oauth.Token.from_string('blah=blah'))

        self.assertRaises(ValueError, lambda: oauth.Token.from_string('oauth_token_secret=asfdasf'))
        self.assertRaises(ValueError, lambda: oauth.Token.from_string('oauth_token_secret='))
        self.assertRaises(ValueError, lambda: oauth.Token.from_string('oauth_token=asfdasf'))
        self.assertRaises(ValueError, lambda: oauth.Token.from_string('oauth_token='))
        self.assertRaises(ValueError, lambda: oauth.Token.from_string('oauth_token=&oauth_token_secret='))
        self.assertRaises(ValueError, lambda: oauth.Token.from_string('oauth_token=tooken%26oauth_token_secret=seecret'))

        string = self.token.to_string()
        new = oauth.Token.from_string(string)
        self._compare_tokens(new)

        self.token.set_callback('http://www.example.com/my-callback')
        string = self.token.to_string()
        new = oauth.Token.from_string(string)
        self._compare_tokens(new)

class TestRequest(unittest.TestCase):
    def test_setter(self):
        url = "http://example.com"
        method = "GET"
        req = oauth.Request(method)

        try:
            url = req.url
            self.fail("AttributeError should have been raised on empty url.")
        except AttributeError:
            pass
        except Exception, e:
            self.fail(str(e))

    def test_deleter(self):
        url = "http://example.com"
        method = "GET"
        req = oauth.Request(method, url)

        try:
            del req.url
            url = req.url
            self.fail("AttributeError should have been raised on empty url.")
        except AttributeError:
            pass
        except Exception, e:
            self.fail(str(e))

    def test_url(self):
        url1 = "http://example.com:80/foo.php"
        url2 = "https://example.com:443/foo.php"
        exp1 = "http://example.com/foo.php"
        exp2 = "https://example.com/foo.php"
        method = "GET"

        req = oauth.Request(method, url1)
        self.assertEquals(req.url, exp1)

        req = oauth.Request(method, url2)
        self.assertEquals(req.url, exp2)

    def test_get_parameter(self):
        url = "http://example.com"
        method = "GET"
        params = {'oauth_consumer' : 'asdf'}
        req = oauth.Request(method, url, parameters=params)

        self.assertEquals(req.get_parameter('oauth_consumer'), 'asdf')
        self.assertRaises(oauth.Error, req.get_parameter, 'blah')

    def test_get_nonoauth_parameters(self):

        oauth_params = {
            'oauth_consumer': 'asdfasdfasdf'
        }

        other_params = {
            'foo': 'baz',
            'bar': 'foo'
        }

        params = oauth_params
        params.update(other_params)

        req = oauth.Request("GET", "http://example.com", params)
        self.assertEquals(other_params, req.get_nonoauth_parameters())

    def test_to_header(self):
        realm = "http://sp.example.com/"

        params = {
            'oauth_version': "1.0",
            'oauth_nonce': "4572616e48616d6d65724c61686176",
            'oauth_timestamp': "137131200",
            'oauth_consumer_key': "0685bd9184jfhq22",
            'oauth_signature_method': "HMAC-SHA1",
            'oauth_token': "ad180jjd733klru7",
            'oauth_signature': "wOJIO9A2W5mFwDgiDvZbTSMK%2FPY%3D",
        }

        req = oauth.Request("GET", realm, params)
        header, value = req.to_header(realm).items()[0]

        parts = value.split('OAuth ')
        vars = parts[1].split(', ')
        self.assertTrue(len(vars), (len(params) + 1))

        res = {}
        for v in vars:
            var, val = v.split('=')
            res[var] = urllib.unquote(val.strip('"'))

        self.assertEquals(realm, res['realm'])
        del res['realm']

        self.assertTrue(len(res), len(params))

        for key, val in res.items():
            self.assertEquals(val, params.get(key))

    def test_to_postdata(self):
        realm = "http://sp.example.com/"

        params = {
            'oauth_version': "1.0",
            'oauth_nonce': "4572616e48616d6d65724c61686176",
            'oauth_timestamp': "137131200",
            'oauth_consumer_key': "0685bd9184jfhq22",
            'oauth_signature_method': "HMAC-SHA1",
            'oauth_token': "ad180jjd733klru7",
            'oauth_signature': "wOJIO9A2W5mFwDgiDvZbTSMK%2FPY%3D",
        }

        req = oauth.Request("GET", realm, params)

        self.assertEquals(params, dict(parse_qsl(req.to_postdata())))

    def test_to_url(self):
        url = "http://sp.example.com/"

        params = {
            'oauth_version': "1.0",
            'oauth_nonce': "4572616e48616d6d65724c61686176",
            'oauth_timestamp': "137131200",
            'oauth_consumer_key': "0685bd9184jfhq22",
            'oauth_signature_method': "HMAC-SHA1",
            'oauth_token': "ad180jjd733klru7",
            'oauth_signature': "wOJIO9A2W5mFwDgiDvZbTSMK%2FPY%3D",
        }

        req = oauth.Request("GET", url, params)
        exp = urlparse.urlparse("%s?%s" % (url, urllib.urlencode(params)))
        res = urlparse.urlparse(req.to_url())
        self.assertEquals(exp.scheme, res.scheme)
        self.assertEquals(exp.netloc, res.netloc)
        self.assertEquals(exp.path, res.path)

        a = parse_qs(exp.query)
        b = parse_qs(res.query)
        self.assertEquals(a, b)

    def test_get_normalized_parameters(self):
        url = "http://sp.example.com/"

        params = {
            'oauth_version': "1.0",
            'oauth_nonce': "4572616e48616d6d65724c61686176",
            'oauth_timestamp': "137131200",
            'oauth_consumer_key': "0685bd9184jfhq22",
            'oauth_signature_method': "HMAC-SHA1",
            'oauth_token': "ad180jjd733klru7",
        }

        req = oauth.Request("GET", url, params)

        res = req.get_normalized_parameters()

        self.assertEquals(urllib.urlencode(sorted(params.items())), res)

    def test_get_normalized_parameters_ignores_auth_signature(self):
        url = "http://sp.example.com/"

        params = {
            'oauth_version': "1.0",
            'oauth_nonce': "4572616e48616d6d65724c61686176",
            'oauth_timestamp': "137131200",
            'oauth_consumer_key': "0685bd9184jfhq22",
            'oauth_signature_method': "HMAC-SHA1",
            'oauth_signature': "some-random-signature-%d" % random.randint(1000, 2000),
            'oauth_token': "ad180jjd733klru7",
        }

        req = oauth.Request("GET", url, params)

        res = req.get_normalized_parameters()

        self.assertNotEquals(urllib.urlencode(sorted(params.items())), res)

        foo = params.copy()
        del foo["oauth_signature"]
        self.assertEqual(urllib.urlencode(sorted(foo.items())), res)

    def test_get_normalized_string_escapes_spaces_properly(self):
        url = "http://sp.example.com/"
        params = {
            "some_random_data": random.randint(100, 1000),
            "data": "This data with a random number (%d) has spaces!" % random.randint(1000, 2000),
        }

        req = oauth.Request("GET", url, params)
        res = req.get_normalized_parameters()
        expected = urllib.urlencode(sorted(params.items())).replace('+', '%20')
        self.assertEqual(expected, res)

    def test_sign_request(self):
        url = "http://sp.example.com/"

        params = {
            'oauth_version': "1.0",
            'oauth_nonce': "4572616e48616d6d65724c61686176",
            'oauth_timestamp': "137131200"
        }

        tok = oauth.Token(key="tok-test-key", secret="tok-test-secret")
        con = oauth.Consumer(key="con-test-key", secret="con-test-secret")

        params['oauth_token'] = tok.key
        params['oauth_consumer_key'] = con.key
        req = oauth.Request(method="GET", url=url, parameters=params)

        methods = {
            'TQ6vGQ5A6IZn8dmeGB4+/Jl3EMI=': oauth.SignatureMethod_HMAC_SHA1(),
            'con-test-secret&tok-test-secret': oauth.SignatureMethod_PLAINTEXT()
        }

        for exp, method in methods.items():
            req.sign_request(method, con, tok)
            self.assertEquals(req['oauth_signature_method'], method.name)
            self.assertEquals(req['oauth_signature'], exp)

    def test_from_request(self):
        url = "http://sp.example.com/"

        params = {
            'oauth_version': "1.0",
            'oauth_nonce': "4572616e48616d6d65724c61686176",
            'oauth_timestamp': "137131200",
            'oauth_consumer_key': "0685bd9184jfhq22",
            'oauth_signature_method': "HMAC-SHA1",
            'oauth_token': "ad180jjd733klru7",
            'oauth_signature': "wOJIO9A2W5mFwDgiDvZbTSMK%2FPY%3D",
        }

        req = oauth.Request("GET", url, params)
        headers = req.to_header()

        # Test from the headers
        req = oauth.Request.from_request("GET", url, headers)
        self.assertEquals(req.method, "GET")
        self.assertEquals(req.url, url)

        self.assertEquals(params, req.copy())

        # Test with bad OAuth headers
        bad_headers = {
            'Authorization' : 'OAuth this is a bad header'
        }

        self.assertRaises(oauth.Error, oauth.Request.from_request, "GET",
            url, bad_headers)

        # Test getting from query string
        qs = urllib.urlencode(params)
        req = oauth.Request.from_request("GET", url, query_string=qs)

        exp = parse_qs(qs, keep_blank_values=False)
        for k, v in exp.iteritems():
            exp[k] = urllib.unquote(v[0])

        self.assertEquals(exp, req.copy())

        # Test that a boned from_request() call returns None
        req = oauth.Request.from_request("GET", url)
        self.assertEquals(None, req)

    def test_from_token_and_callback(self):
        url = "http://sp.example.com/"

        params = {
            'oauth_version': "1.0",
            'oauth_nonce': "4572616e48616d6d65724c61686176",
            'oauth_timestamp': "137131200",
            'oauth_consumer_key': "0685bd9184jfhq22",
            'oauth_signature_method': "HMAC-SHA1",
            'oauth_token': "ad180jjd733klru7",
            'oauth_signature': "wOJIO9A2W5mFwDgiDvZbTSMK%2FPY%3D",
        }

        tok = oauth.Token(key="tok-test-key", secret="tok-test-secret")
        req = oauth.Request.from_token_and_callback(tok)
        self.assertFalse('oauth_callback' in req)
        self.assertEquals(req['oauth_token'], tok.key)

        req = oauth.Request.from_token_and_callback(tok, callback=url)
        self.assertTrue('oauth_callback' in req)
        self.assertEquals(req['oauth_callback'], url)

    def test_from_consumer_and_token(self):
        url = "http://sp.example.com/"

        tok = oauth.Token(key="tok-test-key", secret="tok-test-secret")
        con = oauth.Consumer(key="con-test-key", secret="con-test-secret")
        req = oauth.Request.from_consumer_and_token(con, token=tok,
            http_method="GET", http_url=url)

        self.assertEquals(req['oauth_token'], tok.key)
        self.assertEquals(req['oauth_consumer_key'], con.key)

class SignatureMethod_Bad(oauth.SignatureMethod):
    name = "BAD"

    def signing_base(self, request, consumer, token):
        return ""

    def sign(self, request, consumer, token):
        return "invalid-signature"

class TestServer(unittest.TestCase):
    def setUp(self):
        url = "http://sp.example.com/"

        params = {
            'oauth_version': "1.0",
            'oauth_nonce': "4572616e48616d6d65724c61686176",
            'oauth_timestamp': int(time.time()),
            'bar': 'blerg',
            'foo': 59
        }

        self.consumer = oauth.Consumer(key="consumer-key",
            secret="consumer-secret")
        self.token = oauth.Token(key="token-key", secret="token-secret")

        params['oauth_token'] = self.token.key
        params['oauth_consumer_key'] = self.consumer.key
        self.request = oauth.Request(method="GET", url=url, parameters=params)

        signature_method = oauth.SignatureMethod_HMAC_SHA1()
        self.request.sign_request(signature_method, self.consumer, self.token)

    def test_init(self):
        server = oauth.Server(signature_methods={'HMAC-SHA1' : oauth.SignatureMethod_HMAC_SHA1()})
        self.assertTrue('HMAC-SHA1' in server.signature_methods)
        self.assertTrue(isinstance(server.signature_methods['HMAC-SHA1'],
            oauth.SignatureMethod_HMAC_SHA1))

        server = oauth.Server()
        self.assertEquals(server.signature_methods, {})

    def test_add_signature_method(self):
        server = oauth.Server()
        res = server.add_signature_method(oauth.SignatureMethod_HMAC_SHA1())
        self.assertTrue(len(res) == 1)
        self.assertTrue('HMAC-SHA1' in res)
        self.assertTrue(isinstance(res['HMAC-SHA1'],
            oauth.SignatureMethod_HMAC_SHA1))

        res = server.add_signature_method(oauth.SignatureMethod_PLAINTEXT())
        self.assertTrue(len(res) == 2)
        self.assertTrue('PLAINTEXT' in res)
        self.assertTrue(isinstance(res['PLAINTEXT'],
            oauth.SignatureMethod_PLAINTEXT))

    def test_verify_request(self):
        server = oauth.Server()
        server.add_signature_method(oauth.SignatureMethod_HMAC_SHA1())

        parameters = server.verify_request(self.request, self.consumer,
            self.token)

        self.assertTrue('bar' in parameters)
        self.assertTrue('foo' in parameters)
        self.assertEquals(parameters['bar'], 'blerg')
        self.assertEquals(parameters['foo'], 59)

    def test_no_version(self):
        url = "http://sp.example.com/"

        params = {
            'oauth_nonce': "4572616e48616d6d65724c61686176",
            'oauth_timestamp': int(time.time()),
            'bar': 'blerg',
            'foo': 59
        }

        self.consumer = oauth.Consumer(key="consumer-key",
            secret="consumer-secret")
        self.token = oauth.Token(key="token-key", secret="token-secret")

        params['oauth_token'] = self.token.key
        params['oauth_consumer_key'] = self.consumer.key
        self.request = oauth.Request(method="GET", url=url, parameters=params)

        signature_method = oauth.SignatureMethod_HMAC_SHA1()
        self.request.sign_request(signature_method, self.consumer, self.token)

        server = oauth.Server()
        server.add_signature_method(oauth.SignatureMethod_HMAC_SHA1())

        parameters = server.verify_request(self.request, self.consumer,
            self.token)

    def test_invalid_version(self):
        url = "http://sp.example.com/"

        params = {
            'oauth_version': '222.9922',
            'oauth_nonce': "4572616e48616d6d65724c61686176",
            'oauth_timestamp': int(time.time()),
            'bar': 'blerg',
            'foo': 59
        }

        consumer = oauth.Consumer(key="consumer-key",
            secret="consumer-secret")
        token = oauth.Token(key="token-key", secret="token-secret")

        params['oauth_token'] = token.key
        params['oauth_consumer_key'] = consumer.key
        request = oauth.Request(method="GET", url=url, parameters=params)

        signature_method = oauth.SignatureMethod_HMAC_SHA1()
        request.sign_request(signature_method, consumer, token)

        server = oauth.Server()
        server.add_signature_method(oauth.SignatureMethod_HMAC_SHA1())

        self.assertRaises(oauth.Error, server.verify_request, request,
            consumer, token)

    def test_invalid_signature_method(self):
        url = "http://sp.example.com/"

        params = {
            'oauth_version': '1.0',
            'oauth_nonce': "4572616e48616d6d65724c61686176",
            'oauth_timestamp': int(time.time()),
            'bar': 'blerg',
            'foo': 59
        }

        consumer = oauth.Consumer(key="consumer-key",
            secret="consumer-secret")
        token = oauth.Token(key="token-key", secret="token-secret")

        params['oauth_token'] = token.key
        params['oauth_consumer_key'] = consumer.key
        request = oauth.Request(method="GET", url=url, parameters=params)

        signature_method = SignatureMethod_Bad()
        request.sign_request(signature_method, consumer, token)

        server = oauth.Server()
        server.add_signature_method(oauth.SignatureMethod_HMAC_SHA1())

        self.assertRaises(oauth.Error, server.verify_request, request,
            consumer, token)

    def test_missing_signature(self):
        url = "http://sp.example.com/"

        params = {
            'oauth_version': '1.0',
            'oauth_nonce': "4572616e48616d6d65724c61686176",
            'oauth_timestamp': int(time.time()),
            'bar': 'blerg',
            'foo': 59
        }

        consumer = oauth.Consumer(key="consumer-key",
            secret="consumer-secret")
        token = oauth.Token(key="token-key", secret="token-secret")

        params['oauth_token'] = token.key
        params['oauth_consumer_key'] = consumer.key
        request = oauth.Request(method="GET", url=url, parameters=params)

        signature_method = oauth.SignatureMethod_HMAC_SHA1()
        request.sign_request(signature_method, consumer, token)
        del request['oauth_signature']

        server = oauth.Server()
        server.add_signature_method(oauth.SignatureMethod_HMAC_SHA1())

        self.assertRaises(oauth.MissingSignature, server.verify_request,
            request, consumer, token)

# Request Token: http://oauth-sandbox.sevengoslings.net/request_token
# Auth: http://oauth-sandbox.sevengoslings.net/authorize
# Access Token: http://oauth-sandbox.sevengoslings.net/access_token
# Two-legged: http://oauth-sandbox.sevengoslings.net/two_legged
# Three-legged: http://oauth-sandbox.sevengoslings.net/three_legged
# Key: bd37aed57e15df53
# Secret: 0e9e6413a9ef49510a4f68ed02cd
class TestClient(unittest.TestCase):
#    oauth_uris = {
#        'request_token': '/request_token.php',
#        'access_token': '/access_token.php'
#    }

    oauth_uris = {
        'request_token': '/request_token',
        'authorize': '/authorize',
        'access_token': '/access_token',
        'two_legged': '/two_legged',
        'three_legged': '/three_legged'
    }

    consumer_key = 'bd37aed57e15df53'
    consumer_secret = '0e9e6413a9ef49510a4f68ed02cd'
    host = 'http://oauth-sandbox.sevengoslings.net'

    def setUp(self):
        self.consumer = oauth.Consumer(key=self.consumer_key,
            secret=self.consumer_secret)

        self.body = {
            'foo': 'bar',
            'bar': 'foo',
            'blah': 599999
        }

    def _uri(self, type):
        uri = self.oauth_uris.get(type)
        if uri is None:
            raise KeyError("%s is not a valid OAuth URI type." % type)

        return "%s%s" % (self.host, uri)

    def test_access_token_get(self):
        """Test getting an access token via GET."""
        client = oauth.Client(self.consumer, None)
        resp, content = client.request(self._uri('request_token'), "GET")

        self.assertEquals(int(resp['status']), 200)

    def test_access_token_post(self):
        """Test getting an access token via POST."""
        client = oauth.Client(self.consumer, None)
        resp, content = client.request(self._uri('request_token'), "POST")

        self.assertEquals(int(resp['status']), 200)

        res = dict(parse_qsl(content))
        self.assertTrue('oauth_token' in res)
        self.assertTrue('oauth_token_secret' in res)

    def _two_legged(self, method):
        client = oauth.Client(self.consumer, None)

        return client.request(self._uri('two_legged'), method,
            body=urllib.urlencode(self.body))

    def test_two_legged_post(self):
        """A test of a two-legged OAuth POST request."""
        resp, content = self._two_legged("POST")

        self.assertEquals(int(resp['status']), 200)

    def test_two_legged_get(self):
        """A test of a two-legged OAuth GET request."""
        resp, content = self._two_legged("GET")
        self.assertEquals(int(resp['status']), 200)

if __name__ == "__main__":
    unittest.main()


The European Commission awarded Athens the title of the European Capital of Innovation 2018 with a €1 million prize.
The City of Athens has placed a lot of importance to innovation and how it can help the local community bring about change and open up to the world.
'This is Athens' campaign where the city invites volunteers to talk about the city's present and past to some of the record 5 million tourists that visited Athens in 2017.


This is a placeholder page for Laura Mcbee, which means this person is not currently on this site. We do suggest using the tools below to find Laura Mcbee.
You are visiting the placeholder page for Laura Mcbee. This page is here because someone used our placeholder utility to look for Laura Mcbee. We created this page automatically in hopes Laura Mcbee would find it. If you are not Laura Mcbee, but are an alumni of Archbold High School, register on this site for free now.


Has it ever happened to you, so that had no free slots in the inventory? Shulker chest was created specifically for these situations by using which you can increase the number of empty slots in a thousand times. As you may have guessed, Shulker Box mod adds 6 colored magic chests that can store things directly in your inventory. This is quite unusual, because usually the chest can not also store items and be in the player's inventory.
How to get the shulker chest?
New Chest has a crafting recipe and distinctive appearance. In addition the creator decided to correct the monotony and added the ability to change the color of the chest. Take 6 dyes and tap on it. Color does not affect features but does shulker box more individual for everyone.
How to use the shulker box?
Place the box on the ground and tap on it. Put in any items and break it. Picking up the box you will find it in your inventory. To get things put shulker box to any place. There are some nasty bugs such as position of the chest in the inventory and an ordinary chest lid when opening.
But despite this, Shulker Box mod is one more step on the path to the original version of Minecraft. I think many good appreciate this mod.


text:
Home News Briefs Ein to buy Washington City Paper
Ein to buy Washington City Paper
Mark Ein has agreed to buy the Washington City Paper from SouthComm Inc. Financial terms weren't announced. Washington City Paper is an alternative weekly newspaper. Ein is an investor who previously worked at Carlyle Group, Brentwood Associates and Goldman Sachs. His blank-check company, Capitol Acquisition Corp III, acquired a stake in Cision this year.
WASHINGTON, Dec. 22, 2017 /PRNewswire/ — Mark Ein has reached an agreement to purchase the Washington City Paper (WCP), the alternative weekly newspaper renowned for its high-quality, responsible, local journalism since 1981, from SouthComm Inc. Mr. Ein, a D.C.-area native and experienced venture capitalist and philanthropist, is making a strong commitment to the paper's sustainability over the long-term, retaining Alexa Mills as chief editor, and assembling initial groups of WCP Alumni and Washington-based business and civic leaders to provide editorial and financial support to City Paper, respectively.
The terms of the transaction will remain confidential. It is expected to close the first week in January.
"It's impossible to overstate the importance of high quality journalism – particularly today," said Ein. "Every thriving community needs strong local news, and Washington City Paper has been a critical part of the fabric of our city, and a great incubator of journalistic talent, for decades. With a talented staff and the support of our initial groups of respected journalistic veterans and business and civic leaders, I want to do everything I can to insure that the City Paper continues producing great journalism and responsible local news for decades to come."
Under his leadership, Ein has formed two groups to re-energize the paper. In the first group are founding members of the Washington City Paper Journalist Alumni Group that worked at City Paper during their career and that will offer editorial and other support. Members include CNN Anchor Jake Tapper, author and journalist Ta-Nehisi Coates, and Pulitzer Prize winning journalist, Kate Boo. The latter two have each won both the MacArthur Genius Award and National Book Award.
Ein has also garnered the support of an initial group of the "Friends of Washington City Paper" that includes Washington-based business and civic leaders who will help in individual ways including advising, contributing and investing. Members include Monumental Sports & Entertainment founder and CEO Ted Leonsis, renowned chef and ThinkFoodGroup founder José Andrés, former DC mayor Tony Williams, I.M.P. Chairman Seth Hurwitz, United Talent Agency CEO Jeremy Zimmer, author George Pelecanos, executive Mark Walsh, and BrandLinkDC Co-CEO Jayne Sandman. Advisors on the acquisition include journalist Harry Jaffe, fundraiser Nancy Anderson and communications executives Eric London and David Dreyer, and Latham & Watkins.
"It speaks volumes about City Paper that so many extraordinary journalists and leaders from across the Washingtonlandscape have come together so quickly to support the City Paper's future success," Ein said. He anticipates expanding the groups considerably and added "We will need and work for broad community support so City Paper can be sustainable and fulfill its important mission over the long-term. We hope and expect many more people will join and contribute to our team."
Readers can show their support for Washington City Paper by using the hashtag #ISupportWCP.
"We are overjoyed today here at City Paper because we are committed to local and public service journalism. We are especially excited to get back to work. We have many story ideas right now," says Alexa Mills, WCP's editor. Ms. Mills will remain in her post as chief editor and there will be a search for a new Publisher, with current publisher Eric Norwoodcontinuing to be part of the paper for the foreseeable future. While Mr. Ein will support the paper, especially as it relates to building and strengthening its foundation, he will not have any daily role.
As the result of today's announcement, Ms. Mills was able to assure the WCP staff that they can expect continuity with regard to their roles and salaries at current levels.
About Washington City Paper
For more than 35 years, Washington City Paper has been many things: from an opinionated guide to a growing city to a source for information and informed analysis of the arts and current events and more. One thing it has never been is predictable. Each week in print—and every day online—City Paper scans the city seeking the latest developments in D.C.
City Paper has cultivated a reputation as a single stop where newcomers interested in the District can get their bearings, and natives and longtime residents can stay abreast of their rapidly changing city. Looking for new restaurants, nightlife options, and developing districts? You'll need the latest updates in City Paper. Hungry for serious, in-depth coverage of education, politics, and housing? City Paper's journalists bring their institutional knowledge of the city to bear on these issues and countless others—in a witty, engaging, and often irreverent style.
About Mark Ein
Mark D. Ein is the founder, Chairman and Chief Executive Officer of Venturehouse Group, LLC and Capital Investment Corp IV. He is an investor, entrepreneur and philanthropist, who has created, acquired, invested in and built a series of growth companies across a diverse set of industries over the course of his 25-year career. During this time, Mr. Ein has been involved in the founding or early stages of six companies that have been worth over one billion dollars and has led over $1.5 billion of private equity, venture capital and public company investments. Among the current majority-owned companies in the portfolios are Kastle Systems, LLC, the country's leading provider of building and office security systems acquired in January 2007. He currently serves as Chairman of the Boards of Lindblad Expeditions, Capital Investment Corp IV, VSGi, Inc and Vice-Chairman of the Board of Cision Ltd..
Mr. Ein, a native of the Washington area, is also the Founder and Owner of the Washington Kastles World TeamTennis (WTT) franchise that has won the league championship six of its ten years since its founding and set the record for the longest winning streak in US pro team sports history winning 34 straight matches from 2011 through 2013. In March 2017, he led the acquisition of World TeamTennis, the 43-year-old professional tennis league, from Billie Jean King and currently serves as its Chairman.
A native of the Washington area, he actively supports many community, charitable and cultural organizations and currently serves on the boards of the DC Public Education Fund where he serves as Chairman, DC College Access Program, DC Policy Center (Co-Founder), the United States Tennis Association ("USTA") (where he is a Vice-President of the Board) and the International Tennis Hall of Fame. He has won numerous awards including Washington DC Business Leader of the Year from the Chamber of Commerce, the Jefferson Award (the nation's highest honor for public service), Washington Business Journal Top Corporation for Philanthropy by Giving in Small Companies, Washington Business Journal Power 100, Entrepreneur of the Year Awards from Ernst and Young and the National Foundation for Teaching Entrepreneurship (NFTE). In September 2009, Washington D.C. Mayor Adrian Fenty presented Mr. Ein with the Key to the City, highlighting not only his Washington Kastles success on the court, "but for their commitment to the District's communities and our youth."
Prior to starting his firm, Mr. Ein worked for The Carlyle Group, Brentwood Associates and Goldman Sachs. He received his BS in Economics with a concentration in finance from The Wharton School of the University of Pennsylvania and his MBA from The Harvard Business School.
For more about Mr. Ein, visit www.capinvestment.com.

redpajama_set_name: RedPajamaCommonCrawl


The Riverhead Tavern is a restaurant and bar is located at 66 Queen Street, Riverhead 0820, New Zealand. It is one of the oldest taverns in all of New Zealand and is comprised of The Landing restaurant, the Portage Neighbourhood bar and reception areas. They also have large high definition flat screen TV's for watching sports and pool tables plus you can wine and dine with super views of the river.
There is also the main area for functions known as the Boat House where live music is featured on Sundays with a very relaxed atmosphere and can be hired privately for any type of event.
Food Menu and Beverages Quick Start.
You have two dining options at the Riverhead Tavern, choose from either the Landing or the Portage sections for some eats and drinks. Some samples of food items available are below.
The Riverhead Landing restaurant features a fantastic array of foods and beverages provided in a peaceful dining setting. The menu is divided into several sections such as the Landing menu, weekend brunch, and the kids' menu.
The Landing food list consists of starters, mains, Riverhead favorites, sides, and desserts. Starters include garlic bread, house marinated olives, smoked buffalo curd, ora king salmon tartare, smoked kahawai croquettes, seared sea scallops, chili caramel pork jowl, and charcuterie platter. Mains include confit duck leg, wild mushroom & parmesan gnocchi, crisp skin ora king salmon, sticky braised beef cheek, alpine merino lamb rump, and whole baked yellow belly flounder.
The Riverhead must try favorites include beer battered fish & chips, slow-cooked lamb shoulder, and the famous Riverhead ribs. Sides include seasonal vegetables, chef's salad, beer battered fries, and soft polenta parmesan. Desserts include pistachio plum pavlova, apple rhubarb crumble, hand-whipped mandarin infused with chocolate ganache, affogato, sorbet, and a good selection of ice creams.
The weekend brunch menu consists of eggs benedict, smuggler's breakfast, griddles cakes, agria potato rosti, and toasted granola.
Kids' are not forgotten, the menu consists of pancakes, eggs, fish & chips, burgers, chargrilled ribeye steak, freshly crumbed chicken tenders, Hawaiian pizza, peanut butter brownie, ice cream, milkshake, cola with ice cream, and raspberry lemonade with ice cream.
There are also a many specials such as the Wednesday steak and oyster, Thursday date night, and the Monday and Tuesday kids eat free deals.
The beverages at the Riverhead are comprised of several drinks to suit different preferences. These include cocktails, tap beers & ciders, craft beer, bottled beers & ciders, house spirits, and a good selection of wines at very good prices.
The Riverhead restaurant has a specific section of the area used mainly for holding different functions known as The Boat House Function Centre. This space flows very well into the beautiful lawn and expansive decks and can be arranged to suit any event or gathering.
Weddings are commonly held at the Boat House and other special events such as family functions, birthdays, corporate events, community events, and others can also be catered for.
There are also several events held Mondays to Saturdays. On Monday from 7:00 pm is the local pool night. Saturday is Game Night where big sporting events are featured on the high definition flat screen TV.
The Riverhead Tavern Pokies Gaming.
No pokies or gaming is available at the Riverhead Tavern. You can play the pokies close-by just a 4 minute drive away at the Huapai Golf Club or the Huapai Tavern.
The Riverhead is a nice place to spend with friends, family, colleagues, or companion in a great atmosphere. The food and beverages are well awesome and can suit all types of meal events whether it's a family meal or a couples date night outing.
The Boat House Function Centre is also the best function venues in all of Auckland which is only a few minutes away. Whether you want to go out for a large or small get together with a few people, the Riverhead will ensure that all your requirements are met with total satisfaction.


Nearly 100 Attend Governor Candidate Forum!
An OVERFLOW crowd attended the HD9 Democratic Governor Candidate Forum on January 28. The candidates made brief introductory comments, then responded to a wide range of questions from the audience - and an interesting series of "lightning round" questions - where only Yes / No answers were allowed. Up next: Our candidate forum on February 24 - featuring the candidates for Attorney General, Secretary of State and Treasurer.


Organizations employing service reuse are starting to see some significant SOA and business benefits.
In this article we burst the bubble of some common yet risky misperceptions about data center security.
Learn about the business benefits of XML integration, and the transformational effects of XML. Find out how the power of choice between real-time, near real-time and asynchronous processing can help your business.


What distinguishes SpeedTrace Pro as an unparalleled high-end concept is its extreme stability, reliability and guaranteed complete and accurate profile results.
SpeedTrace Pro is an unequalled combination of two differentiated and separately operating components, theprofiler AND tracer; and in this unique architecture, building on strength in diversity and identity in purpose, lies its secret power!
Next to no intrusion in production environments!
SpeedTrace records all application events, but does not perform any trace processing, on the application target machine. The recorded trace can then be analyzed on a separate host in order to minimize impacts and to prevent slowdowns, instability and hung sessions on the target machine. SpeedTrace's guaranteed low impact tracing and minimized intrusion are especially key tostability in production environments such as web server scenarios!
By separating the trace process from the analysis and recording only events, SpeedTrace Pro also minimizes overhead. Its tracing does not interfere with the internal time behavior of the application and thus obviates the main source of contortion, misleading results, and wrong treatment. The bottom line spells: Pinpoint accuracy, conclusive results, and reliably treatment with incredible speed!
Supported by new remote tracing potential (also for distributed apps), you now have - at the server end -direct remote access to all your clients' trace scenarios over the cloud! Remote tracing of distributed applications is also enabled within one and the same UI for comparison and/or analysis of interactive components. At regular intervals or in emergency situations you can from there immediately view and interpret these trace recordings with our licensed software, perform the respective performance analyses, and evaluate for quick remedial action and expedient quality improvements.
Integrate QA into your whole development cycle!
Test automation and remote tracing enable remote monitoring and support and thus add up to complete the diagnostics for the entire lifecycle of your software regardless of location! The new feature is geared to streamline the organization of your performance analysis, testing routine, and problem-solving to the high level of systematic monitoring and quality control. SpeedTrace Pro thereby integrates QA thoroughly into your overall development lifecycle management.


I have been dying to read this since I finished The 5th Wave… only it's been so long and now I've forgotten all the important bits. *sigh* Now I guess I'll just have to reread. It's a good thing it was so amazing!
Why do I want to read this? Well because I love everything that Emily writes!! Of course!
The blurb is all you need to read to know why I want to read this book.


text:
Q: Fire on change event in each checkbox when its checked I have a simple quiz in which user can answer multiple questions by clicking next, now I want to change the checkbox background when the checkbox is checked
Here is a demo quiz demo
Here is what I have tried
A function to change the background color when checkbox is checked
$("input[type='checkbox']").on('change', function(){
      console.log('clicked');
      if($(this).is(":checked")){
        console.log('Chodzi')
          $(this).addClass("input-before");
      }
      else{
        console.log('Nie chodzi');
          $(this).removeClass("input-before");
      } });

Now when I run my app and click the checkboxes, the checkboxes change the background, but when I click next and then click the checkboxes the background is not changing.
What do I need to change to get this working??

A: I believe the solution is easy, to add a listener to some dynamically added element you just have to use JQuery like this:
  $("section").on('change',"input[type='checkbox']", function(){
      console.log('clicked');
      if($(this).is(":checked")){
         console.log('Chodzi')
         $(this).addClass("input-before");
      }
      else {
         console.log('Nie chodzi');
         $(this).removeClass("input-before");
      }
  });

Here is your fiddle updated with my edit
So basically you have to add the listener to the container, it will "propagate" the listener to every input[type='checkbox'] that is (or will be) its children.

A: Well the problem is you are creating elements on the fly. But you code only attach event handlers to existing ones. What you need to is add event handler when you create new element so your code should be like this:
 function displayNext() {
    quiz.fadeOut(function() {
      $('#question').remove();

      if (questionCounter < questions.length) {
        var nextQuestion = createQuestionElement(questionCounter);
        // here we add event handler for newly created checkboxes.
        nextQuestion.find("input[type='checkbox']").on('change', function() {
          console.log('clicked');
          if ($(this).is(":checked")) {
            console.log('Chodzi')
            $(this).addClass("input-before");
          } else {
            console.log('Nie chodzi');
            $(this).removeClass("input-before");
          }
        });
        quiz.append(nextQuestion).fadeIn();
        if (!(isNaN(selections[questionCounter]))) {
          $('input[value=' + selections[questionCounter] + ']').prop('checked', true);
        }

        // Controls display of 'prev' button
        if (questionCounter === 1) {
          $('#prev').show();
        } else if (questionCounter === 0) {

          $('#prev').hide();
          $('#next').show();
        }
      } else {
        var scoreElem = displayScore();
        quiz.append(scoreElem).fadeIn();
        $('#next').hide();
        $('#prev').hide();
        $('#start').show();
      }
    });
  }

Working fiddle

redpajama_set_name: RedPajamaStackExchange


text:
package com.graphhopper.reader.osm;

import com.graphhopper.reader.ReaderElement;
import com.graphhopper.reader.ReaderWay;
import org.junit.jupiter.api.Test;

import java.util.HashMap;
import java.util.Map;

import static org.junit.jupiter.api.Assertions.*;

/**
 * @author Peter Karich
 */
public class ReaderElementTest {
    @Test
    public void testHasTag() {
        ReaderElement instance = new ReaderWay(1);
        instance.setTag("surface", "something");
        assertTrue(instance.hasTag("surface", "now", "something"));
        assertFalse(instance.hasTag("surface", "now", "not"));
    }

    @Test
    public void testSetTags() {
        ReaderElement instance = new ReaderWay(1);
        Map<String, String> map = new HashMap<>();
        map.put("test", "xy");
        instance.setTags(map);
        assertTrue(instance.hasTag("test", "xy"));

        instance.setTags(null);
        assertFalse(instance.hasTag("test", "xy"));
    }

    @Test
    public void testInvalidIDs() {
        Exception exception = assertThrows(IllegalArgumentException.class, () -> {
            new ReaderWay(-1);
        });
        assertTrue(exception.getMessage().contains("Invalid OSM WAY Id: -1;"));
    }

}

redpajama_set_name: RedPajamaGithub


Collect and Record Required Information / Data Using a Prescribed Methodology from a Prescribed Source in which the Information / Data is Clearly Evident.
Just as a lecturer or tutor prescribes the starting point of closed inquiries (see A1), so the methods for collecting and recording required information and data are provided to students at level I. Students working at Level I of 'collect and record' require a high degree of structure and guidance, possibly due to a lack of experience in the discipline of concern, and so a lack of familiarity of processes associated with inquiry in that discipline. For example, students' literature searches or experimentation require structured procedures to follow and the guidance of lecturers, tutors or demonstrators.
It is interesting to note that many literature-based assessments seem to be provided at level III in many years of university study, whereas a significant proportion of students may require the structure and guidance of Level I or Level II inquiry. In contrast, much laboratory research is at Level I or Level II, and does not provide students opportunities for working at higher levels of autonomy.


Description: Throughout the Iron Man movie series, Pepper Potts has been a very important person in Tony Stark's life. Tony's love interest and personal assistant, Pepper has helped Tony defeat Obadiah Stane and Aldrich Killian. Pepper has been with the genius billionaire during the most crucial moments in the film series. Fans have been waiting for a collectible figure of her, and today Sideshow Collectibles and Hot Toys are delighted to officially reveal the Pepper Potts Sixth Scale Collectible Figure from Iron Man 3!
The movie-accurate collectible figure is specially crafted based on the image of Gwyneth Paltrow as Pepper Potts in the film, and features a newly developed head sculpt with long straight light reddish-blonde real fabric hair, a finely tailored costume, an interchangeable Iron Man Mark IX right arm with LED light-up function, and a figure stand!


text:
Der PAE Atromitos Athen () ist ein griechischer Fußballverein aus Peristeri, der 1923 gegründet wurde. Seit 2009 spielt der Verein wieder in der ersten griechischen Liga.

Geschichte
Der Verein entstand 1923, als einige Studenten aus Athen beschlossen, eine Fußballmannschaft zu gründen. Noch im selben Jahr konnte man den ehemaligen bekannten Fußballspieler Vaggelis Stamatis als Manager gewinnen. Aufgrund seiner Bekanntheit wurde Atromitos 1924 in die griechische Fußballliga aufgenommen. Zu dieser Zeit spielte der Verein insbesondere auf der Sportanlage von Panellinios Athen. In seiner ersten Saison wurde der Verein prompt Dritter und schon 1928 konnte der Athener Stadtmeistertitel gewonnen werden. Dadurch qualifizierte sich der Verein erstmals für die höchste griechische Spielklasse. 1932 wechselte Atromitos in die Stadt Peristeri, da es in unmittelbarer Nähe von Panathinaikos Athen nicht möglich gewesen wäre, sich eine eigene Fangemeinschaft aufzubauen.

Bis 1972 spielte der Verein danach in der zweiten Liga, ehe er unter Trainer Savva Papazoulou wieder in die erste Liga aufstieg. Diese war jedoch zu schwer und es folgte der direkte Wiederabstieg. 1975 stieg Atromitos erneut auf und schaffte diesmal den neunten Tabellenplatz. Trotz einiger guter Neuverpflichtungen stieg der Club 1981 wieder in niedrigere Ligen ab und spielte lange Jahre sogar in der dritten Liga. Erst im Mai 2002 schaffte man den Wiederaufstieg in die zweite Liga. Im Jahre 2005 hat der Verein mit dem FC Chalkidona fusioniert und spielt seither in der Super League. 2006/07 schloss man die Saison mit einem guten 8. Tabellenplatz ab. Sowohl 2012 als auch 2013 konnte man sich als Tabellenvierter für den Europapokal qualifizieren.

2011 gelangte der Verein ins Pokalfinale, unterlag jedoch dem Lokalrivalen AEK Athen mit 0:3. Das Spiel wurde von Ausschreitungen begleitet. 2012 zog man erneut ins Endspiel des Pokals ein, verlor dieses Mal jedoch gegen Olympiakos Piräus.

Trainer
  Georgios Donis (2009–2012)
  Damir Canadi (2017–2019)

Spieler
  Denis Epstein (2011–2013)

Einzelnachweise

Weblinks

Atromitos
Sport (Peristeri)
Gegründet 1923

redpajama_set_name: RedPajamaWikipedia


text:
Nidulispora är ett släkte av svampar. Nidulispora ingår i divisionen sporsäcksvampar och riket svampar.

Källor

Sporsäcksvampar
Nidulispora


Hamilton High School soccer standout Casey Shifflett has been named to the 2011 High School Girls Soccer All-America Team.
The announcement was made by the National Soccer Coaches Association of America and major sponsor Adidas. Shifflett was senior captain and center midfielder for the Lady Broncs this past season, and has been an all state player from Montana's South A Conference for three years in a row.
She was also named Montana High School Girls Soccer Player of the Year by the NSCAA, which is comprised of high school coaches.
Only 81 players are selected to the All America team from 8 All-Region teams. Casey joins six players from Texas, two from Oklahoma, and one each from Louisiana and Arkansas on the All-Region VI Team. Here's a link to the NSCAA website.
By the way, she also was this week's Achiever of the Week for the Lady Bronc Basketball's first games of the season.


m0n1ka 3 months, 3 weeks ago.
Hi, we are a family of 7 (kids 5-14) looking to do a week long swap. We live in spacious 5 bedroom home in Salmon Arm. Hoping to come to Fernie during Spring Break and/or Summer of 2019. We do have allergies so it would have to be a completely smoke and pet free home, preferably 2 plus bedrooms. If this is something that interests you, please contact me.


Arnott and Vederoff Ancestors - Headstone of Thomas and Jane Elam Bailey, Fairmont Cemetery, Denver, Denver County, Colorado. G. A. R. on stone.
Headstone of Thomas and Jane Elam Bailey, Fairmont Cemetery, Denver, Denver County, Colorado. G. A. R. on stone.


As a warehouse distributor we have the unique ability to get you thousands of products.
The Advanced Plus Shop allows us to bring you those items for pickup in our store in a timely manner! Just browse, add items to cart, and pickup at our store. If you need something specific or large quantities, give us a call for our best prices.


text:
Swedish Match AB (publ) (OTCMKTS:SWMAY) Rating Reiterated by UBS Group
Posted by John Perry on Jan 14th, 2021
Swedish Match AB (publ) (OTCMKTS:SWMAY)'s stock had its "buy" rating restated by investment analysts at UBS Group in a research report issued on Tuesday, The Fly reports.
A number of other equities analysts have also commented on the stock. Morgan Stanley reiterated an "overweight" rating on shares of Swedish Match AB (publ) in a report on Monday, November 16th. Deutsche Bank Aktiengesellschaft reiterated a "buy" rating on shares of Swedish Match AB (publ) in a report on Monday, November 2nd. JPMorgan Chase & Co. reiterated an "overweight" rating on shares of Swedish Match AB (publ) in a report on Thursday, December 17th. Societe Generale reiterated a "buy" rating on shares of Swedish Match AB (publ) in a report on Wednesday, October 28th. Finally, Zacks Investment Research lowered shares of Swedish Match AB (publ) from a "buy" rating to a "hold" rating in a report on Friday, January 8th. Two research analysts have rated the stock with a hold rating and eight have issued a buy rating to the company. The company has an average rating of "Buy" and a consensus target price of $43.00.
Get Swedish Match AB (publ) alerts:
OTCMKTS SWMAY opened at $37.93 on Tuesday. The firm's fifty day moving average price is $38.93 and its two-hundred day moving average price is $39.05. The stock has a market cap of $12.30 billion and a PE ratio of 27.68. Swedish Match AB has a fifty-two week low of $23.86 and a fifty-two week high of $41.70.
Swedish Match AB (publ) (OTCMKTS:SWMAY) last posted its earnings results on Tuesday, October 27th. The company reported $0.52 earnings per share for the quarter, topping analysts' consensus estimates of $0.43 by $0.09. The firm had revenue of $496.18 million for the quarter, compared to analysts' expectations of $445.50 million. Swedish Match AB (publ) had a net margin of 27.15% and a negative return on equity of 72.67%. As a group, analysts expect that Swedish Match AB will post 1.64 EPS for the current year.
About Swedish Match AB (publ)
Swedish Match AB (publ) develops, manufactures, markets, and sells snus and moist snuff, lights, and other tobacco products in Scandinavia, the United States, and internationally. The company operates through Smokefree, Cigars, and Lights segments. The company provides snus and pouch products, nicotine pouches, and moist snuff under the General, Göteborgs Rapé, Kaliber, Kronan, Ettan, Grov, Catch, ZYN, G.3, G.4, The Lab, Nick & Johnny, Longhorn, and Timber Wolf brand names.
Featured Article: FinTech
Receive News & Ratings for Swedish Match AB (publ) Daily - Enter your email address below to receive a concise daily summary of the latest news and analysts' ratings for Swedish Match AB (publ) and related companies with MarketBeat.com's FREE daily email newsletter.
FY2022 Earnings Forecast for Exelixis, Inc. Issued By Oppenheimer (NASDAQ:EXEL)
Western Energy Services (OTCMKTS:WEEEF) Price Target Raised to $0.35
Bank of America Lowers Esperion Therapeutics to Neutral
Etsy Price Target Increased to $93.00 by Analysts at Morgan Stanley
Facebook Price Target Raised to $325.00
DURECT Downgraded by Zacks Investment Research to "Sell"
Deciphera Pharmaceuticals Lifted to "Buy" at Zacks Investment Research
Air Products and Chemicals, Inc. Expected to Post Earnings of $2.19 Per Share
Daily Ratings & News for Swedish Match AB (publ)
Complete the form below to receive the latest headlines and analysts' recommendations for Swedish Match AB (publ) with our free daily email newsletter:
Bank of America Lowers Esperion Therapeutics (NASDAQ:ESPR) to Neutral
Etsy (NASDAQ:ETSY) Price Target Increased to $93.00 by Analysts at Morgan Stanley
Facebook (NASDAQ:FB) Price Target Raised to $325.00
DURECT (NASDAQ:DRRX) Downgraded by Zacks Investment Research to "Sell"
Deciphera Pharmaceuticals (NASDAQ:DCPH) Lifted to "Buy" at Zacks Investment Research
Air Products and Chemicals, Inc. (NYSE:APD) Expected to Post Earnings of $2.19 Per Share
$5.70 EPS Expected for Northrop Grumman Co. (NYSE:NOC) This Quarter


San Francisco is a city with mesmerizing beauty and has beautiful spots in its pocket to make the holiday "The Best Holiday". Starting from the natural beauty to historical landmarks and the rocking nightlife, the city is a complete package for all of its lovers.
concentrated at union square. If you have not decided a place for your stay, then you can go for Union Square as the city's best hotels are concentrated here. Moreover, it is very comfortable from the commutation point of view.
The ride of cable cars is just similar to the roller coaster ride and makes your trip full of adventure. The ride gives you a glimpse of the splendid beauty of this city. Make sure to not to stand on the doors otherwise the conductor will ring his bell and help you spoil your journey with a bad mood.
The most photographed bridge on this planet is ready to welcome you with its mesmerizing beauty. Amongst all the San Francisco attractions, the adorable Golden Gate Bridge ranks at number one. Do not forget to take walk over the bridge. Listen to music, set your hair free and live the moments. Make your camera your best partner to click all of your favorite moments. The city offers a night tour to the bridge as the night adds more colors to its beauty. You can take a walk to the Golden Gate Park and experience the natural beauty of the gardens. It was built after a long struggle against many difficulties. So this landmark, definitely deserves a visit.
If you are a foodie, then Chinatown and Fisherman's Wharf offers you a remarkable list of options. It comes up with wonderful street food. Enjoy the best Irish coffee; try Clam Chowder in Sourdough Bread Bowl and Chinese food. Make sure to add Mexican cuisine in your order as San Francisco offers some of the best Mexican cuisine in the whole United States. You can make Mission district as your next destination as some of the city's best Mexican restaurants surround it. It is known to be the largest Chinese community outside Asia and also , the oldest one. It holds a great importance in the history of ethnic Chinese immigrants in North America. It is a major tourist attraction and is known to have more visitors than the Golden Gate Bridge annually.
Take a walk across the North Beach, Washington square Park, Little Italy's Community Centre, Union Street and many more. The essence of coffee in the air, the amazing bakery shops will tempt your taste buds and make your day the best among all.
San Francisco tour comes with one of its best destination and that is the tour to the historical prison, the infamous Alcatraz Islands. Enjoy the history of America accompanied by the audio clips, which are available in more than 12 languages.
Plan the evening at the twin peaks and enjoy the beautiful sunset. As the sunsets and the night sky covers the city, the sparkling lights make the city shine and looks more beautiful like a twinkling sky. Do not forget to carry your camera as every scene is worth clicking.
Drive along the bay and on the other side of the coast, the Muir woods are waiting to welcome you. Make your jogging shoes the best companions and have a relaxed walk with the world's oldest Redwoods. Do not forget to capture all the beautiful scenes in your camera. After enjoying the woods for almost two hours, travel to the beautiful town Sausalito. It is a hub of various galleries, shopping spots, and mind-blowing eating joints. Enjoy art along with your favorite food and wine.
The city is a perfect destination for those who want to learn more about its culture. Moreover, it is a hub of various art galleries, excellent museums, and the very old and famous libraries. Enjoy the oldest collection of books at civic center and the art as the galleries have an amazing collection of all these.
If you are fond of clubbing, then the city has some hottest clubs mainly located in the Mission district. Dance, music and wine will make the evening full of colors.
Pack your bags, book the tickets, come to San Francisco, add these destinations to your trip and make it the best trip of your life.


When it come to jewelry, less can be so much more. Of course, when we say "less," we mean small in size, dainty, and delicate. Layer them on and it all can still feel understated and beautifully effortless. This is exactly why I'm loving this collaborative collection from Luv Aj and Wolfcub. A simple, yet gorgeous, 6 piece collection is all it really takes to make a statement and instantly become a staple in your jewelry rotation.
← WOW this is AMAZING!!


Our trip to Tuscany, after a two day delay in departure due to snow management issues across the pond, was great fun. Home base was in the medieval town of Lucca inside the still intact 18 foot high wall begun in 1544 and completed in 1654.
From Lucca, we took day trips to Pisa, Pistoia, Siena and Florence. The weather was typical of winter in Tuscany with snow flurries to rain and a high in the 50s. A bit more sunlight might have provided more of a glimpse of the famous Tuscan sun, but, all in all, no complaints.
Most likely, this post is just the first of several on our trip to Tuscany. From her first trip to the US Virgin Islands at 3 months, she has always enjoyed travel. On this trip, her 8th to Europe, we noted several times how little accommodation she requires. She eats from the regular menu most of the time, including some very sophisticated dishes for a 5 year old. She adjusts well to time zone changes and shifting schedules. She walks on her own several miles per day without issue. We are quite proud of her.
Gelato – What's not to like? Most days we tried for gelato at least twice.
Uno – She loved the card game she got in her Christmas stocking. Turns out, she's quite the card shark, winning several times.
Pinocchio Park – In the home town of the author, there is a lovely theme park dedicated to all things Pinocchio.
Climbing the Tower (and the view from the top) – In bygone days, a prime method of displaying one's wealth was to build a tower as part of one's house. While many have collapsed over the centuries, quite a few remain in Tuscany. We climbed one in Lucca, all 218 steps.
Taking Pictures – She has her own camera… and her own photographic style. Some of her pictures are quite good.
This entry was posted in 4 - Lists. Bookmark the permalink.


Season Two: Heroines of the Bible: Her Story. My Story.
The three miracles of Sarah's Tent ceased upon her passing. They returned when Rivkah built her home. The miracles correspond to the three mitzvos given especially to women. It is our mandate, through the observing and beautifying these mitzvos, to bring light, peace and blessing into our homes. This year, we will delve into these mitzvos through a monthly series of textually based shiurim in memory of Rivkah Holtzberg.


text:
Accueil » Artists » Vincent Fournier
Biography — read more
Observes stars, travels in space, builds new worlds, makes living entities or reprogram it, see beyond the visible …
The work of Vincent Fournier proposes a journey in some of the most representative utopias of the XX and XXI century.
Result of a long preparation and an attraction for opposite, his works are poetic and accurate, freely fed by lm and literary inspirations. Fascinated by the science, the architecture, the technologies and their mysteries, his images explore its fictional and wonderful potential.
In these imaginary archives, the memory works in both directions – or as says the White Queen in Alice in Wonderland – in the past but also in the future. A world, in which we remember what did not arise yet – of what will happen tomorrow.
Marie Secher, [The Future will be silent], Cercle Magazine.
Born in 1970 and lives in Paris. Graduate with a sociology degree and a Master in Visual Arts in 1994. Diploma from the National School of Photography in Arles in 1997.
Collections of Museums and Fondation
MET – Metropolitan Museum of Art, New York, permanent collection, 2016. Schlumberger Collection- Domaine des, Etangs, 2015/2016.
MAST Foundation (Foto Industria), Bologna, 2013.
LVMH Foundation, Contemporay Art Collection, Paris, 2013.
Ergol #3, Arianespace
Guiana Space Center [CGS],
Kourou, French Guiana, 2007.
— mori.art.museum
The Space Project & The Flesh flowers bodies of work will be part of this collective exhibition including artists from Andreas Gursky, Tom Sachs, Laurent Grasso, Pierre Huyghe among others. "The Universe and Art" will offer a diverse selection of around 200 items from across the globe and down the centuries, in multiple genres, from meteorites and fossils to historic astronomical material by Da Vinci...
— metmuseum.org
The Metropolitan Museum of Art in New York has made the acquisition in 2016 of 5 large formats photographs from the brasilia series.
— Past Forward, 360°
— SpaceProject, Verlhac


Empa engineers, together with the firm «r going», have succeeded in developing an ergonomic seat for electric wheelchairs which encourages the user to move around frequently. True to the motto «life is movement » the aim is to enhance the freedom of movement of wheelchair users with a range of disabilities.
Today's office workplaces are designed to be as ergonomic as possible. Even so, after hours of hunching over a desk it does you good to stand up, stretch your legs and relax your back. Spending a whole day in practically the same cramped position is a very tiring proposition.
The backrest of the seat shell (seen from behind) is constructed of ribs and joints which simulate the structure of a human torso.
Wheelchair users in particular face the problem of being forced to spend long periods in the same position. The result can be pain, deformities and decubitus ulcers (or bedsores). The engineer and ergotherapist Roger Hochstrasser, founder of the company «r going», wanted to help improve this situation. He took his idea for a novel seat shell to Bernard Weisse, an Empa engineer together with whose team Hochstrasser had previously worked very successfully. The newly developed seat was intended to improve the ergonomics of the wheelchair and thereby save the cost of additional treatment.
The pressure mat on the wheelchair seat measures how the backrest "forces" users to change their sitting position, thereby shifting the location of pressure points.
Within 18 months Empa and «r going» completed the development of the innovative seat and constructed the first prototype in a project financed by the Swiss Confederation's Commission for Technology and Innovation. The new seat shell has an articulated backrest constructed of of ribs and movable joints which are designed to match the contours of the user's torso. Depending on the version, the backrest can be tilted up to 22° forwards and 40° backwards and seat can also be rotated by a good 30° in each direction horizontally. The wheelchair user is therefore strongly encouraged to keep changing his or her position, thereby shifting the location of the pressure points, as measurements with a pressure mat on the seat have shown.
Researchers from the Institute for Energy and Mobility of the Berne University of Applied Sciences have developed the drive concept and a control console which allows the ergotherapist to program the movements of the backrest so that the wheelchair user's sitting position is altered in an optimal fashion. "Despite this, if anyone should ever feel uncomfortable they can adjust the settings themselves at any time to suit their individual needs", explains Weisse. A particularly practical point is that the backrest is powered by the same 24 battery as drives the wheelchair.
How good is the newly developed wheelchair seat shell in practice? Test runs in Empa's grounds provided the answer to this question.
Empa wouldn't be Empa if it hadn't given the new development a comprehensive practical test, in this case in its own grounds. Test users of various weights drove the wheelchair with its innovative new seat along gravel paths, up and down ramps and over kerbstones and cobbled roadways. A road trip in the Tixi-Taxi, a transport service for handicapped persons, with lots of curves included, served to evaluate the loads being placed on the backrest. All the tests were completed to Hochstrasser and Weisse's full satisfaction.
DemClinical tests are planned for the near future. These will show whether the improved pressure data which was measured in the laboratory does actually lead to improvement in the well-being and health of the wheelchair users and whether the innovative seat gains full acceptance by those for whom it has been designed.


types of crusher used for coal crushing - . Coal Processing Plant For Sale Coal Mill CGM Jaw Crusher Impact Crusher For Coal Crushing Have . . Hammer crushers are .
Used Coal Crusher for sale. Hammer . Search for used coal crusher. Find Hammer, American, Edge, Tigercrusher,, Stone for sale on Machinio.
Used Coal Crushers. Used Mining Equipment for Sale – Minerals Processing . We have coal crushers with the newest also sale used coal crusher in coal crusher plant.
Coal Wash Plant for Sale in the Usa,Coal Washing Plant for Sale in Uk. Crusher Machine. Used Stone Crusher for Sale in India Price; .
Crushing and Screening - New & Used Crushing Equipment for Sale . . Coal beneficiation plant. . Crusher Used In The Coal Mines - devkrupaenterprises.
used coal processing plant parts for sale - . Used Coal Crusher For Sale - isoconsultantcoin. CME has been engaged in mineral processing unit, coal, cement plant .
underground coal mine panel - Crusher Machine For Sale. Stone Crusher Machine. XSM production of stone crusher: jaw crusher, impact crusher, cone crusher.
Search Gumtree Free . Crushing plant for sale 3042 Jaw Crusher, . Mobile Crusher and Jaw crusher available for gold/stone /chrome and coal.
Portable Coal Crushing Plant For Sale - Rock Crusher Equipment. Supply Portable Coal Crushing Plant For Sale. Portable Coal . portable crusher equiment,including .
used coal crusher for sale india - ititalcher. used for sale coal crushers india crusher Coal crushing plant for sale used in coal processing Mar 12, 2014 Coal .
Crusher For Sale,Crusher Cost,Crusher For Coal&Iron Ore . Crusher for sale, learn how to get lower crushing cost, specification of crusher for coal, limestone, iron .
21/6/2017 · More Details: pakistancrushers/contact.php Coal Crusher Cone Crusher For Sale Crusher Mills, Cone Used Coal Crushers Crusher Mills, Cone .
Franklin Miller Roller Mill; . fertilizer, limestone, coal, fly ash, potash, phosphates, agglomerated powders, . Low Friction Crusher. Delumper® Multi Shaft LP.
pulveriser coal mill used for sale. pulveriser coal . pulveriser coal . Mining ball mills for sale,Price of mining ball mill,Manufacturers Coal mill pulverizer .
Used Coal Crushers. . We have coal crushers with the newest also sale used coal crusher in coal crusher plant. Coal & Coke Crushers on ThomasNet.
Coal Crushers Used - gatewaypreschool. Coal Crusher. Coal Crushers, . The crushers typically used are rolled crushers. Coal Crushers play an important role in .
vibratory screens used for coal – Crusher Machine For Sale . Crusher Machine For Sale. The XSM is professional ore crushing machinery company,the company's crushers .
used coal crusher for sale india - ecole-ethe-saint .
coal crusher machinery- used coal crusher for sale india,2016 ore mill sale >>coal crusher machinery coal crusher machinery Coal Crushers,Cone Crusher,jaw crusher .
Used Portable Rock Crusher For Sale. . Advantage of vertical mill processing coal ashAdvantage of vertical mill processing coal ash.
Coal crusher machine, new and used coal crusher machine for sale. Brief introduction: As one of the coal crusher machines, .


text:
COUNTERVIEW.ORG
Voluntary blogging platform
Gaganspeak
Inclusive Cities
CRZ Series
FCRA: Legal proceedings
Contributing Guidelines
Civil Society, Rule of Law
Attempt to hound, malign Lawyers Collective is part of larger clampdown on civil society voices
Recently, the Union Home Ministry suspended noted NGO Lawyers Collective's licence to receive foreign funds for six months. A public interest service organisation founded by activist lawyer Indira Jaising, the Home Ministry had issued a Foreign Contribution Regulation Act (FRCA) violation notice against the NGO last year. It also directed the NGO to submit its reply within 30 days. Describing the move "motivated and mischievous", her husband and well known senior lawyer Anand Grover, also a trustee of Lawyers' Collective, while another well-known lawyer Vrinda Grover said "Indira Jaising and Anand Grover are being targeted for their fearless legal representation and advocacy of human rights." Jaising is currently representing well-known social activist Teesta Setalvad in a foreign fund violation case against the latter's Sabrang Trust and Citizens for Justice and Peace. Text of the statement by the Lawyers' Collective:
The Lawyers Collective (LC) expresses its anger and outrage at reports of alleged violations of the Foreign Contribution (Regulation) Act, 2010 (FCRA) made by the Ministry of Home Affairs (MHA) and circulated by sections of the press and denies the same. LC is a society and public trust registered under the law. LC was founded in 1981, "to protect the democratic rights of citizens guaranteed in the Constitution of India; to provide legal aid and advice; to convene seminars/discussions on legal issues and to campaign for law reforms, which will protect and extend the democratic and civil rights of the people."
Over the last 35 years, LC has been carrying on its activities within the constitutional and legal framework as well as in accordance with the aims and objects stated in its Memorandum of Association. The impact of LC's work has been tremendous and is recognised the world over, whether in drafting and monitoring the implementation of the Protection of Women from Domestic Violence Act, 2005 or in challenging discrimination against people living with HIV through cases like MX vs. ZY (Bombay High Court, 1997). LC's legal team has been at the forefront of the battle against section 377, IPC that criminalises same-sex relations, the recognition of transgender identity and rights, as well as ensuring affordable medicines by preserving public health safeguards under section 3(d) the Patents Act, 1970, amongst others.
LC has also worked extensively with various Government departments, both at the Centre and in the States on laws, policies and programmes that protect Fundamental Rights and advance the Directive Principles of State Policy, as enshrined in the Indian Constitution. LC has been registered with the MHA for receiving foreign contribution since November 2000 and has been complying with the provisions of the FCRA through reporting, submission and maintenance of accounts. LC states that no notice under FCRA, whatsoever, has been issued to LC, either by MHA or any other Ministry.
What it has received till date is a standard questionnaire dated 5th November, 2015, an intimation for inspection of accounts dated 12th January, 2016 and observations/findings of the inspection team dated 29th February, 2016. Nonetheless, sections of the press have been reporting that LC has been served "show cause" notice for violating the FCRA. These reports first appeared in November 2015 and continue to be published till date. In its reply dated 11th December 2015, the MHA itself clarified that "… no show cause notice as mentioned in your letter dated 05.12.2015 has been issued to Lawyers Collective by this Ministry till date and this Ministry categorically denies its involvement and responsibility to the news item published."
LC has fully cooperated with the MHA in providing information sought and in having our books of accounts examined by the inspection team deputed under the FCRA. We are in the process of replying to the observations made by the inspection team, which are totally unsustainable, both in fact and law, within the stipulated period of 30 days. While LC believes in the legal process, it appears that the authorities do not. Contrary to provisions under the FCRA that require information from audit/inspection to be kept confidential, certain officers at the MHA are going out of their way to leak observations of the inspection team, in order to create prejudice and hostility against the LC, even before the legal procedure for inquiry has concluded. In the last one year, the MHA has cancelled FCRA registration of over 15, 000 NGOs in the country. None of their accounts/details were made public, with the exception of Green Peace India and Sabrang Trust and Citizens for Justice and Peace and now, LC.
This deliberate and selective disclosure, contrary to the law, speaks volumes about the real motive and intent behind the entire exercise. LC plainly refutes allegations of violations of FCRA and misuse of funds. The foreign contribution received by LC has been used only for the purposes for which the money was received and in line with FCRA and the Rules thereunder. Our accounts are available in the public domain and can be accessed by anyone who wishes to do so. The accusation of paying volunteers to hold dharnas is absolutely misconstrued and baseless.
There is no bar in the FCRA on supporting community mobilization or dharnas, which are the very heart of a democratic society. Supporting people living with HIV with food and water, as they stand in the sun demanding protection of their rights is neither political nor illegal, as alleged. Nor is organizing and participating in conferences, which is one of the stated objectives of the organisation.
It has been alleged that LC received foreign contribution during 2009-2014 when its Trustee, Ms. Indira Jaising served as the Additional Solicitor General and that this amounts to a violation of FCRA. It is clarified that Ms. Jaising was not a "government servant or employee" as stipulated in section 3 of the FCRA. This is reconfirmed by the fact that the present Attorney General of India has sought and obtained permission to appear in the Supreme Court of India for private parties including the liquor lobby, which he could never have done if he was a government servant or employee as contemplated in law.
LC states that it engages in sensitization and advocacy with stakeholders including Members of Parliament ("MPs") on the need for protection of rights of people living with HIV and other vulnerable groups. Interacting with MPs to make them aware of people"s needs and concerns is a perfectly legitimate and constitutional activity. It does not amount to "lobbying". Section 3 of the FCRA prohibits a "member of any legislature" and "political party" from receiving foreign contribution.
LC's activities do not fall under any of those categories. It is no exaggeration to say that this is a deliberate and sustained effort to target and vilify LC and its chief functionaries, who are known for their commitment to human rights and liberal values, in the eyes of the public. For over three decades, LC has taken up issues of human rights and justice that are often unpopular with, or disliked by the political establishment of the day. It is no coincidence that in recent times, the founding trustees of LC – Ms Indira Jaising and Mr. Anand Grover, in the course of their professional duties as lawyers, have defended cases of Priya Pillai (Green Peace India), Teesta Setalvad and Yakub Memon that have caused discomfort to many in the current establishment.
Ms. Jaising also recently represented Sanjiv Bhatt, the IPS officer from Gujarat demanding an independent investigation by SIT into false and frivolous FIRs lodged against him in the State of Gujarat. There is no doubt that attempts to hound and malign LC is part of the larger clampdown on civil society voices that seek to preserve and protect shrinking democratic spaces in India and zealously guard civil liberties including the right to dissent. While LC will assist and cooperate with the authorities in implementing the FCRA, it will resist and respond to any unfair and unlawful acts to malign the organisation and its functionaries, who remain committed to advancing justice through constitutional means".
Previous Previous post: Citing commercial confidence, NHPC has refused transparency about return of J&K hydel projects
Next Next post: Reading of "violations" of FCRA by Lawyers Collective doesn't reveal evidence of financial fraud
We are interactive voluntary e-platform wedded to peace, democracy and social justice (click HERE). For submitting articles/ blogs click HERE
Bharat Patankar: Annihilation of caste should be Ambedkarites' top agenda
Strictest punishment for mob lynching needed now more than ever before
Implications of COVID-19 for migration and displacement: Food security trends in major hotspots
Pathways for India for raising climate ambition, biodiversity protection, sustainable development
India's trade dynamics under Covid-19: Trade openness and value chain participation
RTI reveals: Rs 1,360 crore paid out to undeserving persons under PM-KISAN Yojana
Can Bangladesh shift to become 'developing country' from a 'least developed' one by 2024?
Depressed minds, suicidal thoughts, unsafe nests: Mental health during the COVID-19 pandemic
Brazilian labour market amidst Coronavirus pandemic: Impact and way forward
India's high GHG emission a consequence of over-exploitation of natural resources
Despite claims, large number of Bangladeshis don't have access to basic financial services
Chandra Bhan and his theory on Dalit capitalism as an intriguing prospect
Why you don't need an epidemic for the public health system to collapse
Bezwada Wilson on why it is needed to actively lobby for sanitation workers' rights
How Sheba George and her fellow activists prepare critical mass of women leaders
Gaganspeak is a column by Gagan Sethi, prominent development educator, practicing organizational development expert and gender trainer, and founder of Janvikas and several other strategic organizations. Click HERE to read articles in the column
Spotlight is a column by well-known Dalit rights activist and founder of Navsarjan Trust, Martin Macwan, who is passionate about the need for annihilation of the caste system from India. Click HERE to read articles in the column
Click on the image to buy the book edited by Martin Macwan
Categories Select Category Agriculture Analysis Child Rights Civil Society CRZ Series Culture Dalits Development Economy Education Environment Gaganspeak Gender Governance Health Human Rights Inclusive Cities Justice Labour Land Use Change Livelihood Media Minorities Poverty Rule of Law Spotlight Tribals
Archives Select Month January 2021 December 2020 November 2020 October 2020 September 2020 August 2020 July 2020 June 2020 May 2020 April 2020 March 2020 February 2020 January 2020 December 2019 November 2019 October 2019 September 2019 August 2019 July 2019 June 2019 May 2019 April 2019 March 2019 February 2019 January 2019 December 2018 November 2018 October 2018 September 2018 August 2018 July 2018 June 2018 May 2018 April 2018 March 2018 February 2018 January 2018 December 2017 November 2017 October 2017 September 2017 August 2017 July 2017 June 2017 May 2017 April 2017 March 2017 February 2017 January 2017 December 2016 November 2016 October 2016 September 2016 August 2016 July 2016 June 2016 May 2016 April 2016 March 2016 February 2016 January 2016 December 2015 November 2015 October 2015 September 2015 August 2015 July 2015 June 2015 May 2015 April 2015 March 2015 February 2015 January 2015 December 2014 November 2014 October 2014 September 2014 August 2014 July 2014 June 2014 May 2014 April 2014 March 2014 February 2014 January 2014 December 2013 November 2013 October 2013 September 2013 August 2013 July 2013 June 2013 May 2013 October 2012 September 2012 April 2012
Centre for Social Justice
Conflictorium
Dalit Foundation
Dalit Shakti Kendra
Janvikas
Navsarjan Trust
Paryavaran Mitra