Contribute to Open Source. Search issue labels to find the right project for you!

Radio Buton

omergulcicek/turkuazcss

Radio Buton tasarımı değişecek.

Detaylar

  • Var olan radio butonun üzerinde değişim yapılabilir yada sıfırdan yazılabilir.
  • Tasarım, Material Design'daki with-gap (tıklayın) sınıfının tasarımı ile güncenlenecek.
  • Html düzeni Turkuaz Css'teki gibi kalacak. <input type="radio" id="radio" class="tr-radio"> <label class="tr-label" for="radio">Turkuaz Css</label>
Updated 20/08/2017 00:24

Hindley–Milner style declarations would improve readability a lot

Microsoft/TypeScript

It is just a general suggestion and one thing I really appreciate with some FP languages like Haskell is this separation between declaration and implementation.

Types tend to add a cognitive load, a lot of noise around code and it would be a real killer feature if we could use Hindley–Milner style declarations. This would improve readability of the functions while providing type safety.

Updated 19/08/2017 22:51 3 Comments

Compiler Crash on empty tuple types

Microsoft/TypeScript

TypeScript Version: 2.4.1

Code

class What {
    x: [];
    constructor() {
        this.x = [];
    }
}

Expected behavior: compiler error for wrong array type declaration.

Actual behavior: Compiler Crash: Process: Error processing message: Debug Failure. Error: Debug Failure. at typeToString (evalmachine.<anonymous>:26117:22) at reportRelationError (evalmachine.<anonymous>:31446:34) at isRelatedTo (evalmachine.<anonymous>:31563:21) at checkTypeRelatedTo (evalmachine.<anonymous>:31429:26) at checkTypeAssignableTo (evalmachine.<anonymous>:31169:20) at checkAssignmentOperator (evalmachine.<anonymous>:37927:25) at checkBinaryLikeExpression (evalmachine.<anonymous>:37888:21) at checkBinaryExpression (evalmachine.<anonymous>:37766:20) at checkExpressionWorker (evalmachine.<anonymous>:38202:28) at checkExpression (evalmachine.<anonymous>:38125:42)

Updated 19/08/2017 15:59 2 Comments

Crash when trying to echo a backspace

neovim/neovim

<!– Before reporting: search existing issues and check the FAQ. –>

  • nvim --version: 0.2.1-25-g2e3b78d1
  • Vim (version: 7.4) doesn’t crash.
  • Operating system/version: Windows 10 64-bit
  • Terminal name/version: both cmd and powershell

Steps to reproduce using nvim -u NORC

nvim -u NORC
:execute("!echo ".expand("\b"))

Actual behaviour

nvim crashes with

Assertion failed!

Program: D:\Neovim\Neovim\bin\nvim.exe File: C:\projects\neovim\src\nvim\ui.c, Line 533

Expression: new_col >= 0

This application has requested the Runtime to terminate it in an unusual way. Please contact the application’s support team for more information.

nvim-qt

Neovim exited with status code (3) [Retry]

Restarts normally with retry.

Updated 19/08/2017 08:22 3 Comments

op

scelen/zendesk

This Github issue is synchronized with Zendesk:

Ticket ID: #211 Priority: N/A Group: Ondersteuning Requester: s@s.com Organization: N/A Assignee: Simon Celen

Original ticket description:

<blockquote><div class=“zd-comment”><p dir=“auto”>op</p></div></blockquote>

Updated 18/08/2017 15:37

Screen: Fragen entdecken

wepublic/ionic-app

@ThyMYthOS Beim Bewerten per shipe gibt es auf dem iPhone 5s das Problem, dass vermutlich wieder der Bildschirm zu klein ist … Um weit genug zu swipen muss ich mir schon etas mühe geben. Sonst taucht die selbe Frage gleich wieder auf. Oder täuscht das vielleicht, weil viele Fragen doppelt auftauchen?

Derzeit ist ja auch noch nicht die richtige Animation drin. Brauchst du nochmal Input, für die echte Animation? bzw. Kannst du mit dem Code, den @Bartz0210 dir geschickt hat arbeiten?

img_2501

Updated 18/08/2017 21:10 5 Comments

AIX Service problem.

NagiosEnterprises/ncpa

Hi,

It’s me again :)

I just find a bug with ncpa on AIX. One of our AIX server restart (Because it’s our test env) and NCPA don’t restart.

To restart ncpa on AIX I have to use that command /usr/bin/startsrc -e LIBPATH=/usr/local/ncpa -s ncpa_listener

I don’t understand why but I have to manually remove ncpa_listener.pid to restart ncpa_listener with success.

If I enable debug mode in ncpa.cfg I have nothing in the ncpa_listener.log. If I delete the log and try to restart it, the log don’t recreate itself. I really need to delete the pid and all the thing work again.

Updated 18/08/2017 12:19 2 Comments

Probleme

PyvesB/AdvancedAchievements

Hello, we have a problem with achievement. Indeed, we have players who do not get their achievement while they have carried out all the actions. Is it possible to add check that verify the player’s stats in order to automatically give it achievement.

http://prntscr.com/g9u387

Updated 19/08/2017 11:39 1 Comments

Multi Language problem

t9md/atom-vim-mode-plus

Hey Thanks for working on such a great addon for Atom.


I have an issue with this package when I press r it changes current character only to latin symbol even though my keyboard layout is set to Russian. As a Developer from Russia it cripples me a lot. Hope you can fix it. Thanks in advance.

Updated 19/08/2017 01:14 1 Comments

Encoding issues with nvarchar(max) columns?

findmypast-oss/mssql_ecto

Expected Behavior

I’m using SQL Server 2016 Express, set to SQL_Latin1_General_CP1_CI_AS collation. When I save data on columns set to nvarchar(max) on SQL Server’s side, they’re properly saved, but when I read them back, I get this:

screen shot 2017-08-17 at 16 29 35

Columns in question here are Analysis and Contents - they should contain “analysis” and “content” respectively.

Current Behavior

Using the scaffolding default views, I managed to save the data (and confirm it’s correct in SQL Server Management Studio). Schema definition:

schema "politicaldata" do
    field :analysis, :binary
    field :available, :naive_datetime
    field :contents, :binary
    field :created, :naive_datetime
    field :heading, :string
    field :onhold, :integer
    field :typecode, :integer
    field :url, :string
    field :userid, :integer

    timestamps(inserted_at: :date, updated_at: false)
end

The form to save the data uses textarea as the HTML control.

Possible Solution

Is there a way to set the collation on the Repo settings?

Steps to Reproduce (for bugs)

  1. Save data
  2. Go to index view, see that the nvarchar(max) columns on the database are not set properly.

Context

Trying to get out of the database what I put in 😄

Your Environment

  • MssqlEcto version: 0.3.0
  • Ecto version: 2.1
  • Elixir version: 1.5.0
  • Erlang version: 20.0
  • Microsoft SQL Server version: 2016 Express (in a VM)
  • Operating System and version: macOS 10.12.6
  • Link to your project: (not public, sorry)
Updated 18/08/2017 21:16 1 Comments

connection aborted

n0mad01/node.bittrex.api

I am receiving all ticker as real time via web-socket. Btw it was writing empty data so I checked console.log I noticed web-socket connection was disconnected. There was log ‘connection aborted’ So I inserted this code… websocketsclient.serviceHandlers.reconnecting = function (retry) { console.log("reconnecting"); return false; } I believe this should reconnect since it is described as that in readme… But ‘connection aborted’ was occurred again and it didn’t reconnect. stop working…

Please teach me how can i solve this issue… Thanks in advance

Updated 19/08/2017 11:04 1 Comments

BusinessChartBuffer Methods Disallowed for Extensions

Microsoft/AL

Modern dev heroes,

I’ve got a few methods on the BusinessChartBuffer that are currently off limits that I need.

  • AddMeaure
  • AddColumn
  • SetValueByIndex

Presumably other methods in that table are also not supported, I just haven’t tried them. This is all a little academic until we can use the Business Chart control add-in, or have some other means of creating charts, but I’ll create a separate issue for that.

Cheers, JP

Updated 17/08/2017 19:35 1 Comments

[BUG] Several instances of UMS are run at the same time (headless)

UniversalMediaServer/UniversalMediaServer

The option “run only a single instance of UMS” only works with GUI.

If you start the server headless with no GUI, it will create new javaw.exe processes every time you start UMS. It does not matter if the new instances are run as headless or GUI.

Fix: If you try to start a new headless UMS instance, it should not be allowed.

But If you try to start a new GUI UMS instance over a headless one, the GUI could be loaded for that headless process. If not possible, the headless process could be terminated and the GUI one started (it should have priority).

Updated 17/08/2017 11:52 2 Comments

dumb

tetra-fox/rbwhneg7ty-ml89o6k0-j.ip-ew54dsfaxcno-lmk0.jip-r6t5e4dfwsxaconlv-kmpi.-4wazlf-.bmnko-0p9th8d675vec

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

Updated 17/08/2017 17:06 3 Comments

The fresh created calendarView is cut at the very top

MosheBerman/MBCalendarKit

Modally presented ViewController, the only thing is done - in viewDidLoad method added the CalendarView. As you can see (see photo attached) - the top line of numbers is cut. Seems like it is added to the view without respect of TopLayoutGuide… at least I assume so.

<img width=“423” alt=“screen shot 2017-08-16 at 20 59 06” src=“https://user-images.githubusercontent.com/6980914/29380385-d968b43c-82c5-11e7-9808-25b7a03d62ab.png”>

Updated 17/08/2017 22:14 6 Comments

configuration & php artisan config:cache : bug

owen-it/laravel-auditing
Q A
Bug? no (for me laravel is bad on this) & yes (because no choice)
New Feature? no
Framework Laravel (Lumen?)
Framework version 5.4
Package version 4.1
PHP version *

Actual Behaviour

When I use php artisan config:cache, the app crashed.

Expected Behaviour

When I use php artisan config:cache, i would like my app still running.

Steps to Reproduce

install the package with the config file, and run php artisan config:cache

Possible Solutions

Ask them to make closure usable with laravel config? Until that implements a OwenIt\Auditing\Contracts\UserResolver with the same content as the closure

More information: https://github.com/laravel/framework/issues/9625 I totally disagree with the comment that config with closure is bad, but for now there is no good solution for it.

Updated 16/08/2017 15:16 4 Comments

Intellisense not working in Linux

Microsoft/vscode-cpptools

I can’t get Intellisense to work in Linux. I’m compiling with gcc 6.2.1 (devtoolset-6) and the project is built with cmake 3.6.3. I don’t get any wiggles under the include statements but I cannot navigate the code.

OS: Linux CentOS 7 VS Code 1.15.0 C/C++ 0.12.2

I don’t have other C/C++ extensions installed. Only extensions for CMake, Debugger for Chrome, Docker, ESLint, Go, Python, TSLint, vscode-icons, vscode-proto3

Attached are VS Code json settings: config.zip

Updated 17/08/2017 20:40 6 Comments

Too big to fail

thpeder/HookTest

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vitae augue nisl. Sed varius vitae nisl ac aliquam. Quisque sed turpis sit amet nibh dapibus ullamcorper volutpat quis eros. Duis sed bibendum felis. Integer erat erat, congue ac quam quis, fringilla hendrerit lorem. Integer vulputate, risus nec viverra tincidunt, velit nisi blandit erat, ut dignissim ex justo eu purus. Morbi eu fringilla enim, hendrerit tempus nulla. Nunc congue vitae enim in venenatis. Nulla dictum quam ipsum, at cursus libero porta vel. Proin lobortis porttitor consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Curabitur nec nulla a erat tincidunt imperdiet et id lorem. Quisque est lectus, iaculis ut elit at, aliquam convallis enim. Duis auctor et lacus vitae pretium. Curabitur dictum sem accumsan tellus venenatis, consectetur efficitur lacus lacinia. Ut tellus arcu, hendrerit vel sem in, dapibus sodales nisi. Aliquam tincidunt rutrum ornare. Fusce ac tellus ligula. Phasellus ullamcorper mollis nibh, eu tempor diam laoreet nec. Integer enim nulla, tempor tristique pellentesque ut, auctor quis nibh. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed ac ipsum tempus, gravida nibh eget, suscipit tellus. Proin commodo tristique nisl, eu blandit justo tincidunt vel.

Vestibulum lobortis vestibulum nunc non vehicula. Nam molestie luctus ex tempus malesuada. Praesent sapien augue, auctor in libero et, lobortis pharetra lacus. Nam consequat augue ac efficitur condimentum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer accumsan lacinia lectus, non suscipit massa rhoncus ut. Sed cursus vehicula consectetur. Sed congue finibus bibendum. Nunc sodales tellus vel magna varius viverra.

Nunc at dui in mauris feugiat feugiat id et orci. Nam malesuada tempus nisi. Morbi pharetra congue eleifend. Praesent quam elit, imperdiet vehicula pretium ac, imperdiet vitae neque. Donec porta gravida porta. Vestibulum sed arcu suscipit, faucibus metus vel, dapibus magna. Vivamus gravida neque arcu, nec varius massa dapibus eget. Maecenas commodo libero et dolor lacinia consectetur ut quis nisi. Phasellus dictum non metus egestas sagittis. Vivamus id dolor lobortis, sodales felis in, malesuada augue. Proin non cursus dui.

Mauris tincidunt metus tincidunt dictum rhoncus. Donec faucibus consectetur urna, at blandit nisi varius in. Nullam elit nunc, vulputate non euismod in, sagittis ac orci. Cras sit amet pellentesque ipsum, non condimentum nisl. Suspendisse dictum est id mauris egestas, vel mattis ex bibendum. Quisque sit amet libero ornare, lacinia velit dictum, commodo dui. Integer quis maximus mauris, a placerat nunc. In sollicitudin luctus mi, at tincidunt purus efficitur ut. Sed molestie massa id iaculis imperdiet. Sed eu elementum mauris. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vitae augue nisl. Sed varius vitae nisl ac aliquam. Quisque sed turpis sit amet nibh dapibus ullamcorper volutpat quis eros. Duis sed bibendum felis. Integer erat erat, congue ac quam quis, fringilla hendrerit lorem. Integer vulputate, risus nec viverra tincidunt, velit nisi blandit erat, ut dignissim ex justo eu purus. Morbi eu fringilla enim, hendrerit tempus nulla. Nunc congue vitae enim in venenatis. Nulla dictum quam ipsum, at cursus libero porta vel. Proin lobortis porttitor consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Curabitur nec nulla a erat tincidunt imperdiet et id lorem. Quisque est lectus, iaculis ut elit at, aliquam convallis enim. Duis auctor et lacus vitae pretium. Curabitur dictum sem accumsan tellus venenatis, consectetur efficitur lacus lacinia. Ut tellus arcu, hendrerit vel sem in, dapibus sodales nisi. Aliquam tincidunt rutrum ornare. Fusce ac tellus ligula. Phasellus ullamcorper mollis nibh, eu tempor diam laoreet nec. Integer enim nulla, tempor tristique pellentesque ut, auctor quis nibh. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed ac ipsum tempus, gravida nibh eget, suscipit tellus. Proin commodo tristique nisl, eu blandit justo tincidunt vel.

Vestibulum lobortis vestibulum nunc non vehicula. Nam molestie luctus ex tempus malesuada. Praesent sapien augue, auctor in libero et, lobortis pharetra lacus. Nam consequat augue ac efficitur condimentum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer accumsan lacinia lectus, non suscipit massa rhoncus ut. Sed cursus vehicula consectetur. Sed congue finibus bibendum. Nunc sodales tellus vel magna varius viverra.

Nunc at dui in mauris feugiat feugiat id et orci. Nam malesuada tempus nisi. Morbi pharetra congue eleifend. Praesent quam elit, imperdiet vehicula pretium ac, imperdiet vitae neque. Donec porta gravida porta. Vestibulum sed arcu suscipit, faucibus metus vel, dapibus magna. Vivamus gravida neque arcu, nec varius massa dapibus eget. Maecenas commodo libero et dolor lacinia consectetur ut quis nisi. Phasellus dictum non metus egestas sagittis. Vivamus id dolor lobortis, sodales felis in, malesuada augue. Proin non cursus dui.

Mauris tincidunt metus tincidunt dictum rhoncus. Donec faucibus consectetur urna, at blandit nisi varius in. Nullam elit nunc, vulputate non euismod in, sagittis ac orci. Cras sit amet pellentesque ipsum, non condimentum nisl. Suspendisse dictum est id mauris egestas, vel mattis ex bibendum. Quisque sit amet libero ornare, lacinia velit dictum, commodo dui. Integer quis maximus mauris, a placerat nunc. In sollicitudin luctus mi, at tincidunt purus efficitur ut. Sed molestie massa id iaculis imperdiet. Sed eu elementum mauris. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vitae augue nisl. Sed varius vitae nisl ac aliquam. Quisque sed turpis sit amet nibh dapibus ullamcorper volutpat quis eros. Duis sed bibendum felis. Integer erat erat, congue ac quam quis, fringilla hendrerit lorem. Integer vulputate, risus nec viverra tincidunt, velit nisi blandit erat, ut dignissim ex justo eu purus. Morbi eu fringilla enim, hendrerit tempus nulla. Nunc congue vitae enim in venenatis. Nulla dictum quam ipsum, at cursus libero porta vel. Proin lobortis porttitor consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Curabitur nec nulla a erat tincidunt imperdiet et id lorem. Quisque est lectus, iaculis ut elit at, aliquam convallis enim. Duis auctor et lacus vitae pretium. Curabitur dictum sem accumsan tellus venenatis, consectetur efficitur lacus lacinia. Ut tellus arcu, hendrerit vel sem in, dapibus sodales nisi. Aliquam tincidunt rutrum ornare. Fusce ac tellus ligula. Phasellus ullamcorper mollis nibh, eu tempor diam laoreet nec. Integer enim nulla, tempor tristique pellentesque ut, auctor quis nibh. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed ac ipsum tempus, gravida nibh eget, suscipit tellus. Proin commodo tristique nisl, eu blandit justo tincidunt vel.

Vestibulum lobortis vestibulum nunc non vehicula. Nam molestie luctus ex tempus malesuada. Praesent sapien augue, auctor in libero et, lobortis pharetra lacus. Nam consequat augue ac efficitur condimentum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer accumsan lacinia lectus, non suscipit massa rhoncus ut. Sed cursus vehicula consectetur. Sed congue finibus bibendum. Nunc sodales tellus vel magna varius viverra.

Nunc at dui in mauris feugiat feugiat id et orci. Nam malesuada tempus nisi. Morbi pharetra congue eleifend. Praesent quam elit, imperdiet vehicula pretium ac, imperdiet vitae neque. Donec porta gravida porta. Vestibulum sed arcu suscipit, faucibus metus vel, dapibus magna. Vivamus gravida neque arcu, nec varius massa dapibus eget. Maecenas commodo libero et dolor lacinia consectetur ut quis nisi. Phasellus dictum non metus egestas sagittis. Vivamus id dolor lobortis, sodales felis in, malesuada augue. Proin non cursus dui.

Mauris tincidunt metus tincidunt dictum rhoncus. Donec faucibus consectetur urna, at blandit nisi varius in. Nullam elit nunc, vulputate non euismod in, sagittis ac orci. Cras sit amet pellentesque ipsum, non condimentum nisl. Suspendisse dictum est id mauris egestas, vel mattis ex bibendum. Quisque sit amet libero ornare, lacinia velit dictum, commodo dui. Integer quis maximus mauris, a placerat nunc. In sollicitudin luctus mi, at tincidunt purus efficitur ut. Sed molestie massa id iaculis imperdiet. Sed eu elementum mauris. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vitae augue nisl. Sed varius vitae nisl ac aliquam. Quisque sed turpis sit amet nibh dapibus ullamcorper volutpat quis eros. Duis sed bibendum felis. Integer erat erat, congue ac quam quis, fringilla hendrerit lorem. Integer vulputate, risus nec viverra tincidunt, velit nisi blandit erat, ut dignissim ex justo eu purus. Morbi eu fringilla enim, hendrerit tempus nulla. Nunc congue vitae enim in venenatis. Nulla dictum quam ipsum, at cursus libero porta vel. Proin lobortis porttitor consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Curabitur nec nulla a erat tincidunt imperdiet et id lorem. Quisque est lectus, iaculis ut elit at, aliquam convallis enim. Duis auctor et lacus vitae pretium. Curabitur dictum sem accumsan tellus venenatis, consectetur efficitur lacus lacinia. Ut tellus arcu, hendrerit vel sem in, dapibus sodales nisi. Aliquam tincidunt rutrum ornare. Fusce ac tellus ligula. Phasellus ullamcorper mollis nibh, eu tempor diam laoreet nec. Integer enim nulla, tempor tristique pellentesque ut, auctor quis nibh. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed ac ipsum tempus, gravida nibh eget, suscipit tellus. Proin commodo tristique nisl, eu blandit justo tincidunt vel.

Vestibulum lobortis vestibulum nunc non vehicula. Nam molestie luctus ex tempus malesuada. Praesent sapien augue, auctor in libero et, lobortis pharetra lacus. Nam consequat augue ac efficitur condimentum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer accumsan lacinia lectus, non suscipit massa rhoncus ut. Sed cursus vehicula consectetur. Sed congue finibus bibendum. Nunc sodales tellus vel magna varius viverra.

Nunc at dui in mauris feugiat feugiat id et orci. Nam malesuada tempus nisi. Morbi pharetra congue eleifend. Praesent quam elit, imperdiet vehicula pretium ac, imperdiet vitae neque. Donec porta gravida porta. Vestibulum sed arcu suscipit, faucibus metus vel, dapibus magna. Vivamus gravida neque arcu, nec varius massa dapibus eget. Maecenas commodo libero et dolor lacinia consectetur ut quis nisi. Phasellus dictum non metus egestas sagittis. Vivamus id dolor lobortis, sodales felis in, malesuada augue. Proin non cursus dui.

Mauris tincidunt metus tincidunt dictum rhoncus. Donec faucibus consectetur urna, at blandit nisi varius in. Nullam elit nunc, vulputate non euismod in, sagittis ac orci. Cras sit amet pellentesque ipsum, non condimentum nisl. Suspendisse dictum est id mauris egestas, vel mattis ex bibendum. Quisque sit amet libero ornare, lacinia velit dictum, commodo dui. Integer quis maximus mauris, a placerat nunc. In sollicitudin luctus mi, at tincidunt purus efficitur ut. Sed molestie massa id iaculis imperdiet. Sed eu elementum mauris.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vitae augue nisl. Sed varius vitae nisl ac aliquam. Quisque sed turpis sit amet nibh dapibus ullamcorper volutpat quis eros. Duis sed bibendum felis. Integer erat erat, congue ac quam quis, fringilla hendrerit lorem. Integer vulputate, risus nec viverra tincidunt, velit nisi blandit erat, ut dignissim ex justo eu purus. Morbi eu fringilla enim, hendrerit tempus nulla. Nunc congue vitae enim in venenatis. Nulla dictum quam ipsum, at cursus libero porta vel. Proin lobortis porttitor consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Curabitur nec nulla a erat tincidunt imperdiet et id lorem. Quisque est lectus, iaculis ut elit at, aliquam convallis enim. Duis auctor et lacus vitae pretium. Curabitur dictum sem accumsan tellus venenatis, consectetur efficitur lacus lacinia. Ut tellus arcu, hendrerit vel sem in, dapibus sodales nisi. Aliquam tincidunt rutrum ornare. Fusce ac tellus ligula. Phasellus ullamcorper mollis nibh, eu tempor diam laoreet nec. Integer enim nulla, tempor tristique pellentesque ut, auctor quis nibh. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed ac ipsum tempus, gravida nibh eget, suscipit tellus. Proin commodo tristique nisl, eu blandit justo tincidunt vel.

Vestibulum lobortis vestibulum nunc non vehicula. Nam molestie luctus ex tempus malesuada. Praesent sapien augue, auctor in libero et, lobortis pharetra lacus. Nam consequat augue ac efficitur condimentum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer accumsan lacinia lectus, non suscipit massa rhoncus ut. Sed cursus vehicula consectetur. Sed congue finibus bibendum. Nunc sodales tellus vel magna varius viverra.

Nunc at dui in mauris feugiat feugiat id et orci. Nam malesuada tempus nisi. Morbi pharetra congue eleifend. Praesent quam elit, imperdiet vehicula pretium ac, imperdiet vitae neque. Donec porta gravida porta. Vestibulum sed arcu suscipit, faucibus metus vel, dapibus magna. Vivamus gravida neque arcu, nec varius massa dapibus eget. Maecenas commodo libero et dolor lacinia consectetur ut quis nisi. Phasellus dictum non metus egestas sagittis. Vivamus id dolor lobortis, sodales felis in, malesuada augue. Proin non cursus dui.

Mauris tincidunt metus tincidunt dictum rhoncus. Donec faucibus consectetur urna, at blandit nisi varius in. Nullam elit nunc, vulputate non euismod in, sagittis ac orci. Cras sit amet pellentesque ipsum, non condimentum nisl. Suspendisse dictum est id mauris egestas, vel mattis ex bibendum. Quisque sit amet libero ornare, lacinia velit dictum, commodo dui. Integer quis maximus mauris, a placerat nunc. In sollicitudin luctus mi, at tincidunt purus efficitur ut. Sed molestie massa id iaculis imperdiet. Sed eu elementum mauris. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vitae augue nisl. Sed varius vitae nisl ac aliquam. Quisque sed turpis sit amet nibh dapibus ullamcorper volutpat quis eros. Duis sed bibendum felis. Integer erat erat, congue ac quam quis, fringilla hendrerit lorem. Integer vulputate, risus nec viverra tincidunt, velit nisi blandit erat, ut dignissim ex justo eu purus. Morbi eu fringilla enim, hendrerit tempus nulla. Nunc congue vitae enim in venenatis. Nulla dictum quam ipsum, at cursus libero porta vel. Proin lobortis porttitor consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Curabitur nec nulla a erat tincidunt imperdiet et id lorem. Quisque est lectus, iaculis ut elit at, aliquam convallis enim. Duis auctor et lacus vitae pretium. Curabitur dictum sem accumsan tellus venenatis, consectetur efficitur lacus lacinia. Ut tellus arcu, hendrerit vel sem in, dapibus sodales nisi. Aliquam tincidunt rutrum ornare. Fusce ac tellus ligula. Phasellus ullamcorper mollis nibh, eu tempor diam laoreet nec. Integer enim nulla, tempor tristique pellentesque ut, auctor quis nibh. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed ac ipsum tempus, gravida nibh eget, suscipit tellus. Proin commodo tristique nisl, eu blandit justo tincidunt vel.

Vestibulum lobortis vestibulum nunc non vehicula. Nam molestie luctus ex tempus malesuada. Praesent sapien augue, auctor in libero et, lobortis pharetra lacus. Nam consequat augue ac efficitur condimentum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer accumsan lacinia lectus, non suscipit massa rhoncus ut. Sed cursus vehicula consectetur. Sed congue finibus bibendum. Nunc sodales tellus vel magna varius viverra.

Nunc at dui in mauris feugiat feugiat id et orci. Nam malesuada tempus nisi. Morbi pharetra congue eleifend. Praesent quam elit, imperdiet vehicula pretium ac, imperdiet vitae neque. Donec porta gravida porta. Vestibulum sed arcu suscipit, faucibus metus vel, dapibus magna. Vivamus gravida neque arcu, nec varius massa dapibus eget. Maecenas commodo libero et dolor lacinia consectetur ut quis nisi. Phasellus dictum non metus egestas sagittis. Vivamus id dolor lobortis, sodales felis in, malesuada augue. Proin non cursus dui.

Mauris tincidunt metus tincidunt dictum rhoncus. Donec faucibus consectetur urna, at blandit nisi varius in. Nullam elit nunc, vulputate non euismod in, sagittis ac orci. Cras sit amet pellentesque ipsum, non condimentum nisl. Suspendisse dictum est id mauris egestas, vel mattis ex bibendum. Quisque sit amet libero ornare, lacinia velit dictum, commodo dui. Integer quis maximus mauris, a placerat nunc. In sollicitudin luctus mi, at tincidunt purus efficitur ut. Sed molestie massa id iaculis imperdiet. Sed eu elementum mauris. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vitae augue nisl. Sed varius vitae nisl ac aliquam. Quisque sed turpis sit amet nibh dapibus ullamcorper volutpat quis eros. Duis sed bibendum felis. Integer erat erat, congue ac quam quis, fringilla hendrerit lorem. Integer vulputate, risus nec viverra tincidunt, velit nisi blandit erat, ut dignissim ex justo eu purus. Morbi eu fringilla enim, hendrerit tempus nulla. Nunc congue vitae enim in venenatis. Nulla dictum quam ipsum, at cursus libero porta vel. Proin lobortis porttitor consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Curabitur nec nulla a erat tincidunt imperdiet et id lorem. Quisque est lectus, iaculis ut elit at, aliquam convallis enim. Duis auctor et lacus vitae pretium. Curabitur dictum sem accumsan tellus venenatis, consectetur efficitur lacus lacinia. Ut tellus arcu, hendrerit vel sem in, dapibus sodales nisi. Aliquam tincidunt rutrum ornare. Fusce ac tellus ligula. Phasellus ullamcorper mollis nibh, eu tempor diam laoreet nec. Integer enim nulla, tempor tristique pellentesque ut, auctor quis nibh. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed ac ipsum tempus, gravida nibh eget, suscipit tellus. Proin commodo tristique nisl, eu blandit justo tincidunt vel.

Vestibulum lobortis vestibulum nunc non vehicula. Nam molestie luctus ex tempus malesuada. Praesent sapien augue, auctor in libero et, lobortis pharetra lacus. Nam consequat augue ac efficitur condimentum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer accumsan lacinia lectus, non suscipit massa rhoncus ut. Sed cursus vehicula consectetur. Sed congue finibus bibendum. Nunc sodales tellus vel magna varius viverra.

Nunc at dui in mauris feugiat feugiat id et orci. Nam malesuada tempus nisi. Morbi pharetra congue eleifend. Praesent quam elit, imperdiet vehicula pretium ac, imperdiet vitae neque. Donec porta gravida porta. Vestibulum sed arcu suscipit, faucibus metus vel, dapibus magna. Vivamus gravida neque arcu, nec varius massa dapibus eget. Maecenas commodo libero et dolor lacinia consectetur ut quis nisi. Phasellus dictum non metus egestas sagittis. Vivamus id dolor lobortis, sodales felis in, malesuada augue. Proin non cursus dui.

Mauris tincidunt metus tincidunt dictum rhoncus. Donec faucibus consectetur urna, at blandit nisi varius in. Nullam elit nunc, vulputate non euismod in, sagittis ac orci. Cras sit amet pellentesque ipsum, non condimentum nisl. Suspendisse dictum est id mauris egestas, vel mattis ex bibendum. Quisque sit amet libero ornare, lacinia velit dictum, commodo dui. Integer quis maximus mauris, a placerat nunc. In sollicitudin luctus mi, at tincidunt purus efficitur ut. Sed molestie massa id iaculis imperdiet. Sed eu elementum mauris. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vitae augue nisl. Sed varius vitae nisl ac aliquam. Quisque sed turpis sit amet nibh dapibus ullamcorper volutpat quis eros. Duis sed bibendum felis. Integer erat erat, congue ac quam quis, fringilla hendrerit lorem. Integer vulputate, risus nec viverra tincidunt, velit nisi blandit erat, ut dignissim ex justo eu purus. Morbi eu fringilla enim, hendrerit tempus nulla. Nunc congue vitae enim in venenatis. Nulla dictum quam ipsum, at cursus libero porta vel. Proin lobortis porttitor consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Curabitur nec nulla a erat tincidunt imperdiet et id lorem. Quisque est lectus, iaculis ut elit at, aliquam convallis enim. Duis auctor et lacus vitae pretium. Curabitur dictum sem accumsan tellus venenatis, consectetur efficitur lacus lacinia. Ut tellus arcu, hendrerit vel sem in, dapibus sodales nisi. Aliquam tincidunt rutrum ornare. Fusce ac tellus ligula. Phasellus ullamcorper mollis nibh, eu tempor diam laoreet nec. Integer enim nulla, tempor tristique pellentesque ut, auctor quis nibh. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed ac ipsum tempus, gravida nibh eget, suscipit tellus. Proin commodo tristique nisl, eu blandit justo tincidunt vel.

Vestibulum lobortis vestibulum nunc non vehicula. Nam molestie luctus ex tempus malesuada. Praesent sapien augue, auctor in libero et, lobortis pharetra lacus. Nam consequat augue ac efficitur condimentum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer accumsan lacinia lectus, non suscipit massa rhoncus ut. Sed cursus vehicula consectetur. Sed congue finibus bibendum. Nunc sodales tellus vel magna varius viverra.

Nunc at dui in mauris feugiat feugiat id et orci. Nam malesuada tempus nisi. Morbi pharetra congue eleifend. Praesent quam elit, imperdiet vehicula pretium ac, imperdiet vitae neque. Donec porta gravida porta. Vestibulum sed arcu suscipit, faucibus metus vel, dapibus magna. Vivamus gravida neque arcu, nec varius massa dapibus eget. Maecenas commodo libero et dolor lacinia consectetur ut quis nisi. Phasellus dictum non metus egestas sagittis. Vivamus id dolor lobortis, sodales felis in, malesuada augue. Proin non cursus dui.

Mauris tincidunt metus tincidunt dictum rhoncus. Donec faucibus consectetur urna, at blandit nisi varius in. Nullam elit nunc, vulputate non euismod in, sagittis ac orci. Cras sit amet pellentesque ipsum, non condimentum nisl. Suspendisse dictum est id mauris egestas, vel mattis ex bibendum. Quisque sit amet libero ornare, lacinia velit dictum, commodo dui. Integer quis maximus mauris, a placerat nunc. In sollicitudin luctus mi, at tincidunt purus efficitur ut. Sed molestie massa id iaculis imperdiet. Sed eu elementum mauris.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vitae augue nisl. Sed varius vitae nisl ac aliquam. Quisque sed turpis sit amet nibh dapibus ullamcorper volutpat quis eros. Duis sed bibendum felis. Integer erat erat, congue ac quam quis, fringilla hendrerit lorem. Integer vulputate, risus nec viverra tincidunt, velit nisi blandit erat, ut dignissim ex justo eu purus. Morbi eu fringilla enim, hendrerit tempus nulla. Nunc congue vitae enim in venenatis. Nulla dictum quam ipsum, at cursus libero porta vel. Proin lobortis porttitor consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Curabitur nec nulla a erat tincidunt imperdiet et id lorem. Quisque est lectus, iaculis ut elit at, aliquam convallis enim. Duis auctor et lacus vitae pretium. Curabitur dictum sem accumsan tellus venenatis, consectetur efficitur lacus lacinia. Ut tellus arcu, hendrerit vel sem in, dapibus sodales nisi. Aliquam tincidunt rutrum ornare. Fusce ac tellus ligula. Phasellus ullamcorper mollis nibh, eu tempor diam laoreet nec. Integer enim nulla, tempor tristique pellentesque ut, auctor quis nibh. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed ac ipsum tempus, gravida nibh eget, suscipit tellus. Proin commodo tristique nisl, eu blandit justo tincidunt vel.

Vestibulum lobortis vestibulum nunc non vehicula. Nam molestie luctus ex tempus malesuada. Praesent sapien augue, auctor in libero et, lobortis pharetra lacus. Nam consequat augue ac efficitur condimentum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer accumsan lacinia lectus, non suscipit massa rhoncus ut. Sed cursus vehicula consectetur. Sed congue finibus bibendum. Nunc sodales tellus vel magna varius viverra.

Nunc at dui in mauris feugiat feugiat id et orci. Nam malesuada tempus nisi. Morbi pharetra congue eleifend. Praesent quam elit, imperdiet vehicula pretium ac, imperdiet vitae neque. Donec porta gravida porta. Vestibulum sed arcu suscipit, faucibus metus vel, dapibus magna. Vivamus gravida neque arcu, nec varius massa dapibus eget. Maecenas commodo libero et dolor lacinia consectetur ut quis nisi. Phasellus dictum non metus egestas sagittis. Vivamus id dolor lobortis, sodales felis in, malesuada augue. Proin non cursus dui.

Mauris tincidunt metus tincidunt dictum rhoncus. Donec faucibus consectetur urna, at blandit nisi varius in. Nullam elit nunc, vulputate non euismod in, sagittis ac orci. Cras sit amet pellentesque ipsum, non condimentum nisl. Suspendisse dictum est id mauris egestas, vel mattis ex bibendum. Quisque sit amet libero ornare, lacinia velit dictum, commodo dui. Integer quis maximus mauris, a placerat nunc. In sollicitudin luctus mi, at tincidunt purus efficitur ut. Sed molestie massa id iaculis imperdiet. Sed eu elementum mauris. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vitae augue nisl. Sed varius vitae nisl ac aliquam. Quisque sed turpis sit amet nibh dapibus ullamcorper volutpat quis eros. Duis sed bibendum felis. Integer erat erat, congue ac quam quis, fringilla hendrerit lorem. Integer vulputate, risus nec viverra tincidunt, velit nisi blandit erat, ut dignissim ex justo eu purus. Morbi eu fringilla enim, hendrerit tempus nulla. Nunc congue vitae enim in venenatis. Nulla dictum quam ipsum, at cursus libero porta vel. Proin lobortis porttitor consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Curabitur nec nulla a erat tincidunt imperdiet et id lorem. Quisque est lectus, iaculis ut elit at, aliquam convallis enim. Duis auctor et lacus vitae pretium. Curabitur dictum sem accumsan tellus venenatis, consectetur efficitur lacus lacinia. Ut tellus arcu, hendrerit vel sem in, dapibus sodales nisi. Aliquam tincidunt rutrum ornare. Fusce ac tellus ligula. Phasellus ullamcorper mollis nibh, eu tempor diam laoreet nec. Integer enim nulla, tempor tristique pellentesque ut, auctor quis nibh. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed ac ipsum tempus, gravida nibh eget, suscipit tellus. Proin commodo tristique nisl, eu blandit justo tincidunt vel.

Vestibulum lobortis vestibulum nunc non vehicula. Nam molestie luctus ex tempus malesuada. Praesent sapien augue, auctor in libero et, lobortis pharetra lacus. Nam consequat augue ac efficitur condimentum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer accumsan lacinia lectus, non suscipit massa rhoncus ut. Sed cursus vehicula consectetur. Sed congue finibus bibendum. Nunc sodales tellus vel magna varius viverra.

Nunc at dui in mauris feugiat feugiat id et orci. Nam malesuada tempus nisi. Morbi pharetra congue eleifend. Praesent quam elit, imperdiet vehicula pretium ac, imperdiet vitae neque. Donec porta gravida porta. Vestibulum sed arcu suscipit, faucibus metus vel, dapibus magna. Vivamus gravida neque arcu, nec varius massa dapibus eget. Maecenas commodo libero et dolor lacinia consectetur ut quis nisi. Phasellus dictum non metus egestas sagittis. Vivamus id dolor lobortis, sodales felis in, malesuada augue. Proin non cursus dui.

Mauris tincidunt metus tincidunt dictum rhoncus. Donec faucibus consectetur urna, at blandit nisi varius in. Nullam elit nunc, vulputate non euismod in, sagittis ac orci. Cras sit amet pellentesque ipsum, non condimentum nisl. Suspendisse dictum est id mauris egestas, vel mattis ex bibendum. Quisque sit amet libero ornare, lacinia velit dictum, commodo dui. Integer quis maximus mauris, a placerat nunc. In sollicitudin luctus mi, at tincidunt purus efficitur ut. Sed molestie massa id iaculis imperdiet. Sed eu elementum mauris. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vitae augue nisl. Sed varius vitae nisl ac aliquam. Quisque sed turpis sit amet nibh dapibus ullamcorper volutpat quis eros. Duis sed bibendum felis. Integer erat erat, congue ac quam quis, fringilla hendrerit lorem. Integer vulputate, risus nec viverra tincidunt, velit nisi blandit erat, ut dignissim ex justo eu purus. Morbi eu fringilla enim, hendrerit tempus nulla. Nunc congue vitae enim in venenatis. Nulla dictum quam ipsum, at cursus libero porta vel. Proin lobortis porttitor consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Curabitur nec nulla a erat tincidunt imperdiet et id lorem. Quisque est lectus, iaculis ut elit at, aliquam convallis enim. Duis auctor et lacus vitae pretium. Curabitur dictum sem accumsan tellus venenatis, consectetur efficitur lacus lacinia. Ut tellus arcu, hendrerit vel sem in, dapibus sodales nisi. Aliquam tincidunt rutrum ornare. Fusce ac tellus ligula. Phasellus ullamcorper mollis nibh, eu tempor diam laoreet nec. Integer enim nulla, tempor tristique pellentesque ut, auctor quis nibh. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed ac ipsum tempus, gravida nibh eget, suscipit tellus. Proin commodo tristique nisl, eu blandit justo tincidunt vel.

Vestibulum lobortis vestibulum nunc non vehicula. Nam molestie luctus ex tempus malesuada. Praesent sapien augue, auctor in libero et, lobortis pharetra lacus. Nam consequat augue ac efficitur condimentum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer accumsan lacinia lectus, non suscipit massa rhoncus ut. Sed cursus vehicula consectetur. Sed congue finibus bibendum. Nunc sodales tellus vel magna varius viverra.

Nunc at dui in mauris feugiat feugiat id et orci. Nam malesuada tempus nisi. Morbi pharetra congue eleifend. Praesent quam elit, imperdiet vehicula pretium ac, imperdiet vitae neque. Donec porta gravida porta. Vestibulum sed arcu suscipit, faucibus metus vel, dapibus magna. Vivamus gravida neque arcu, nec varius massa dapibus eget. Maecenas commodo libero et dolor lacinia consectetur ut quis nisi. Phasellus dictum non metus egestas sagittis. Vivamus id dolor lobortis, sodales felis in, malesuada augue. Proin non cursus dui.

Mauris tincidunt metus tincidunt dictum rhoncus. Donec faucibus consectetur urna, at blandit nisi varius in. Nullam elit nunc, vulputate non euismod in, sagittis ac orci. Cras sit amet pellentesque ipsum, non condimentum nisl. Suspendisse dictum est id mauris egestas, vel mattis ex bibendum. Quisque sit amet libero ornare, lacinia velit dictum, commodo dui. Integer quis maximus mauris, a placerat nunc. In sollicitudin luctus mi, at tincidunt purus efficitur ut. Sed molestie massa id iaculis imperdiet. Sed eu elementum mauris. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vitae augue nisl. Sed varius vitae nisl ac aliquam. Quisque sed turpis sit amet nibh dapibus ullamcorper volutpat quis eros. Duis sed bibendum felis. Integer erat erat, congue ac quam quis, fringilla hendrerit lorem. Integer vulputate, risus nec viverra tincidunt, velit nisi blandit erat, ut dignissim ex justo eu purus. Morbi eu fringilla enim, hendrerit tempus nulla. Nunc congue vitae enim in venenatis. Nulla dictum quam ipsum, at cursus libero porta vel. Proin lobortis porttitor consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Curabitur nec nulla a erat tincidunt imperdiet et id lorem. Quisque est lectus, iaculis ut elit at, aliquam convallis enim. Duis auctor et lacus vitae pretium. Curabitur dictum sem accumsan tellus venenatis, consectetur efficitur lacus lacinia. Ut tellus arcu, hendrerit vel sem in, dapibus sodales nisi. Aliquam tincidunt rutrum ornare. Fusce ac tellus ligula. Phasellus ullamcorper mollis nibh, eu tempor diam laoreet nec. Integer enim nulla, tempor tristique pellentesque ut, auctor quis nibh. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed ac ipsum tempus, gravida nibh eget, suscipit tellus. Proin commodo tristique nisl, eu blandit justo tincidunt vel.

Vestibulum lobortis vestibulum nunc non vehicula. Nam molestie luctus ex tempus malesuada. Praesent sapien augue, auctor in libero et, lobortis pharetra lacus. Nam consequat augue ac efficitur condimentum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer accumsan lacinia lectus, non suscipit massa rhoncus ut. Sed cursus vehicula consectetur. Sed congue finibus bibendum. Nunc sodales tellus vel magna varius viverra.

Nunc at dui in mauris feugiat feugiat id et orci. Nam malesuada tempus nisi. Morbi pharetra congue eleifend. Praesent quam elit, imperdiet vehicula pretium ac, imperdiet vitae neque. Donec porta gravida porta. Vestibulum sed arcu suscipit, faucibus metus vel, dapibus magna. Vivamus gravida neque arcu, nec varius massa dapibus eget. Maecenas commodo libero et dolor lacinia consectetur ut quis nisi. Phasellus dictum non metus egestas sagittis. Vivamus id dolor lobortis, sodales felis in, malesuada augue. Proin non cursus dui.

Mauris tincidunt metus tincidunt dictum rhoncus. Donec faucibus consectetur urna, at blandit nisi varius in. Nullam elit nunc, vulputate non euismod in, sagittis ac orci. Cras sit amet pellentesque ipsum, non condimentum nisl. Suspendisse dictum est id mauris egestas, vel mattis ex bibendum. Quisque sit amet libero ornare, lacinia velit dictum, commodo dui. Integer quis maximus mauris, a placerat nunc. In sollicitudin luctus mi, at tincidunt purus efficitur ut. Sed molestie massa id iaculis imperdiet. Sed eu elementum mauris. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vitae augue nisl. Sed varius vitae nisl ac aliquam. Quisque sed turpis sit amet nibh dapibus ullamcorper volutpat quis eros. Duis sed bibendum felis. Integer erat erat, congue ac quam quis, fringilla hendrerit lorem. Integer vulputate, risus nec viverra tincidunt, velit nisi blandit erat, ut dignissim ex justo eu purus. Morbi eu fringilla enim, hendrerit tempus nulla. Nunc congue vitae enim in venenatis. Nulla dictum quam ipsum, at cursus libero porta vel. Proin lobortis porttitor consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Curabitur nec nulla a erat tincidunt imperdiet et id lorem. Quisque est lectus, iaculis ut elit at, aliquam convallis enim. Duis auctor et lacus vitae pretium. Curabitur dictum sem accumsan tellus venenatis, consectetur efficitur lacus lacinia. Ut tellus arcu, hendrerit vel sem in, dapibus sodales nisi. Aliquam tincidunt rutrum ornare. Fusce ac tellus ligula. Phasellus ullamcorper mollis nibh, eu tempor diam laoreet nec. Integer enim nulla, tempor tristique pellentesque ut, auctor quis nibh. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed ac ipsum tempus, gravida nibh eget, suscipit tellus. Proin commodo tristique nisl, eu blandit justo tincidunt vel.

Vestibulum lobortis vestibulum nunc non vehicula. Nam molestie luctus ex tempus malesuada. Praesent sapien augue, auctor in libero et, lobortis pharetra lacus. Nam consequat augue ac efficitur condimentum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer accumsan lacinia lectus, non suscipit massa rhoncus ut. Sed cursus vehicula consectetur. Sed congue finibus bibendum. Nunc sodales tellus vel magna varius viverra.

Nunc at dui in mauris feugiat feugiat id et orci. Nam malesuada tempus nisi. Morbi pharetra congue eleifend. Praesent quam elit, imperdiet vehicula pretium ac, imperdiet vitae neque. Donec porta gravida porta. Vestibulum sed arcu suscipit, faucibus metus vel, dapibus magna. Vivamus gravida neque arcu, nec varius massa dapibus eget. Maecenas commodo libero et dolor lacinia consectetur ut quis nisi. Phasellus dictum non metus egestas sagittis. Vivamus id dolor lobortis, sodales felis in, malesuada augue. Proin non cursus dui.

Mauris tincidunt metus tincidunt dictum rhoncus. Donec faucibus consectetur urna, at blandit nisi varius in. Nullam elit nunc, vulputate non euismod in, sagittis ac orci. Cras sit amet pellentesque ipsum, non condimentum nisl. Suspendisse dictum est id mauris egestas, vel mattis ex bibendum. Quisque sit amet libero ornare, lacinia velit dictum, commodo dui. Integer quis maximus mauris, a placerat nunc. In sollicitudin luctus mi, at tincidunt purus efficitur ut. Sed molestie massa id iaculis imperdiet. Sed eu elementum mauris. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vitae augue nisl. Sed varius vitae nisl ac aliquam. Quisque sed turpis sit amet nibh dapibus ullamcorper volutpat quis eros. Duis sed bibendum felis. Integer erat erat, congue ac quam quis, fringilla hendrerit lorem. Integer vulputate, risus nec viverra tincidunt, velit nisi blandit erat, ut dignissim ex justo eu purus. Morbi eu fringilla enim, hendrerit tempus nulla. Nunc congue vitae enim in venenatis. Nulla dictum quam ipsum, at cursus libero porta vel. Proin lobortis porttitor consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Curabitur nec nulla a erat tincidunt imperdiet et id lorem. Quisque est lectus, iaculis ut elit at, aliquam convallis enim. Duis auctor et lacus vitae pretium. Curabitur dictum sem accumsan tellus venenatis, consectetur efficitur lacus lacinia. Ut tellus arcu, hendrerit vel sem in, dapibus sodales nisi. Aliquam tincidunt rutrum ornare. Fusce ac tellus ligula. Phasellus ullamcorper mollis nibh, eu tempor diam laoreet nec. Integer enim nulla, tempor tristique pellentesque ut, auctor quis nibh. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed ac ipsum tempus, gravida nibh eget, suscipit tellus. Proin commodo tristique nisl, eu blandit justo tincidunt vel.

Vestibulum lobortis vestibulum nunc non vehicula. Nam molestie luctus ex tempus malesuada. Praesent sapien augue, auctor in libero et, lobortis pharetra lacus. Nam consequat augue ac efficitur condimentum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer accumsan lacinia lectus, non suscipit massa rhoncus ut. Sed cursus vehicula consectetur. Sed congue finibus bibendum. Nunc sodales tellus vel magna varius viverra.

Nunc at dui in mauris feugiat feugiat id et orci. Nam malesuada tempus nisi. Morbi pharetra congue eleifend. Praesent quam elit, imperdiet vehicula pretium ac, imperdiet vitae neque. Donec porta gravida porta. Vestibulum sed arcu suscipit, faucibus metus vel, dapibus magna. Vivamus gravida neque arcu, nec varius massa dapibus eget. Maecenas commodo libero et dolor lacinia consectetur ut quis nisi. Phasellus dictum non metus egestas sagittis. Vivamus id dolor lobortis, sodales felis in, malesuada augue. Proin non cursus dui.

Mauris tincidunt metus tincidunt dictum rhoncus. Donec faucibus consectetur urna, at blandit nisi varius in. Nullam elit nunc, vulputate non euismod in, sagittis ac orci. Cras sit amet pellentesque ipsum, non condimentum nisl. Suspendisse dictum est id mauris egestas, vel mattis ex bibendum. Quisque sit amet libero ornare, lacinia velit dictum, commodo dui. Integer quis maximus mauris, a placerat nunc. In sollicitudin luctus mi, at tincidunt purus efficitur ut. Sed molestie massa id iaculis imperdiet. Sed eu elementum mauris. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vitae augue nisl. Sed varius vitae nisl ac aliquam. Quisque sed turpis sit amet nibh dapibus ullamcorper volutpat quis eros. Duis sed bibendum felis. Integer erat erat, congue ac quam quis, fringilla hendrerit lorem. Integer vulputate, risus nec viverra tincidunt, velit nisi blandit erat, ut dignissim ex justo eu purus. Morbi eu fringilla enim, hendrerit tempus nulla. Nunc congue vitae enim in venenatis. Nulla dictum quam ipsum, at cursus libero porta vel. Proin lobortis porttitor consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Curabitur nec nulla a erat tincidunt imperdiet et id lorem. Quisque est lectus, iaculis ut elit at, aliquam convallis enim. Duis auctor et lacus vitae pretium. Curabitur dictum sem accumsan tellus venenatis, consectetur efficitur lacus lacinia. Ut tellus arcu, hendrerit vel sem in, dapibus sodales nisi. Aliquam tincidunt rutrum ornare. Fusce ac tellus ligula. Phasellus ullamcorper mollis nibh, eu tempor diam laoreet nec. Integer enim nulla, tempor tristique pellentesque ut, auctor quis nibh. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed ac ipsum tempus, gravida nibh eget, suscipit tellus. Proin commodo tristique nisl, eu blandit justo tincidunt vel.

Vestibulum lobortis vestibulum nunc non vehicula. Nam molestie luctus ex tempus malesuada. Praesent sapien augue, auctor in libero et, lobortis pharetra lacus. Nam consequat augue ac efficitur condimentum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer accumsan lacinia lectus, non suscipit massa rhoncus ut. Sed cursus vehicula consectetur. Sed congue finibus bibendum. Nunc sodales tellus vel magna varius viverra.

Nunc at dui in mauris feugiat feugiat id et orci. Nam malesuada tempus nisi. Morbi pharetra congue eleifend. Praesent quam elit, imperdiet vehicula pretium ac, imperdiet vitae neque. Donec porta gravida porta. Vestibulum sed arcu suscipit, faucibus metus vel, dapibus magna. Vivamus gravida neque arcu, nec varius massa dapibus eget. Maecenas commodo libero et dolor lacinia consectetur ut quis nisi. Phasellus dictum non metus egestas sagittis. Vivamus id dolor lobortis, sodales felis in, malesuada augue. Proin non cursus dui.

Mauris tincidunt metus tincidunt dictum rhoncus. Donec faucibus consectetur urna, at blandit nisi varius in. Nullam elit nunc, vulputate non euismod in, sagittis ac orci. Cras sit amet pellentesque ipsum, non condimentum nisl. Suspendisse dictum est id mauris egestas, vel mattis ex bibendum. Quisque sit amet libero ornare, lacinia velit dictum, commodo dui. Integer quis maximus mauris, a placerat nunc. In sollicitudin luctus mi, at tincidunt purus efficitur ut. Sed molestie massa id iaculis imperdiet. Sed eu elementum mauris. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vitae augue nisl. Sed varius vitae nisl ac aliquam. Quisque sed turpis sit amet nibh dapibus ullamcorper volutpat quis eros. Duis sed bibendum felis. Integer erat erat, congue ac quam quis, fringilla hendrerit lorem. Integer vulputate, risus nec viverra tincidunt, velit nisi blandit erat, ut dignissim ex justo eu purus. Morbi eu fringilla enim, hendrerit tempus nulla. Nunc congue vitae enim in venenatis. Nulla dictum quam ipsum, at cursus libero porta vel. Proin lobortis porttitor consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Curabitur nec nulla a erat tincidunt imperdiet et id lorem. Quisque est lectus, iaculis ut elit at, aliquam convallis enim. Duis auctor et lacus vitae pretium. Curabitur dictum sem accumsan tellus venenatis, consectetur efficitur lacus lacinia. Ut tellus arcu, hendrerit vel sem in, dapibus sodales nisi. Aliquam tincidunt rutrum ornare. Fusce ac tellus ligula. Phasellus ullamcorper mollis nibh, eu tempor diam laoreet nec. Integer enim nulla, tempor tristique pellentesque ut, auctor quis nibh. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed ac ipsum tempus, gravida nibh eget, suscipit tellus. Proin commodo tristique nisl, eu blandit justo tincidunt vel.

Vestibulum lobortis vestibulum nunc non vehicula. Nam molestie luctus ex tempus malesuada. Praesent sapien augue, auctor in libero et, lobortis pharetra lacus. Nam consequat augue ac efficitur condimentum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer accumsan lacinia lectus, non suscipit massa rhoncus ut. Sed cursus vehicula consectetur. Sed congue finibus bibendum. Nunc sodales tellus vel magna varius viverra.

Nunc at dui in mauris feugiat feugiat id et orci. Nam malesuada tempus nisi. Morbi pharetra congue eleifend. Praesent quam elit, imperdiet vehicula pretium ac, imperdiet vitae neque. Donec porta gravida porta. Vestibulum sed arcu suscipit, faucibus metus vel, dapibus magna. Vivamus gravida neque arcu, nec varius massa dapibus eget. Maecenas commodo libero et dolor lacinia consectetur ut quis nisi. Phasellus dictum non metus egestas sagittis. Vivamus id dolor lobortis, sodales felis in, malesuada augue. Proin non cursus dui.

Mauris tincidunt metus tincidunt dictum rhoncus. Donec faucibus consectetur urna, at blandit nisi varius in. Nullam elit nunc, vulputate non euismod in, sagittis ac orci. Cras sit amet pellentesque ipsum, non condimentum nisl. Suspendisse dictum est id mauris egestas, vel mattis ex bibendum. Quisque sit amet libero ornare, lacinia velit dictum, commodo dui. Integer quis maximus mauris, a placerat nunc. In sollicitudin luctus mi, at tincidunt purus efficitur ut. Sed molestie massa id iaculis imperdiet. Sed eu elementum mauris. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vitae augue nisl. Sed varius vitae nisl ac aliquam. Quisque sed turpis sit amet nibh dapibus ullamcorper volutpat quis eros. Duis sed bibendum felis. Integer erat erat, congue ac quam quis, fringilla hendrerit lorem. Integer vulputate, risus nec viverra tincidunt, velit nisi blandit erat, ut dignissim ex justo eu purus. Morbi eu fringilla enim, hendrerit tempus nulla. Nunc congue vitae enim in venenatis. Nulla dictum quam ipsum, at cursus libero porta vel. Proin lobortis porttitor consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Curabitur nec nulla a erat tincidunt imperdiet et id lorem. Quisque est lectus, iaculis ut elit at, aliquam convallis enim. Duis auctor et lacus vitae pretium. Curabitur dictum sem accumsan tellus venenatis, consectetur efficitur lacus lacinia. Ut tellus arcu, hendrerit vel sem in, dapibus sodales nisi. Aliquam tincidunt rutrum ornare. Fusce ac tellus ligula. Phasellus ullamcorper mollis nibh, eu tempor diam laoreet nec. Integer enim nulla, tempor tristique pellentesque ut, auctor quis nibh. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed ac ipsum tempus, gravida nibh eget, suscipit tellus. Proin commodo tristique nisl, eu blandit justo tincidunt vel.

Vestibulum lobortis vestibulum nunc non vehicula. Nam molestie luctus ex tempus malesuada. Praesent sapien augue, auctor in libero et, lobortis pharetra lacus. Nam consequat augue ac efficitur condimentum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer accumsan lacinia lectus, non suscipit massa rhoncus ut. Sed cursus vehicula consectetur. Sed congue finibus bibendum. Nunc sodales tellus vel magna varius viverra.

Nunc at dui in mauris feugiat feugiat id et orci. Nam malesuada tempus nisi. Morbi pharetra congue eleifend. Praesent quam elit, imperdiet vehicula pretium ac, imperdiet vitae neque. Donec porta gravida porta. Vestibulum sed arcu suscipit, faucibus metus vel, dapibus magna. Vivamus gravida neque arcu, nec varius massa dapibus eget. Maecenas commodo libero et dolor lacinia consectetur ut quis nisi. Phasellus dictum non metus egestas sagittis. Vivamus id dolor lobortis, sodales felis in, malesuada augue. Proin non cursus dui.

Mauris tincidunt metus tincidunt dictum rhoncus. Donec faucibus consectetur urna, at blandit nisi varius in. Nullam elit nunc, vulputate non euismod in, sagittis ac orci. Cras sit amet pellentesque ipsum, non condimentum nisl. Suspendisse dictum est id mauris egestas, vel mattis ex bibendum. Quisque sit amet libero ornare, lacinia velit dictum, commodo dui. Integer quis maximus mauris, a placerat nunc. In sollicitudin luctus mi, at tincidunt purus efficitur ut. Sed molestie massa id iaculis imperdiet. Sed eu elementum mauris. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vitae augue nisl. Sed varius vitae nisl ac aliquam. Quisque sed turpis sit amet nibh dapibus ullamcorper volutpat quis eros. Duis sed bibendum felis. Integer erat erat, congue ac quam quis, fringilla hendrerit lorem. Integer vulputate, risus nec viverra tincidunt, velit nisi blandit erat, ut dignissim ex justo eu purus. Morbi eu fringilla enim, hendrerit tempus nulla. Nunc congue vitae enim in venenatis. Nulla dictum quam ipsum, at cursus libero porta vel. Proin lobortis porttitor consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Curabitur nec nulla a erat tincidunt imperdiet et id lorem. Quisque est lectus, iaculis ut elit at, aliquam convallis enim. Duis auctor et lacus vitae pretium. Curabitur dictum sem accumsan tellus venenatis, consectetur efficitur lacus lacinia. Ut tellus arcu, hendrerit vel sem in, dapibus sodales nisi. Aliquam tincidunt rutrum ornare. Fusce ac tellus ligula. Phasellus ullamcorper mollis nibh, eu tempor diam laoreet nec. Integer enim nulla, tempor tristique pellentesque ut, auctor quis nibh. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed ac ipsum tempus, gravida nibh eget, suscipit tellus. Proin commodo tristique nisl, eu blandit justo tincidunt vel.

Vestibulum lobortis vestibulum nunc non vehicula. Nam molestie luctus ex tempus malesuada. Praesent sapien augue, auctor in libero et, lobortis pharetra lacus. Nam consequat augue ac efficitur condimentum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer accumsan lacinia lectus, non suscipit massa rhoncus ut. Sed cursus vehicula consectetur. Sed congue finibus bibendum. Nunc sodales tellus vel magna varius viverra.

Nunc at dui in mauris feugiat feugiat id et orci. Nam malesuada tempus nisi. Morbi pharetra congue eleifend. Praesent quam elit, imperdiet vehicula pretium ac, imperdiet vitae neque. Donec porta gravida porta. Vestibulum sed arcu suscipit, faucibus metus vel, dapibus magna. Vivamus gravida neque arcu, nec varius massa dapibus eget. Maecenas commodo libero et dolor lacinia consectetur ut quis nisi. Phasellus dictum non metus egestas sagittis. Vivamus id dolor lobortis, sodales felis in, malesuada augue. Proin non cursus dui.

Mauris tincidunt metus tincidunt dictum rhoncus. Donec faucibus consectetur urna, at blandit nisi varius in. Nullam elit nunc, vulputate non euismod in, sagittis ac orci. Cras sit amet pellentesque ipsum, non condimentum nisl. Suspendisse dictum est id mauris egestas, vel mattis ex bibendum. Quisque sit amet libero ornare, lacinia velit dictum, commodo dui. Integer quis maximus mauris, a placerat nunc. In sollicitudin luctus mi, at tincidunt purus efficitur ut. Sed molestie massa id iaculis imperdiet. Sed eu elementum mauris. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vitae augue nisl. Sed varius vitae nisl ac aliquam. Quisque sed turpis sit amet nibh dapibus ullamcorper volutpat quis eros. Duis sed bibendum felis. Integer erat erat, congue ac quam quis, fringilla hendrerit lorem. Integer vulputate, risus nec viverra tincidunt, velit nisi blandit erat, ut dignissim ex justo eu purus. Morbi eu fringilla enim, hendrerit tempus nulla. Nunc congue vitae enim in venenatis. Nulla dictum quam ipsum, at cursus libero porta vel. Proin lobortis porttitor consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Curabitur nec nulla a erat tincidunt imperdiet et id lorem. Quisque est lectus, iaculis ut elit at, aliquam convallis enim. Duis auctor et lacus vitae pretium. Curabitur dictum sem accumsan tellus venenatis, consectetur efficitur lacus lacinia. Ut tellus arcu, hendrerit vel sem in, dapibus sodales nisi. Aliquam tincidunt rutrum ornare. Fusce ac tellus ligula. Phasellus ullamcorper mollis nibh, eu tempor diam laoreet nec. Integer enim nulla, tempor tristique pellentesque ut, auctor quis nibh. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed ac ipsum tempus, gravida nibh eget, suscipit tellus. Proin commodo tristique nisl, eu blandit justo tincidunt vel.

Vestibulum lobortis vestibulum nunc non vehicula. Nam molestie luctus ex tempus malesuada. Praesent sapien augue, auctor in libero et, lobortis pharetra lacus. Nam consequat augue ac efficitur condimentum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer accumsan lacinia lectus, non suscipit massa rhoncus ut. Sed cursus vehicula consectetur. Sed congue finibus bibendum. Nunc sodales tellus vel magna varius viverra.

Nunc at dui in mauris feugiat feugiat id et orci. Nam malesuada tempus nisi. Morbi pharetra congue eleifend. Praesent quam elit, imperdiet vehicula pretium ac, imperdiet vitae neque. Donec porta gravida porta. Vestibulum sed arcu suscipit, faucibus metus vel, dapibus magna. Vivamus gravida neque arcu, nec varius massa dapibus eget. Maecenas commodo libero et dolor lacinia consectetur ut quis nisi. Phasellus dictum non metus egestas sagittis. Vivamus id dolor lobortis, sodales felis in, malesuada augue. Proin non cursus dui.

Mauris tincidunt metus tincidunt dictum rhoncus. Donec faucibus consectetur urna, at blandit nisi varius in. Nullam elit nunc, vulputate non euismod in, sagittis ac orci. Cras sit amet pellentesque ipsum, non condimentum nisl. Suspendisse dictum est id mauris egestas, vel mattis ex bibendum. Quisque sit amet libero ornare, lacinia velit dictum, commodo dui. Integer quis maximus mauris, a placerat nunc. In sollicitudin luctus mi, at tincidunt purus efficitur ut. Sed molestie massa id iaculis imperdiet. Sed eu elementum mauris. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vitae augue nisl. Sed varius vitae nisl ac aliquam. Quisque sed turpis sit amet nibh dapibus ullamcorper volutpat quis eros. Duis sed bibendum felis. Integer erat erat, congue ac quam quis, fringilla hendrerit lorem. Integer vulputate, risus nec viverra tincidunt, velit nisi blandit erat, ut dignissim ex justo eu purus. Morbi eu fringilla enim, hendrerit tempus nulla. Nunc congue vitae enim in venenatis. Nulla dictum quam ipsum, at cursus libero porta vel. Proin lobortis porttitor consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Curabitur nec nulla a erat tincidunt imperdiet et id lorem. Quisque est lectus, iaculis ut elit at, aliquam convallis enim. Duis auctor et lacus vitae pretium. Curabitur dictum sem accumsan tellus venenatis, consectetur efficitur lacus lacinia. Ut tellus arcu, hendrerit vel sem in, dapibus sodales nisi. Aliquam tincidunt rutrum ornare. Fusce ac tellus ligula. Phasellus ullamcorper mollis nibh, eu tempor diam laoreet nec. Integer enim nulla, tempor tristique pellentesque ut, auctor quis nibh. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed ac ipsum tempus, gravida nibh eget, suscipit tellus. Proin commodo tristique nisl, eu blandit justo tincidunt vel.

Vestibulum lobortis vestibulum nunc non vehicula. Nam molestie luctus ex tempus malesuada. Praesent sapien augue, auctor in libero et, lobortis pharetra lacus. Nam consequat augue ac efficitur condimentum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer accumsan lacinia lectus, non suscipit massa rhoncus ut. Sed cursus vehicula consectetur. Sed congue finibus bibendum. Nunc sodales tellus vel magna varius viverra.

Nunc at dui in mauris feugiat feugiat id et orci. Nam malesuada tempus nisi. Morbi pharetra congue eleifend. Praesent quam elit, imperdiet vehicula pretium ac, imperdiet vitae neque. Donec porta gravida porta. Vestibulum sed arcu suscipit, faucibus metus vel, dapibus magna. Vivamus gravida neque arcu, nec varius massa dapibus eget. Maecenas commodo libero et dolor lacinia consectetur ut quis nisi. Phasellus dictum non metus egestas sagittis. Vivamus id dolor lobortis, sodales felis in, malesuada augue. Proin non cursus dui.

Mauris tincidunt metus tincidunt dictum rhoncus. Donec faucibus consectetur urna, at blandit nisi varius in. Nullam elit nunc, vulputate non euismod in, sagittis ac orci. Cras sit amet pellentesque ipsum, non condimentum nisl. Suspendisse dictum est id mauris egestas, vel mattis ex bibendum. Quisque sit amet libero ornare, lacinia velit dictum, commodo dui. Integer quis maximus mauris, a placerat nunc. In sollicitudin luctus mi, at tincidunt purus efficitur ut. Sed molestie massa id iaculis imperdiet. Sed eu elementum mauris. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vitae augue nisl. Sed varius vitae nisl ac aliquam. Quisque sed turpis sit amet nibh dapibus ullamcorper volutpat quis eros. Duis sed bibendum felis. Integer erat erat, congue ac quam quis, fringilla hendrerit lorem. Integer vulputate, risus nec viverra tincidunt, velit nisi blandit erat, ut dignissim ex justo eu purus. Morbi eu fringilla enim, hendrerit tempus nulla. Nunc congue vitae enim in venenatis. Nulla dictum quam ipsum, at cursus libero porta vel. Proin lobortis porttitor consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Curabitur nec nulla a erat tincidunt imperdiet et id lorem. Quisque est lectus, iaculis ut elit at, aliquam convallis enim. Duis auctor et lacus vitae pretium. Curabitur dictum sem accumsan tellus venenatis, consectetur efficitur lacus lacinia. Ut tellus arcu, hendrerit vel sem in, dapibus sodales nisi. Aliquam tincidunt rutrum ornare. Fusce ac tellus ligula. Phasellus ullamcorper mollis nibh, eu tempor diam laoreet nec. Integer enim nulla, tempor tristique pellentesque ut, auctor quis nibh. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed ac ipsum tempus, gravida nibh eget, suscipit tellus. Proin commodo tristique nisl, eu blandit justo tincidunt vel.

Vestibulum lobortis vestibulum nunc non vehicula. Nam molestie luctus ex tempus malesuada. Praesent sapien augue, auctor in libero et, lobortis pharetra lacus. Nam consequat augue ac efficitur condimentum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer accumsan lacinia lectus, non suscipit massa rhoncus ut. Sed cursus vehicula consectetur. Sed congue finibus bibendum. Nunc sodales tellus vel magna varius viverra.

Nunc at dui in mauris feugiat feugiat id et orci. Nam malesuada tempus nisi. Morbi pharetra congue eleifend. Praesent quam elit, imperdiet vehicula pretium ac, imperdiet vitae neque. Donec porta gravida porta. Vestibulum sed arcu suscipit, faucibus metus vel, dapibus magna. Vivamus gravida neque arcu, nec varius massa dapibus eget. Maecenas commodo libero et dolor lacinia consectetur ut quis nisi. Phasellus dictum non metus egestas sagittis. Vivamus id dolor lobortis, sodales felis in, malesuada augue. Proin non cursus dui.

Mauris tincidunt metus tincidunt dictum rhoncus. Donec faucibus consectetur urna, at blandit nisi varius in. Nullam elit nunc, vulputate non euismod in, sagittis ac orci. Cras sit amet pellentesque ipsum, non condimentum nisl. Suspendisse dictum est id mauris egestas, vel mattis ex bibendum. Quisque sit amet libero ornare, lacinia velit dictum, commodo dui. Integer quis maximus mauris, a placerat nunc. In sollicitudin luctus mi, at tincidunt purus efficitur ut. Sed molestie massa id iaculis imperdiet. Sed eu elementum mauris. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vitae augue nisl. Sed varius vitae nisl ac aliquam. Quisque sed turpis sit amet nibh dapibus ullamcorper volutpat quis eros. Duis sed bibendum felis. Integer erat erat, congue ac quam quis, fringilla hendrerit lorem. Integer vulputate, risus nec viverra tincidunt, velit nisi blandit erat, ut dignissim ex justo eu purus. Morbi eu fringilla enim, hendrerit tempus nulla. Nunc congue vitae enim in venenatis. Nulla dictum quam ipsum, at cursus libero porta vel. Proin lobortis porttitor consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Curabitur nec nulla a erat tincidunt imperdiet et id lorem. Quisque est lectus, iaculis ut elit at, aliquam convallis enim. Duis auctor et lacus vitae pretium. Curabitur dictum sem accumsan tellus venenatis, consectetur efficitur lacus lacinia. Ut tellus arcu, hendrerit vel sem in, dapibus sodales nisi. Aliquam tincidunt rutrum ornare. Fusce ac tellus ligula. Phasellus ullamcorper mollis nibh, eu tempor diam laoreet nec. Integer enim nulla, tempor tristique pellentesque ut, auctor quis nibh. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed ac ipsum tempus, gravida nibh eget, suscipit tellus. Proin commodo tristique nisl, eu blandit justo tincidunt vel.

Vestibulum lobortis vestibulum nunc non vehicula. Nam molestie luctus ex tempus malesuada. Praesent sapien augue, auctor in libero et, lobortis pharetra lacus. Nam consequat augue ac efficitur condimentum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer accumsan lacinia lectus, non suscipit massa rhoncus ut. Sed cursus vehicula consectetur. Sed congue finibus bibendum. Nunc sodales tellus vel magna varius viverra.

Nunc at dui in mauris feugiat feugiat id et orci. Nam malesuada tempus nisi. Morbi pharetra congue eleifend. Praesent quam elit, imperdiet vehicula pretium ac, imperdiet vitae neque. Donec porta gravida porta. Vestibulum sed arcu suscipit, faucibus metus vel, dapibus magna. Vivamus gravida neque arcu, nec varius massa dapibus eget. Maecenas commodo libero et dolor lacinia consectetur ut quis nisi. Phasellus dictum non metus egestas sagittis. Vivamus id dolor lobortis, sodales felis in, malesuada augue. Proin non cursus dui.

Mauris tincidunt metus tincidunt dictum rhoncus. Donec faucibus consectetur urna, at blandit nisi varius in. Nullam elit nunc, vulputate non euismod in, sagittis ac orci. Cras sit amet pellentesque ipsum, non condimentum nisl. Suspendisse dictum est id mauris egestas, vel mattis ex bibendum. Quisque sit amet libero ornare, lacinia velit dictum, commodo dui. Integer quis maximus mauris, a placerat nunc. In sollicitudin luctus mi, at tincidunt purus efficitur ut. Sed molestie massa id iaculis imperdiet. Sed eu elementum mauris. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vitae augue nisl. Sed varius vitae nisl ac aliquam. Quisque sed turpis sit amet nibh dapibus ullamcorper volutpat quis eros. Duis sed bibendum felis. Integer erat erat, congue ac quam quis, fringilla hendrerit lorem. Integer vulputate, risus nec viverra tincidunt, velit nisi blandit erat, ut dignissim ex justo eu purus. Morbi eu fringilla enim, hendrerit tempus nulla. Nunc congue vitae enim in venenatis. Nulla dictum quam ipsum, at cursus libero porta vel. Proin lobortis porttitor consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Curabitur nec nulla a erat tincidunt imperdiet et id lorem. Quisque est lectus, iaculis ut elit at, aliquam convallis enim. Duis auctor et lacus vitae pretium. Curabitur dictum sem accumsan tellus venenatis, consectetur efficitur lacus lacinia. Ut tellus arcu, hendrerit vel sem in, dapibus sodales nisi. Aliquam tincidunt rutrum ornare. Fusce ac tellus ligula. Phasellus ullamcorper mollis nibh, eu tempor diam laoreet nec. Integer enim nulla, tempor tristique pellentesque ut, auctor quis nibh. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed ac ipsum tempus, gravida nibh eget, suscipit tellus. Proin commodo tristique nisl, eu blandit justo tincidunt vel.

Vestibulum lobortis vestibulum nunc non vehicula. Nam molestie luctus ex tempus malesuada. Praesent sapien augue, auctor in libero et, lobortis pharetra lacus. Nam consequat augue ac efficitur condimentum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer accumsan lacinia lectus, non suscipit massa rhoncus ut. Sed cursus vehicula consectetur. Sed congue finibus bibendum. Nunc sodales tellus vel magna varius viverra.

Nunc at dui in mauris feugiat feugiat id et orci. Nam malesuada tempus nisi. Morbi pharetra congue eleifend. Praesent quam elit, imperdiet vehicula pretium ac, imperdiet vitae neque. Donec porta gravida porta. Vestibulum sed arcu suscipit, faucibus metus vel, dapibus magna. Vivamus gravida neque arcu, nec varius massa dapibus eget. Maecenas commodo libero et dolor lacinia consectetur ut quis nisi. Phasellus dictum non metus egestas sagittis. Vivamus id dolor lobortis, sodales felis in, malesuada augue. Proin non cursus dui.

Mauris tincidunt metus tincidunt dictum rhoncus. Donec faucibus consectetur urna, at blandit nisi varius in. Nullam elit nunc, vulputate non euismod in, sagittis ac orci. Cras sit amet pellentesque ipsum, non condimentum nisl. Suspendisse dictum est id mauris egestas, vel mattis ex bibendum. Quisque sit amet libero ornare, lacinia velit dictum, commodo dui. Integer quis maximus mauris, a placerat nunc. In sollicitudin luctus mi, at tincidunt purus efficitur ut. Sed molestie massa id iaculis imperdiet. Sed eu elementum mauris. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vitae augue nisl. Sed varius vitae nisl ac aliquam. Quisque sed turpis sit amet nibh dapibus ullamcorper volutpat quis eros. Duis sed bibendum felis. Integer erat erat, congue ac quam quis, fringilla hendrerit lorem. Integer vulputate, risus nec viverra tincidunt, velit nisi blandit erat, ut dignissim ex justo eu purus. Morbi eu fringilla enim, hendrerit tempus nulla. Nunc congue vitae enim in venenatis. Nulla dictum quam ipsum, at cursus libero porta vel. Proin lobortis porttitor consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Curabitur nec nulla a erat tincidunt imperdiet et id lorem. Quisque est lectus, iaculis ut elit at, aliquam convallis enim. Duis auctor et lacus vitae pretium. Curabitur dictum sem accumsan tellus venenatis, consectetur efficitur lacus lacinia. Ut tellus arcu, hendrerit vel sem in, dapibus sodales nisi. Aliquam tincidunt rutrum ornare. Fusce ac tellus ligula. Phasellus ullamcorper mollis nibh, eu tempor diam laoreet nec. Integer enim nulla, tempor tristique pellentesque ut, auctor quis nibh. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed ac ipsum tempus, gravida nibh eget, suscipit tellus. Proin commodo tristique nisl, eu blandit justo tincidunt vel.

Vestibulum lobortis vestibulum nunc non vehicula. Nam molestie luctus ex tempus malesuada. Praesent sapien augue, auctor in libero et, lobortis pharetra lacus. Nam consequat augue ac efficitur condimentum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer accumsan lacinia lectus, non suscipit massa rhoncus ut. Sed cursus vehicula consectetur. Sed congue finibus bibendum. Nunc sodales tellus vel magna varius viverra.

Nunc at dui in mauris feugiat feugiat id et orci. Nam malesuada tempus nisi. Morbi pharetra congue eleifend. Praesent quam elit, imperdiet vehicula pretium ac, imperdiet vitae neque. Donec porta gravida porta. Vestibulum sed arcu suscipit, faucibus metus vel, dapibus magna. Vivamus gravida neque arcu, nec varius massa dapibus eget. Maecenas commodo libero et dolor lacinia consectetur ut quis nisi. Phasellus dictum non metus egestas sagittis. Vivamus id dolor lobortis, sodales felis in, malesuada augue. Proin non cursus dui.

Mauris tincidunt metus tincidunt dictum rhoncus. Donec faucibus consectetur urna, at blandit nisi varius in. Nullam elit nunc, vulputate non euismod in, sagittis ac orci. Cras sit amet pellentesque ipsum, non condimentum nisl. Suspendisse dictum est id mauris egestas, vel mattis ex bibendum. Quisque sit amet libero ornare, lacinia velit dictum, commodo dui. Integer quis maximus mauris, a placerat nunc. In sollicitudin luctus mi, at tincidunt purus efficitur ut. Sed molestie massa id iaculis imperdiet. Sed eu elementum mauris.

Updated 17/08/2017 09:46

Generics, keyof, typeguard error

Microsoft/TypeScript

TypeScript Version: 2.4.2

I noticed a problem similar to #17808 when playing with generics:

function GetPropertyWorks<T, P extends keyof T>(obj:T, prop:P):number{
    let value = obj[prop];
    if(typeof value == 'number'){
        return value;
    }
    return 0;
}

function GetPropertyDoesnt<T, P extends keyof T>(obj:T, prop:P):number{
    if(typeof obj[prop] == 'number'){
        return obj[prop];
    }
    return 0;
}

So apparently assigning to an intermediary solves the problem.

Expected behavior:

I expect that if I typecheck the obj[prop] value, that I can use it as a value of the type of the typecheck.

Actual behavior: error TS2322: Type ’T[P]‘ is not assignable to type 'number’. Type ’T[string]‘ is not assignable to type 'number’.

Updated 15/08/2017 21:52 1 Comments

Cache producing wrong result when caching Custom Post Types with _embed option

airesvsg/wp-rest-api-cache

I’m trying to query my custom post type over the WP REST API with the cache plugin enabled.

On first call, or without cache, it renders the following correct JSON output:

[{
    "id": 4220,
    "date": "2016-11-18T15:03:52",
    "date_gmt": "2016-11-18T14:03:52",
    "guid": {
        "rendered": "https:\/\/www.studioimnetz.de\/?post_type=bswp_paedi_winners&#038;p=4220"
    },
    "modified": "2017-08-13T17:57:21",
    "modified_gmt": "2017-08-13T15:57:21",
    "slug": "mrwissen2go",
    "status": "publish",
    "type": "bswp_paedi_winners",
    "link": "http:\/\/localhost\/wordpress_40\/paedi-winners\/mrwissen2go\/",
    "title": {
        "rendered": "MrWissen2go"
    },
    "content": {
        "rendered": "",
        "protected": false
    },
    "author": 1,
    "featured_media": 0,
    "template": "",
    "meta": [],
    "platforms": [2],
    "_links": {
        "self": [{
            "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/paedi_winners\/4220"
        }],
        "collection": [{
            "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/paedi_winners"
        }],
        "about": [{
            "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/types\/bswp_paedi_winners"
        }],
        "author": [{
            "embeddable": true,
            "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/users\/1"
        }],
        "version-history": [{
            "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/paedi_winners\/4220\/revisions"
        }],
        "wp:attachment": [{
            "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/media?parent=4220"
        }],
        "wp:term": [{
            "taxonomy": "platform",
            "embeddable": true,
            "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/platforms?post=4220"
        }],
        "curies": [{
            "name": "wp",
            "href": "https:\/\/api.w.org\/{rel}",
            "templated": true
        }]
    },
    "_embedded": {
        "author": [{
            "id": 1,
            "name": "benjamin.jentsch",
            "url": "",
            "description": "",
            "link": "http:\/\/localhost\/wordpress_40\/author\/benjamin-jentsch\/",
            "slug": "benjamin-jentsch",
            "avatar_urls": {
                "24": "http:\/\/2.gravatar.com\/avatar\/83bdd363b7932e80b3e1a8d989dc3238?s=24&d=mm&r=g",
                "48": "http:\/\/2.gravatar.com\/avatar\/83bdd363b7932e80b3e1a8d989dc3238?s=48&d=mm&r=g",
                "96": "http:\/\/2.gravatar.com\/avatar\/83bdd363b7932e80b3e1a8d989dc3238?s=96&d=mm&r=g"
            },
            "_links": {
                "self": [{
                    "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/users\/1"
                }],
                "collection": [{
                    "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/users"
                }]
            }
        }],
        "wp:term": [
            [{
                "id": 2,
                "link": "http:\/\/localhost\/wordpress_40\/platform\/web\/",
                "name": "Web",
                "slug": "web",
                "taxonomy": "platform",
                "_links": {
                    "self": [{
                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/platforms\/2"
                    }],
                    "collection": [{
                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/platforms"
                    }],
                    "about": [{
                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/taxonomies\/platform"
                    }],
                    "wp:post_type": [{
                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/paedi_winners?platforms=2"
                    }],
                    "curies": [{
                        "name": "wp",
                        "href": "https:\/\/api.w.org\/{rel}",
                        "templated": true
                    }]
                }
            }]
        ]
    }
}]

However, when the cache delivers the cached version from the database, the result is as follows:

[{
    "id": 4220,
    "date": "2016-11-18T15:03:52",
    "date_gmt": "2016-11-18T14:03:52",
    "guid": {
        "rendered": "https:\/\/www.studioimnetz.de\/?post_type=bswp_paedi_winners&#038;p=4220"
    },
    "modified": "2017-08-13T17:57:21",
    "modified_gmt": "2017-08-13T15:57:21",
    "slug": "mrwissen2go",
    "status": "publish",
    "type": "bswp_paedi_winners",
    "link": "http:\/\/localhost\/wordpress_40\/paedi-winners\/mrwissen2go\/",
    "title": {
        "rendered": "MrWissen2go"
    },
    "content": {
        "rendered": "",
        "protected": false
    },
    "author": 1,
    "featured_media": 0,
    "template": "",
    "meta": [],
    "platforms": [2],
    "_links": {
        "self": [{
            "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/paedi_winners\/4220"
        }],
        "collection": [{
            "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/paedi_winners"
        }],
        "about": [{
            "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/types\/bswp_paedi_winners"
        }],
        "author": [{
            "embeddable": true,
            "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/users\/1"
        }],
        "version-history": [{
            "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/paedi_winners\/4220\/revisions"
        }],
        "wp:attachment": [{
            "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/media?parent=4220"
        }],
        "wp:term": [{
            "taxonomy": "platform",
            "embeddable": true,
            "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/platforms?post=4220"
        }],
        "curies": [{
            "name": "wp",
            "href": "https:\/\/api.w.org\/{rel}",
            "templated": true
        }]
    },
    "_embedded": {
        "author": [
            [{
                "id": 4220,
                "date": "2016-11-18T15:03:52",
                "date_gmt": "2016-11-18T14:03:52",
                "guid": {
                    "rendered": "https:\/\/www.studioimnetz.de\/?post_type=bswp_paedi_winners&#038;p=4220"
                },
                "modified": "2017-08-13T17:57:21",
                "modified_gmt": "2017-08-13T15:57:21",
                "slug": "mrwissen2go",
                "status": "publish",
                "type": "bswp_paedi_winners",
                "link": "http:\/\/localhost\/wordpress_40\/paedi-winners\/mrwissen2go\/",
                "title": {
                    "rendered": "MrWissen2go"
                },
                "content": {
                    "rendered": "",
                    "protected": false
                },
                "author": 1,
                "featured_media": 0,
                "template": "",
                "meta": [],
                "platforms": [2],
                "_links": {
                    "self": [{
                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/paedi_winners\/4220"
                    }],
                    "collection": [{
                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/paedi_winners"
                    }],
                    "about": [{
                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/types\/bswp_paedi_winners"
                    }],
                    "author": [{
                        "embeddable": true,
                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/users\/1"
                    }],
                    "version-history": [{
                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/paedi_winners\/4220\/revisions"
                    }],
                    "wp:attachment": [{
                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/media?parent=4220"
                    }],
                    "wp:term": [{
                        "taxonomy": "platform",
                        "embeddable": true,
                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/platforms?post=4220"
                    }],
                    "curies": [{
                        "name": "wp",
                        "href": "https:\/\/api.w.org\/{rel}",
                        "templated": true
                    }]
                }
            }]
        ],
        "wp:term": [
            [{
                "id": 4220,
                "date": "2016-11-18T15:03:52",
                "date_gmt": "2016-11-18T14:03:52",
                "guid": {
                    "rendered": "https:\/\/www.studioimnetz.de\/?post_type=bswp_paedi_winners&#038;p=4220"
                },
                "modified": "2017-08-13T17:57:21",
                "modified_gmt": "2017-08-13T15:57:21",
                "slug": "mrwissen2go",
                "status": "publish",
                "type": "bswp_paedi_winners",
                "link": "http:\/\/localhost\/wordpress_40\/paedi-winners\/mrwissen2go\/",
                "title": {
                    "rendered": "MrWissen2go"
                },
                "content": {
                    "rendered": "",
                    "protected": false
                },
                "author": 1,
                "featured_media": 0,
                "template": "",
                "meta": [],
                "platforms": [2],
                "_links": {
                    "self": [{
                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/paedi_winners\/4220"
                    }],
                    "collection": [{
                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/paedi_winners"
                    }],
                    "about": [{
                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/types\/bswp_paedi_winners"
                    }],
                    "author": [{
                        "embeddable": true,
                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/users\/1"
                    }],
                    "version-history": [{
                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/paedi_winners\/4220\/revisions"
                    }],
                    "wp:attachment": [{
                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/media?parent=4220"
                    }],
                    "wp:term": [{
                        "taxonomy": "platform",
                        "embeddable": true,
                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/platforms?post=4220"
                    }],
                    "curies": [{
                        "name": "wp",
                        "href": "https:\/\/api.w.org\/{rel}",
                        "templated": true
                    }]
                }
            }]
        ]
    }
}]

So the diff would be:

--- paedi_winners.json    Tue Aug 15 16:11:58 2017
+++ paedi_winners_cached.json Tue Aug 15 16:11:58 2017
@@ -55,46 +55,115 @@
         }]
     },
     "_embedded": {
-        "author": [{
-            "id": 1,
-            "name": "benjamin.jentsch",
-            "url": "",
-            "description": "",
-            "link": "http:\/\/localhost\/wordpress_40\/author\/benjamin-jentsch\/",
-            "slug": "benjamin-jentsch",
-            "avatar_urls": {
-                "24": "http:\/\/2.gravatar.com\/avatar\/83bdd363b7932e80b3e1a8d989dc3238?s=24&d=mm&r=g",
-                "48": "http:\/\/2.gravatar.com\/avatar\/83bdd363b7932e80b3e1a8d989dc3238?s=48&d=mm&r=g",
-                "96": "http:\/\/2.gravatar.com\/avatar\/83bdd363b7932e80b3e1a8d989dc3238?s=96&d=mm&r=g"
-            },
-            "_links": {
-                "self": [{
-                    "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/users\/1"
-                }],
-                "collection": [{
-                    "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/users"
-                }]
-            }
-        }],
+        "author": [
+            [{
+                "id": 4220,
+                "date": "2016-11-18T15:03:52",
+                "date_gmt": "2016-11-18T14:03:52",
+                "guid": {
+                    "rendered": "https:\/\/www.studioimnetz.de\/?post_type=bswp_paedi_winners&#038;p=4220"
+                },
+                "modified": "2017-08-13T17:57:21",
+                "modified_gmt": "2017-08-13T15:57:21",
+                "slug": "mrwissen2go",
+                "status": "publish",
+                "type": "bswp_paedi_winners",
+                "link": "http:\/\/localhost\/wordpress_40\/paedi-winners\/mrwissen2go\/",
+                "title": {
+                    "rendered": "MrWissen2go"
+                },
+                "content": {
+                    "rendered": "",
+                    "protected": false
+                },
+                "author": 1,
+                "featured_media": 0,
+                "template": "",
+                "meta": [],
+                "platforms": [2],
+                "_links": {
+                    "self": [{
+                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/paedi_winners\/4220"
+                    }],
+                    "collection": [{
+                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/paedi_winners"
+                    }],
+                    "about": [{
+                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/types\/bswp_paedi_winners"
+                    }],
+                    "author": [{
+                        "embeddable": true,
+                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/users\/1"
+                    }],
+                    "version-history": [{
+                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/paedi_winners\/4220\/revisions"
+                    }],
+                    "wp:attachment": [{
+                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/media?parent=4220"
+                    }],
+                    "wp:term": [{
+                        "taxonomy": "platform",
+                        "embeddable": true,
+                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/platforms?post=4220"
+                    }],
+                    "curies": [{
+                        "name": "wp",
+                        "href": "https:\/\/api.w.org\/{rel}",
+                        "templated": true
+                    }]
+                }
+            }]
+        ],
         "wp:term": [
             [{
-                "id": 2,
-                "link": "http:\/\/localhost\/wordpress_40\/platform\/web\/",
-                "name": "Web",
-                "slug": "web",
-                "taxonomy": "platform",
+                "id": 4220,
+                "date": "2016-11-18T15:03:52",
+                "date_gmt": "2016-11-18T14:03:52",
+                "guid": {
+                    "rendered": "https:\/\/www.studioimnetz.de\/?post_type=bswp_paedi_winners&#038;p=4220"
+                },
+                "modified": "2017-08-13T17:57:21",
+                "modified_gmt": "2017-08-13T15:57:21",
+                "slug": "mrwissen2go",
+                "status": "publish",
+                "type": "bswp_paedi_winners",
+                "link": "http:\/\/localhost\/wordpress_40\/paedi-winners\/mrwissen2go\/",
+                "title": {
+                    "rendered": "MrWissen2go"
+                },
+                "content": {
+                    "rendered": "",
+                    "protected": false
+                },
+                "author": 1,
+                "featured_media": 0,
+                "template": "",
+                "meta": [],
+                "platforms": [2],
                 "_links": {
                     "self": [{
-                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/platforms\/2"
+                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/paedi_winners\/4220"
                     }],
                     "collection": [{
-                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/platforms"
+                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/paedi_winners"
                     }],
                     "about": [{
-                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/taxonomies\/platform"
+                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/types\/bswp_paedi_winners"
                     }],
-                    "wp:post_type": [{
-                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/paedi_winners?platforms=2"
+                    "author": [{
+                        "embeddable": true,
+                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/users\/1"
+                    }],
+                    "version-history": [{
+                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/paedi_winners\/4220\/revisions"
+                    }],
+                    "wp:attachment": [{
+                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/media?parent=4220"
+                    }],
+                    "wp:term": [{
+                        "taxonomy": "platform",
+                        "embeddable": true,
+                        "href": "http:\/\/localhost\/wordpress_40\/wp-json\/wp\/v2\/platforms?post=4220"
                     }],
                     "curies": [{
                         "name": "wp",

As you can see, the author and wp:term fields get replaced with the custom post type’s content, which is not exactly what I want.

I’m not quite sure if this is a WP REST API Cache bug or a wordpress API core bug.

Updated 15/08/2017 14:42 2 Comments

instanceof-guard-based narrowing of sum types produces the type "never"

Microsoft/TypeScript

<!– BUGS: Please use this template. –> <!– QUESTIONS: This is not a general support forum! Ask Qs at http://stackoverflow.com/questions/tagged/typescript –> <!– SUGGESTIONS: See https://github.com/Microsoft/TypeScript-wiki/blob/master/Writing-Good-Design-Proposals.md –>

TypeScript Version: TS 2.4 Code

class C1 {
    foo: number;
}

class C2 {
    foo: number;
    bar: number;
}

function f_not_C2(a: C1 | C2) {
    if (!(a instanceof C2)) {
        a.foo; // a has type C1, so only foo is available
    }
}

function f_not_C1(a: C1 | C2) {
    if (!(a instanceof C1)) {
        a; // a should have type C2, but has type never!
    }
}

Expected behavior: The variable “a” in f_not_C1(…) should have type C2. Actual behavior: The variable “a” in f_not_C1(…) has type never, making all properties unavailable.

Updated 16/08/2017 18:41 1 Comments

First connection issue

nilsteampassnet/TeamPass

Hello,

I installed TeamPass with LDAP authentification but i have an issue.

When an user login on TeamPass for the first time, he get access to all folders/passwords until he refresh his browser.

Anyone have the same issue ? It can be a cache/web server issue ?

TeamPass version: 2.1.27 Webserver: Apache 2.4.6 PHP version: 7.0.22 OS: CentOS

Thanks, Regards,

Nicolas

Updated 16/08/2017 06:21 1 Comments

Throwing ActionController::InvalidAuthenticityToken when trying to add works to an existing collection

samvera/hyrax

Descriptive summary

When adding existing works to an existing collection through Dashboard -> Works -> add works to collection, the works are not added and ActionController::InvalidAuthenticityToken is thrown.

Rationale

Collection CRUD was refactored to move CRUD code under the dashboard directory. Not all functionality for that is back up and running properly. The bulk of the functionality is working, so to allow others to move their work forward, this was committed as part of PR #TBA.

This issue describes one of the residual problems.

Expected behavior

When selecting works to add to an existing collection from Dashboard -> Works, the works should be added as members of the collection.

Actual behavior

  • In the UI, ActionController::InvalidAuthenticityToken is thrown for existing collections.
  • In the UI, if added to a new collection, the works are added correctly.
  • In tests, the works are added correctly.

Steps to reproduce the behavior

  1. login
  2. create 1 collection
  3. create 2 works
  4. add the works to the collection via Dashboard -> Works -> select all -> Add to Collection -> select existing collection -> Update Collection

Should show collection show page with 2 works. Instead, throws ActionController::InvalidAuthenticityToken.

Related work

1380 Adjust routes to accommodate a public landing page and permission templates

1417 Collections: Update UI for index views (All/Your) of MVC for Managing Collections

1427 Collections: Create an admin show view

1428 Collections: Update public landing page to include branding and other UI recommendations

Updated 15/08/2017 16:17 3 Comments

Ghost placeholder.

FranzSkuffka/vue-medium-editor

I am getting a weird bug when I wrap the component in another component. The placeholder text is sticking around.

aug-14-2017 09-30-59

when you click into the content it goes away.

if I wrap the text with a v-if="text" it looks like it is fixing the bug.

Updated 14/08/2017 19:10 3 Comments

NPM Install node_modules Error(s) from package.json

Microsoft/BashOnWindows
  • Your Windows build number: Microsoft Windows [Version 10.0.16257.1]

  • What you’re doing and what’s happening: npm install or sudo npm install

  • What’s wrong / what should be happening instead:

I’m having a hard time installing the node_modules on a project. A ‘.staging’ dir is being created with some modules to be installed and then seems to be running into an error not being able to unlink or delete the directory and hangs. I have the same project on my Mac and npm install seems to be working fine. I’ve tried manually installing each module, as well as deleting the ‘.staging’ directory and continuing, but nothing seems to be working. I mainly get the unlink errors, but have also received npm ERR! ENOTDIR: not a directory, lstat.... and npm ERR! EEXIST: file already exists, mkdir.... when trying to install individual modules.

username@DESKTOP-3CO53BV:/mnt/c/Users/username/project$ sudo npm install

npm ERR! path /mnt/c/Users/username/project/node_modules/.staging/ast-types-283461ee/def
npm ERR! code EINVAL
npm ERR! errno -22
npm ERR! syscall unlink
npm ERR! EINVAL: invalid argument, unlink '/mnt/c/username/project/node_modules/.staging/ast-types-283461ee/def'

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/username/.npm/_logs/2017-08-14T09_51_33_514Z-debug.log

When I delete the ‘.staging’ dir and try the install again or manually install a module, often the unlink error then has a problem with a different module.

The contents of the end of the debug file: 2017-08-14T09_51_33_514Z-debug.log 16955 verbose correctMkdir /home/username/.npm/_locks correctMkdir not in flight; initializing 16956 verbose lock using /home/username/.npm/_locks/staging-a05b3eeada678bcc.lock for /mnt/c/Users/username/project/node_modules/.staging 16957 verbose unlock done using /home/username/.npm/_locks/staging-a05b3eeada678bcc.lock for /mnt/c/Users/username/project/node_modules/.staging 16958 warn graphiql@0.5.0 requires a peer of react@^0.14.0 but none was installed. 16959 warn graphiql@0.5.0 requires a peer of react-dom@^0.14.0 but none was installed. 16960 warn react-addons-perf@15.4.2 requires a peer of react-dom@^15.4.2 but none was installed. 16961 warn react-addons-test-utils@15.4.2 requires a peer of react-dom@^15.4.2 but none was installed. 16962 verbose stack Error: EINVAL: invalid argument, unlink '/mnt/c/Users/username/project/node_modules/.staging/ast-types-283461ee/def' 16963 verbose cwd /mnt/c/Users/username/project 16964 verbose Linux 4.4.0-43-Microsoft 16965 verbose argv "/usr/bin/nodejs" "/usr/bin/npm" "install" 16966 verbose node v8.3.0 16967 verbose npm v5.3.0 16968 error path /mnt/c/Users/username/project/node_modules/.staging/ast-types-283461ee/def 16969 error code EINVAL 16970 error errno -22 16971 error syscall unlink 16972 error EINVAL: invalid argument, unlink '/mnt/c/Users/username/project/node_modules/.staging/ast-types-283461ee/def' 16973 verbose exit [ -22, true ]

I have also tried upgrading and downgrading node and npm with nvm.

Thanks for any help! :-D

Updated 16/08/2017 17:42 2 Comments

Update format of the I18n messages

OpusCapita/react-components

The old format of I18n messages is deprecated and will be changed soon - need to migrate to new one. Check out the warning message: ```javascript WARNING: Such I18nManager ‘register’ method signature is deprecated and its support will be removed soon! Instead of using locale bundles sturcture like this:

[ {locales: [‘en’], messages: {yes: ‘jes’}} {locales: [‘de’], messages: {yes: ‘ja’}} ]

use the following structure:

{ ‘en’: {yes: ‘jes’}, ‘de’: {yes: ‘ja’} } ```

Updated 14/08/2017 09:11

Deltalog for customer_entity is not installed.

magento/data-migration-tool

Ready to go live with magento 2.1.7 on a staging server after successfully migrating a few weeks ago from Magento ver. 1.6.2.0

Trying to update with new customers and recent orders in the past few weeks since migration.

After trying the migrate:delta command.

[2017-08-14 07:06:22][INFO][mode: delta][stage: delta delivering][step: Customer Attributes Step]: started [2017-08-14 07:06:23][ERROR]: Deltalog for customer_entity is not installed

@victor-v-rad please help.

Updated 17/08/2017 12:22 1 Comments

Compiler exception on namespace default export of class/function

Microsoft/TypeScript

<!– BUGS: Please use this template. –> <!– QUESTIONS: This is not a general support forum! Ask Qs at http://stackoverflow.com/questions/tagged/typescript –> <!– SUGGESTIONS: See https://github.com/Microsoft/TypeScript-wiki/blob/master/Writing-Good-Design-Proposals.md –>

TypeScript Version: Playground (2.4?)

Code

namespace W {
    export default 123;
    // generates as expected: A default export can only be used in an ECMAScript-style module.
}

namespace W {
    export default function () { }; // alternatively: class {}
    // throws TypeError: Cannot read property 'pos' of undefined
}

Expected behavior:

The compiler should generate the same error in both cases rather than throwing a TypeError.

Updated 16/08/2017 19:13 1 Comments

Grouped horizontal bar chart renders bar height and whitespace improperly when data sets contain items of different names

swimlane/ngx-charts

I’m submitting a … (check one with “x”) [x] bug report => search github for a similar issue or PR before submitting [ ] feature request [ ] support request => Please do not submit support request here

Current behavior When displaying a grouped horizontal bar chart, given the set of data below or some similar set, the chart renders in an odd way. There is a great amount of whitespace between the groups and the bars of the chart are very skinny and do not take up all available space within the chart. This appears to happen when multiple series of data have differing names, as if the chart wants to allow space for all sets from each group in every group rather just allowing space for sets only within the group they exist in.

Expected behavior The excess whitespace in the chart should not exist, and the height of the bars in the chart should expand to fill the available space.

Reproduction of the problem The issue is easy to reproduce using the example on the official example page located here: https://swimlane.gitbooks.io/ngx-charts/content/charts/bar-horizontal-2d.html

Replace the data in the “multi” array in the data.ts file with the following series: [ { “name”: “New Items”, “series”: [ {name: “Item01”, value: 13704}, {name: “Item02”, value: 15111}, {name: “Item03”, value: 205}, {name: “Item04”, value: 168} ] }, { “name”: “Old Items”, “series”: [ {name: “ItemC1”, value: 472}, {name: “ItemC2”, value: 396}, {name: “Item1”, value: 40242}, {name: “Item2”, value: 37193}, {name: “Item3”, value: 34208}, {name: “Item4”, value: 17665}, {name: “Item5”, value: 34199}, {name: “Item6”, value: 34336}, {name: “Item7”, value: 18}, {name: “Item8”, value: 11} ] } ];

What is the motivation / use case for changing the behavior? Ideally I think most users would like a chart that renders evenly spaced and dimensioned bars in most / all cases

Updated 17/08/2017 09:54 1 Comments

Running DocFX from outside the folder that contains `docfx.json` fails

dotnet/docfx

DocFX Version Used: 2.22.2.0

Template used: default

Steps to Reproduce:

  1. Download docfx into docfx/
  2. git clone --depth 1 https://github.com/docascode/docfx-seed
  3. Run docfx/docfx.exe docfx-seed/docfx.json

Expected Behavior: It should compile cleanly.

Actual Behavior: Running docfx/docfx.exe docfx-seed/docfx.json fails with [17-08-12 09:51:12.620]Error:System.AggregateException: One or more errors occurred. ---> System.IO.FileNotFoundException: obj/.cache/build/xcoolrhj.hwn/qkff5jed.u7f does not exist at System.IO.File.Copy (System.String sourceFileName, System.String destFileName, System.Boolean overwrite) [0x000b6] in <a546545b1dc14846b8449241b79b9e7e>:0 ...

However, running cd docfx-seed; ../docfx/docfx.exe docfx.json works as expected.

It seems that DocFX is using relative paths in a mismatched way. I think in some part of the code, paths are relative to docfx.json whilst in other parts the paths are relative to docfx.json.

Possibly related to #1879. Build log file attached.

build-log.txt

Updated 14/08/2017 06:15 1 Comments

kill players in certain region.

FlyingPikachu/Quests

(Required) What is your Quests version / build number (do not say “latest”)? Quests 3.0.0-Naomi-b${env.BUILD_NUMBER} (Required) Please describe the problem and how to replicate it. Any console errors? i cant do a mision with players kill others only count in certain region,when you kill a player count in everywhere (Optional) Can you provide an example quest from quests.yml using Pastebin.com? custom47: name: ‘example’ npc-giver-id: 26 ask-message: kill 10 players in waterfall-cave finish-message: excelent. gui-display: name-DIAMOND_SWORD:amount-1 stages: ordered: ‘1’: locations-to-kill: - world -161.0 42.0 168.0 kill-location-radii: - 30
kill-location-names:

Updated 11/08/2017 15:26 1 Comments

The "document" page

Transkribus/TWI-mc

Currently The edit page (eg https://transkribus.eu/readTest/edit/correct/2305/23316/1) gives us a selection of editing interfaes and the means to browse through a the pages in a document using the thumbnail ribbon.

Allowing essentially this page but with the editing possibilities turned off would provide a usefule “document” page to give users a read-only view of the document with zooming and thumbnail ribbon etc

Editing options could be enabled using a button where possible. Toggling the editing option could also be protected by user/collection permissions, which would allow us to use the same view for the “published collections” in the future.

Updated 17/08/2017 12:02 5 Comments

New kernel version didn't support

panda-re/panda

When compile kernel info , there’s some error

/home/kvm/kernelinfo/kernelinfo.c: In function ‘init_module’:
/home/kvm/kernelinfo/kernelinfo.c:56:132: error: ‘struct thread_info’ has no member named ‘task’
 %s.%s_offset = %d", cfgname, cp_memb(#memb), (int)((void *)&(structp->memb) - (
                                                                     ^
/home/kvm/kernelinfo/kernelinfo.c:98:2: note: in expansion of macro ‘PRINT_OFFSET’
  PRINT_OFFSET(ti_p, task,   "task");
  ^
/home/kvm/kernelinfo/kernelinfo.c:56:132: error: ‘struct vfsmount’ has no member named ‘mnt_parent’
 %s.%s_offset = %d", cfgname, cp_memb(#memb), (int)((void *)&(structp->memb) - (
                                                                     ^
/home/kvm/kernelinfo/kernelinfo.c:138:2: note: in expansion of macro ‘PRINT_OFFSET’
  PRINT_OFFSET(vfsmnt_p, mnt_parent,  "fs");
  ^
/home/kvm/kernelinfo/kernelinfo.c:56:132: error: ‘struct vfsmount’ has no member named ‘mnt_mountpoint’
 %s.%s_offset = %d", cfgname, cp_memb(#memb), (int)((void *)&(structp->memb) - (

these structures are removed from vfsmount in the newer kernel , expecially in kernel 4.x.

Updated 11/08/2017 17:23 2 Comments

The script doesn't launch "requirements have not been satisfied properly."

k4m4/kickthemout

<!– Hi there! Thank you for bringing an issue to out attention.

Before submitting, let’s make sure of a few things. Please ensure the following boxes are ticked if they apply. If they do not, please try and fulfill them first. –>

<!– Checked checkbox should look like this: [x] –>

Checklist for submitting an issue to KickThemOut:

  • [x] I have carefully read the README file and haven’t managed to resolve my issue.
  • [x] I have searched the issues of this repo and believe that this is not a duplicate.
  • [x] I am running the latest version of KickThemOut.

<!– Once all boxes are ticked, it would be very helpful if you could fill in the following list with the appropriate information. –>

  • OS name & version: macOS Sierra 10.12.16
  • Python version: 2.7
  • Scapy version: 2.7
  • Nmap version: ????
  • Link of Gist: https://gist.github.com/falbinosantos/8c40f44459674a9ef29dcd68767d89c0

<!– Now feel free to write about your issue; please remember to be as descriptive as possible! Thanks again! 🙌 ❤️ –><br/ >

  • Description: I’m with a trouble… The script doesn’t launch as you can see here:

<img width=“849” alt=“captura de tela 2017-08-10 as 22 45 51” src=“https://user-images.githubusercontent.com/30849495/29198816-b0973454-7e1d-11e7-8275-8ff9a48bb420.png”>

ButI already installed all the requirements.

Updated 14/08/2017 00:13 5 Comments

Can't connect SFTP even enter SSH private key file

h3imdall/ftp-remote-edit
  1. Download SSH Key file to my PC > then Edit Servers config of ftp-remote-edit > add key file path of file I’ve download to my PC > When try to connect it will appear error messages - Malformed private key

  2. Download Key file (ppk format) to my PC > then Edit Servers config of ftp-remote-edit > add key file path of file I’ve download to my PC > When try to connect it will appear error messages - ppk mac mismatch

My PC OS: WIndows 10 Web Server: Hostgator

Updated 10/08/2017 20:57 1 Comments

Neo-GUI Unhandled Exception on Windows 10

neo-project/neo-gui

Hi,

I am using Windows 10 w/ latest updates. When opening Neo-GUI, the Height syncs as normal. As soon as I open an Antshare/NEO wallet and authenticate, this Unhandled Exception appears. Clicking Continue immediately repeats the same dialog box. The only “fix” is to close the application.

Here’s the error: `See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box.

Exception Text System.ArgumentException: Value does not fall within the expected range. at Neo.Core.Blockchain.CalculateBonus(IEnumerable`1 inputs, UInt32 height_end) at Neo.UI.MainForm.timer1_Tick(Object sender, EventArgs e) in C:\Users\erik\Documents\Visual Studio 2017\Projects\neo-gui\neo-gui\UI\MainForm.cs:line 305 at System.Windows.Forms.Timer.OnTick(EventArgs e) at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

image

Loaded Assemblies mscorlib Assembly Version: 4.0.0.0 Win32 Version: 4.7.2102.0 built by: NET47REL1LAST

CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll

neo-gui Assembly Version: 2.0.6411.26926 Win32 Version: 2.0.6411.26926

CodeBase: file:///C:/neo-gui-windows/Neo/neo-gui.exe

System.Windows.Forms Assembly Version: 4.0.0.0 Win32 Version: 4.7.2104.0 built by: NET47REL1LAST

CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

System Assembly Version: 4.0.0.0 Win32 Version: 4.7.2103.2 built by: NET47REL1LAST

CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll

System.Drawing Assembly Version: 4.0.0.0 Win32 Version: 4.7.2046.0 built by: NET47REL1

CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

System.Xml.Linq Assembly Version: 4.0.0.0 Win32 Version: 4.7.2046.0 built by: NET47REL1

CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml.Linq/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.Linq.dll

System.Core Assembly Version: 4.0.0.0 Win32 Version: 4.7.2102.0 built by: NET47REL1LAST`

Updated 12/08/2017 00:10 2 Comments

Mentions inside emote messages misbehavior

Burkes/test

<!–

These comments will be invisible in your issue once it is created. You can delete them or keep them, but please read all of it.

PLEASE: 1. Check the README.md file (it’s the first view when you open the repository); LINK: https://github.com/Burkes/test/blob/master/README.md 2. Search for your issue, if it is already submitted, add an emoji reaction or give feedback; 3. If you need to report a security breach or any other sensitive issue (involving privacy or exploits), DON’T DO IT HERE, email support@plug.dj instead. 4. If you need to report an issue regarding account recovery or account details, DON’T DO IT HERE, email support@plug.dj instead. 5. Check the Status Page for stability or connection issues, avoid submitting what is there; LINK: https://status.plugdj.info 6. If your issue can be submitted here, read the requirements (questions below); 7. Be precise, provide images, let others know how you encountered the issue; 8. Be polite, telling people what to do will not get an issue fixed faster;

–>

<!– Examples: [Web App Issue, Mobile App Issue] –>

Web App Issue

<!– Examples: [Android 5.0.1, Chrome 60.0.3112.66 Beta 64-bit] –> <!– HOW TO CHECK: https://github.com/Burkes/test/blob/master/.github/CONTRIBUTING.md#versions –>

OS/Browser Name and Version

Chrome 60.0.3112.66 Beta 64-bit <!– CORRECT: - [x] Reloading the page/app - [X] Reloading the page/app WRONG: - [ x ] Reloading the page/app - [ x ] Reloading the page/app - [x ] Reloading the page/app - [yes] Reloading the page/app –>

I have tried

  • [x] Reloading the page/app
  • [x] Clearing (browser) cache, cookies or (mobile) app data
  • [x] Switching to the default language (English)
  • [x] Disabling all extensions and scripts (browser only)
  • [ ] Reinstalling the app (mobile only)

<!– Please be as descriptive as possible –>

Description, Images, Logs

When receiving a mention inside an emote message, the mention sound plays but the message doesn’t have the mention class (no highlight, doesn’t show up in mentions tab).

<!– Do not post your email address as that could put your account in danger –>

plug.dj username, profile link or user ID

Burkes

Updated 09/08/2017 21:15

Result ofdownload

Ultimaker/Cura

Version: 2.7.0-BETA Platform: Windows-8.1-6.3.9600 Qt: 5.8.0 PyQt: 5.8.2

Exception: Traceback (most recent call last): File “D:/2.7/build/inst/lib/python3.5/site-packages/cura\CuraApplication.py”, line 707, in event File “D:/2.7/build/inst/lib/python3.5/site-packages/UM\Qt\QtApplication.py”, line 261, in event File “D:/2.7/build/inst/lib/python3.5/site-packages/UM\Event.py”, line 189, in call File “D:/2.7/build/inst/lib/python3.5/site-packages/UM\Signal.py”, line 315, in _performEmit File “D:/2.7/build/inst/lib/python3.5/site-packages/cura\Settings\ExtruderStack.py”, line 94, in onPropertiesChanged AttributeError: ‘NoneType’ object has no attribute ‘definition’


Thread 0x00000f5c (most recent call first): File “D:/2.7/build/inst/lib/python3.5/site-packages/UM\Backend\Backend.py”, line 155 in storeStderrToLogThread File “D:\env\2.7\inst\lib\threading.py”, line 862 in run File “D:\env\2.7\inst\lib\threading.py”, line 914 in bootstrap_inner File “D:\env\2.7\inst\lib\threading.py”, line 882 in _bootstrap

Thread 0x00001228 (most recent call first): File “D:/2.7/build/inst/lib/python3.5/site-packages/UM\Backend\Backend.py”, line 147 in storeOutputToLogThread File “D:\env\2.7\inst\lib\threading.py”, line 862 in run File “D:\env\2.7\inst\lib\threading.py”, line 914 in bootstrap_inner File “D:\env\2.7\inst\lib\threading.py”, line 882 in _bootstrap

Thread 0x000011e8 (most recent call first): File “C:\Program Files\Cura 2.7\plugins\USBPrinting\USBPrinterOutputDeviceManager.py”, line 88 in updateThread File “D:\env\2.7\inst\lib\threading.py”, line 862 in run File “D:\env\2.7\inst\lib\threading.py”, line 914 in bootstrap_inner File “D:\env\2.7\inst\lib\threading.py”, line 882 in _bootstrap

Thread 0x0000162c (most recent call first): File “D:\env\2.7\inst\lib\threading.py”, line 293 in wait File “D:\env\2.7\inst\lib\threading.py”, line 424 in acquire File “D:/2.7/build/inst/lib/python3.5/site-packages/UM\JobQueue.py”, line 86 in nextJob File “D:/2.7/build/inst/lib/python3.5/site-packages/UM\JobQueue.py”, line 116 in run File “D:\env\2.7\inst\lib\threading.py”, line 914 in bootstrap_inner File “D:\env\2.7\inst\lib\threading.py”, line 882 in _bootstrap

Thread 0x000014dc (most recent call first): File “D:\env\2.7\inst\lib\threading.py”, line 293 in wait File “D:\env\2.7\inst\lib\threading.py”, line 424 in acquire File “D:/2.7/build/inst/lib/python3.5/site-packages/UM\JobQueue.py”, line 86 in nextJob File “D:/2.7/build/inst/lib/python3.5/site-packages/UM\JobQueue.py”, line 116 in run File “D:\env\2.7\inst\lib\threading.py”, line 914 in bootstrap_inner File “D:\env\2.7\inst\lib\threading.py”, line 882 in _bootstrap

Thread 0x00001194 (most recent call first): File “D:\env\2.7\inst\lib\threading.py”, line 293 in wait File “D:\env\2.7\inst\lib\threading.py”, line 424 in acquire File “D:/2.7/build/inst/lib/python3.5/site-packages/UM\JobQueue.py”, line 86 in nextJob File “D:/2.7/build/inst/lib/python3.5/site-packages/UM\JobQueue.py”, line 116 in run File “D:\env\2.7\inst\lib\threading.py”, line 914 in bootstrap_inner File “D:\env\2.7\inst\lib\threading.py”, line 882 in _bootstrap

Thread 0x00001424 (most recent call first): File “D:\env\2.7\inst\lib\threading.py”, line 293 in wait File “D:\env\2.7\inst\lib\threading.py”, line 424 in acquire File “D:/2.7/build/inst/lib/python3.5/site-packages/UM\JobQueue.py”, line 86 in nextJob File “D:/2.7/build/inst/lib/python3.5/site-packages/UM\JobQueue.py”, line 116 in run File “D:\env\2.7\inst\lib\threading.py”, line 914 in bootstrap_inner File “D:\env\2.7\inst\lib\threading.py”, line 882 in _bootstrap

Thread 0x00001218 (most recent call first): File “D:\env\2.7\inst\lib\threading.py”, line 297 in wait File “D:\env\2.7\inst\lib\site-packages\zeroconf.py”, line 1569 in wait File “D:\env\2.7\inst\lib\site-packages\zeroconf.py”, line 1153 in run File “D:\env\2.7\inst\lib\threading.py”, line 914 in bootstrap_inner File “D:\env\2.7\inst\lib\threading.py”, line 882 in bootstrap

Thread 0x000008f4 (most recent call first): File “D:\env\2.7\inst\lib\threading.py”, line 297 in wait File “D:\env\2.7\inst\lib\site-packages\zeroconf.py”, line 1569 in wait File “D:\env\2.7\inst\lib\site-packages\zeroconf.py”, line 1017 in run File “D:\env\2.7\inst\lib\threading.py”, line 914 in bootstrap_inner File “D:\env\2.7\inst\lib\threading.py”, line 882 in bootstrap

Thread 0x00001350 (most recent call first): File “D:\env\2.7\inst\lib\site-packages\zeroconf.py”, line 946 in run File “D:\env\2.7\inst\lib\threading.py”, line 914 in bootstrap_inner File “D:\env\2.7\inst\lib\threading.py”, line 882 in bootstrap

Thread 0x00001198 (most recent call first): File “C:\Program Files\Cura 2.7\plugins\RemovableDriveOutputDevice\RemovableDrivePlugin.py”, line 58 in updateThread File “D:\env\2.7\inst\lib\threading.py”, line 862 in run File “D:\env\2.7\inst\lib\threading.py”, line 914 in bootstrap_inner File “D:\env\2.7\inst\lib\threading.py”, line 882 in _bootstrap

Thread 0x0000085c (most recent call first): File “D:\env\2.7\inst\lib\threading.py”, line 297 in wait File “D:\env\2.7\inst\lib\site-packages\zeroconf.py”, line 1569 in wait File “D:\env\2.7\inst\lib\site-packages\zeroconf.py”, line 1153 in run File “D:\env\2.7\inst\lib\threading.py”, line 914 in bootstrap_inner File “D:\env\2.7\inst\lib\threading.py”, line 882 in bootstrap

Thread 0x00001264 (most recent call first): File “D:\env\2.7\inst\lib\threading.py”, line 297 in wait File “D:\env\2.7\inst\lib\site-packages\zeroconf.py”, line 1569 in wait File “D:\env\2.7\inst\lib\site-packages\zeroconf.py”, line 1017 in run File “D:\env\2.7\inst\lib\threading.py”, line 914 in bootstrap_inner File “D:\env\2.7\inst\lib\threading.py”, line 882 in bootstrap

Thread 0x0000169c (most recent call first): File “D:\env\2.7\inst\lib\site-packages\zeroconf.py”, line 946 in run File “D:\env\2.7\inst\lib\threading.py”, line 914 in bootstrap_inner File “D:\env\2.7\inst\lib\threading.py”, line 882 in bootstrap

Thread 0x00001644 (most recent call first): File “D:\env\2.7\inst\lib\threading.py”, line 297 in wait File “D:\env\2.7\inst\lib\site-packages\zeroconf.py”, line 1569 in wait File “D:\env\2.7\inst\lib\site-packages\zeroconf.py”, line 1017 in run File “D:\env\2.7\inst\lib\threading.py”, line 914 in bootstrap_inner File “D:\env\2.7\inst\lib\threading.py”, line 882 in bootstrap

Thread 0x000016f4 (most recent call first): File “D:\env\2.7\inst\lib\site-packages\zeroconf.py”, line 946 in run File “D:\env\2.7\inst\lib\threading.py”, line 914 in bootstrap_inner File “D:\env\2.7\inst\lib\threading.py”, line 882 in bootstrap

Current thread 0x00000f4c (most recent call first): File “D:/2.7/build/inst/lib/python3.5/site-packages/cura\CrashHandler.py”, line 100 in show File “D:/2.7/build/inst/bin/cura_app.py”, line 45 in exceptHook File “D:/2.7/build/inst/lib/python3.5/site-packages/cura\CuraApplication.py”, line 676 in run File “D:/2.7/build/inst/bin/cura_app.py”, line 73 in <module> File “D:\env\2.7\inst\lib\site-packages\cx_Freeze\initscripts\Console.py”, line 24 in <module> File “<frozen importlib.bootstrap>”, line 634 in load_backward_compatible File “<frozen importlib.bootstrap>”, line 664 in load_unlocked File “<frozen importlib.bootstrap>”, line 958 in find_and_load_unlocked File “<frozen importlib.bootstrap>”, line 969 in find_and_load File “D:\env\2.7\inst\lib\site-packages\cx_Freeze\initscripts_startup__.py”, line 12 in <module> File “<frozen importlib.bootstrap>”, line 634 in load_backward_compatible File “<frozen importlib.bootstrap>”, line 664 in load_unlocked File “<frozen importlib.bootstrap>”, line 958 in find_and_load_unlocked File “<frozen importlib.bootstrap>”, line 969 in _find_and_load

Updated 10/08/2017 11:35 2 Comments

Incorrect layout on API 22

apptik/MultiSlider

styles.xml:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="multiSliderStyle">@style/Widget.MultiSlider</item>
</style>

<style name="Widget.MultiSlider" parent="android:Widget" />

Use the following without setting other attributes programmatically or in xml:

<io.apptik.widget.MultiSlider
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

Output:

screen shot 2017-08-09 at 10 43 11

Updated 15/08/2017 14:39 4 Comments

Fork me on GitHub